Crypto KYC Passport API (No SDK Required)
Accelerate Web3 user onboarding globally. Extract passport MRZ and visual data instantly via a pure REST API: no SDK app bloat, and images are deleted within 24 hours.
200 free credits = 100 Passport scans, no credit card. Then from $5 for 500 credits, pay as you go. See pricing

The Nightmare of Heavy KYC SDKs
For Web3 companies, integrating traditional KYC solutions often means wrestling with bulky, proprietary SDKs. These SDKs inflate mobile app sizes, cause endless version conflicts in cross-platform frameworks like React Native or Flutter, and introduce severe data privacy concerns by routing user images through black-box servers. For a broader look at modern, frictionless onboarding strategies, explore our travel identity verification solutions.
StructOCR: The API-First Alternative
We completely eliminated the SDK. Powered by our core Passport OCR engine, StructOCR delivers a pure, lightweight REST API. By natively supporting Base64 strings and direct file uploads, your developers maintain 100% control over the UI and data flow. Hosted on Cloudflare's ultra-fast edge network, we keep your users' KYC images for at most 24 hours for quality spot-checks, then delete them.
Live Demo: Passport scanner
No registration required. Upload a file to test the extraction.
Drop files here or click to browse
JPG · PNG · PDF · TIFF · up to 500 files · max 4.5 MB each
No document handy?
Core Web3 Applications
Global Crypto Exchanges (CEX)
Onboard users from 195+ countries in seconds. We are built for global SaaS operators and natively accept USDT/USDC payments to bypass traditional fiat friction. View our transparent API pricing.
DeFi Wallets & DApps
Implement seamless identity verification directly within your React Native or Flutter apps using standard HTTP fetch requests—no native code linking required.
Token Sales & Launchpads
Handle massive, unpredictable spikes in traffic during ICOs or IDOs with our highly scalable Cloudflare edge architecture.
NFT Marketplaces
Verify creators and high-volume traders instantly to prevent fraud and maintain platform integrity without disrupting the UX.
Technical Specs
- API-First Architecture: 100% RESTful integration. Eliminates SDK version conflicts in modern JS frameworks.
- Base64 Native: Stream image data directly from client to server without exposing PII on public cloud storage buckets.
- Edge Processing: Sub-1.2s latency globally, powered by Cloudflare's distributed edge network.
- Strict Normalization: All dates are returned in reliable ISO 8601 (`YYYY-MM-DD`) format for deterministic backend validation.
Key Features
- MRZ + VIZ Dual Engine: Automatically extracts the Machine Readable Zone and falls back to the Visual Inspection Zone for damaged documents.
- 195+ Countries Supported: Seamlessly handles non-standard layouts and complex background guilloche patterns globally.
- 24-Hour Data Retention: Images and results are deleted within 24 hours, which helps with GDPR obligations.
Integration & AI Prompts
Skip the SDK installation. Call the API directly using raw files or Base64 strings. For complete schema details, consult our Passport OCR Developer Documentation.
import requests
import base64
# 📚 Developer Docs: https://structocr.com/developers/passport-ocr
# Note: StructOCR is strictly API-first. Send Base64 directly
# from your Node.js backend or Cloudflare Worker—no SDK required.
with open("user_passport.jpg", "rb") as image_file:
base64_image = base64.b64encode(image_file.read()).decode('utf-8')
url = "https://api.structocr.com/v1/passport"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"img": base64_image
}
try:
# Processed securely at the edge; images are deleted within 24 hours
print("Authenticating Web3 User...")
response = requests.post(url, headers=headers, json=payload)
result = response.json()
if result.get('success'):
print("✅ KYC Extraction Complete!\n")
# Extract ISO 8601 normalized data for your smart contracts/backend
core_data = result['data']
print(f"Name: {core_data.get('given_names')} {core_data.get('surname')}")
print(f"ID No: {core_data.get('passport_number')}")
print(f"DOB: {core_data.get('date_of_birth')} (ISO 8601)")
print(f"Expiry: {core_data.get('date_of_expiry')} (ISO 8601)")
else:
print(f"❌ Extraction Failed: {result.get('error')} - {result.get('message')}")
except Exception as e:
print(f"Error: {e}")Standardized JSON Output
Receive deterministic, cleanly structured data ready for immediate verification against global AML watchlists.
{
"success": true,
"data": {
"type": "passport",
"country_code": "IND",
"nationality": "INDIAN",
"passport_number": "Z1234567",
"surname": "SHARMA",
"given_names": "RAHUL",
"sex": "M",
"date_of_birth": "1988-07-22",
"place_of_birth": "NEW DELHI",
"date_of_issue": "2021-04-10",
"date_of_expiry": "2031-04-09",
"issuing_authority": "MINISTRY OF EXTERNAL AFFAIRS",
"country_specific": {
"last_page": {
"father_name": "AMIT SHARMA",
"mother_name": "SITA SHARMA",
"spouse_name": "PRIYA SHARMA",
"address": "FLAT 4B, GREENWOOD APARTMENTS, NEW DELHI PIN: 110001, INDIA",
"old_passport_number": "P7654321",
"old_passport_issue_date": "2010-01-05",
"old_passport_issue_place": "DELHI",
"file_no": "DL1076071103622",
"ecr_status": null
}
}
}
}Frequently Asked Questions
Why is an API-first approach better than an SDK for Web3 apps?
Third-party SDKs bloat your application size, frequently break during OS updates (iOS/Android), and are notoriously difficult to maintain in cross-platform environments like React Native or Flutter. Our API-first approach allows you to build a fully custom UI using standard HTTP libraries, providing maximum flexibility and security.
Do you accept cryptocurrency for API subscriptions?
Yes! As a platform designed for global digital businesses, we natively support USDT and USDC payments alongside traditional credit cards via Stripe, eliminating cross-border friction.
How do you handle data privacy for sensitive KYC documents?
Images are kept for at most 24 hours for quality spot-checks, then deleted. By accepting raw Base64 strings or file uploads, you never need to host sensitive images on public URLs. Data is processed at our edge nodes and kept for at most 24 hours for quality spot-checks, then deleted.
Explore More Travel & KYC Solutions
DPDP Compliant Indian Passport OCR API
DPDP-friendly OCR API for Indian passports, with 24-hour data retention. Securely extract back-page PII (Address, Parents' Names) for KYC workflows. File, Base64, and URL supported.
GDPR Compliant Passport OCR API
Extract passport data securely with our OCR API; images are deleted within 24 hours. Upload an image to test our free live demo.
India Passport Address Extraction API
Extract highly complex address blocks and PII from Indian passport back pages. OCR API built for global KYC workflows, with 24-hour data retention. Supports Base64, URLs, and direct file uploads.
Indian Passport OCR for KYC
Automate digital KYC. Extract MRZ, family, and address details from Indian Passports for RBI compliance. Upload a test image for a free live API demo.
Indian Passport Family Details OCR
Extract Father, Mother, and Spouse names from the back page of Indian passports for background verification. API-first integration with 24-hour data retention.
ISO 8601 Passport Date Parsing API
Stop writing complex regex. Automatically extract and normalize passport dates to strict ISO 8601 (YYYY-MM-DD) format. Upload an image to test our free live demo.
Passport VIZ Extraction API for Airlines
Automate airline check-ins by extracting both MRZ and VIZ passport data instantly via a pure REST API. Upload an image to test our free live demo today.
Proof of Address (PoA) OCR India
Automate PoA verification. Extract and validate permanent residential addresses from Indian passport back pages. API-first integration with 24-hour data retention.
Remote Hiring Identity OCR API
Automate global remote hiring with our identity OCR API; images are deleted within 24 hours. Extract passport data securely without SDKs. Upload an image to test our free live demo.
REST API for Global Passport MRZ
Extract global passport MRZ data instantly via our fast REST API. No SDK required. Upload an image to test our live demo for free.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Tesseract & PassportEye vs. StructOCR Passport API
A technical evaluation for developers deciding between open-source MRZ scanners and a dedicated cloud-based Passport OCR API.
Add Passport OCR to Your v0 App in 5 Minutes
Step-by-step guide to integrating the StructOCR Passport scanner API into a v0 by Vercel app through a secure Next.js server route.
AWS Textract vs. StructOCR API for Indian Passport Back Page Extraction
Why generic OCR fails at parsing the back page of Indian passports, and how a dedicated KYC API instantly extracts structured addresses, PIN codes, and family details.
AWS Textract & Google Vision vs. StructOCR Passport API
How AWS Textract AnalyzeID, Google Cloud Vision OCR, and the StructOCR Passport API differ for passport data, quoting each vendor’s own documentation.
Add Passport OCR to Your Bolt.new App in 5 Minutes
Step-by-step guide to integrating the StructOCR Passport scanner API into a Bolt.new app. Build travel, hospitality, and global KYC flows right in your browser.
Add Passport OCR using Cursor in 5 Minutes
Step-by-step guide to integrating the StructOCR Passport scanner API using the Cursor AI code editor. Build travel, hospitality, and global KYC flows rapidly.
From tutorial to production in 5 minutes.
You've seen the code. Now get your API key, grab your 200 free credits, and see it work with your own images. No credit card required.