Indian Passport OCR for KYC & AML

Accelerate user onboarding for FinTechs and banks with financial-grade OCR that securely processes both front and back pages of Indian passports in milliseconds.

Financial-grade extraction of Indian Passport details for KYC compliance.

The Friction of Dual-Sided Verification

Financial institutions in India require both identity verification (front page MRZ) and relationship/address verification (back page) to meet stringent RBI KYC norms. Relying on manual data entry for these Officially Valid Documents (OVDs) creates massive onboarding friction, high abandonment rates, and severe operational bottlenecks. For a broader look at comprehensive compliance strategies across borders, explore our travel identity verification solutions.

StructOCR: Unified Dual-Page Processing

Powered by our core Passport OCR engine, you can deploy a unified API that seamlessly validates the front page and extracts critical data from the back page. Our engine is purpose-built for financial technology, combining high-speed Cloudflare edge processing with a strict zero-data-retention architecture to ensure your KYC pipeline is both frictionless for users and fully compliant with anti-money laundering (AML) standards.

Live Demo: Passport scanner

No registration required. Upload a file to test the extraction.

1
Upload
2
Results

Drop files here or click to browse

JPG · PNG · WebP  ·  up to 500 files · max 4.5 MB each

No files selected
Need more testing? Create a free account to get 200 free credits (equals 100 Passport scans).

Core Industry Applications

Crypto Wallet & Exchange Onboarding

Verify international users instantly. Combine our API with your existing flows and scale globally with borderless Crypto/USDT payment support for SaaS teams. View our API pricing.

Neo-Bank Account Creation

Process front and back passport images to extract complete KYC profiles without human intervention, drastically reducing Time-to-First-Transaction (TTFT).

Remittance Services

Fulfill strict AML requirements for cross-border money transfers by validating the sender's core identity and permanent address simultaneously.

Brokerage & Trading Apps

Accelerate demat account openings by automating the extraction of required OVD data points—such as Father's Name and File Number—from uploaded passport scans.

Technical Specs

  • Edge Deployment: Infrastructure deployed on Cloudflare for ultra-low latency globally.
  • Compliance First: API design supports RBI and international AML processing standards with zero data retention.
  • Base64 & File Native: Send data streams natively without intermediary public cloud storage URLs.
  • API-First Architecture: Pure REST API eliminates SDK version conflicts and mobile app bloat.

Key Features

  • Cross-Verification Ready: Extract File Numbers from the back page to automatically cross-reference with internal banking systems.
  • Comprehensive KYC Data: Reliably pulls Father's Name, Mother's Name, Spouse's Name, and complete address structures.
  • High Throughput: Auto-scaling inference models designed to handle thousands of concurrent FinTech onboarding requests.

Integration & AI Prompts

StructOCR is intentionally API-first, eliminating SDK bloat. Securely pass raw files or Base64 image data directly to our endpoints to keep sensitive PII off public URLs. For detailed integration architecture, consult our official Passport OCR Developer Documentation.

import requests
import base64

# 📚 Developer Docs: https://structocr.com/developers/passport-ocr

# Note: StructOCR natively supports File Uploads, Base64-encoded strings,
# and direct Image URLs without requiring an SDK.

with open("kyc_passport_back.jpg", "rb") as image_file:
    base64_image = base64.b64encode(image_file.read()).decode('utf-8')

url = "https://api.structocr.com/v1/passport/india/back-page"
headers = {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "img": base64_image
}

try:
    # Processed at the edge and instantly purged (Zero Data Retention)
    print("Processing KYC Document...")
    response = requests.post(url, headers=headers, json=payload)
    result = response.json()

    if result.get('success'):
        print("✅ KYC Data Securely Extracted!\n")
        
        # Extract Core Identity Information
        core_data = result['data']
        print(f"Name:         {core_data.get('given_names')} {core_data.get('surname')}")
        print(f"Passport No:  {core_data.get('passport_number')}")
        
        # Extract India-Specific KYC Data (Address & Relationships)
        back_page = core_data['country_specific']['last_page']
        print(f"Address:      {back_page.get('address')}")
        print(f"Father Name:  {back_page.get('father_name')}")
        print(f"File No:      {back_page.get('file_no')}")
    else:
        print(f"❌ Extraction Failed: {result.get('error')} - {result.get('message')}")
except Exception as e:
    print(f"Error: {e}")

Standardized JSON Output

Receive all requisite KYC data points neatly mapped in milliseconds, ready for immediate database insertion.

{
  "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

Is this suitable for Video KYC (V-CIP) processes?

Absolutely. The API is deployed on edge networks optimized for speed and can process high-resolution frames captured during Video KYC sessions in under 1.2s.

Can we cross-verify the front and back pages?

Yes. By utilizing our API to extract data from both images, your backend can build automated logic to ensure the document holder's details (like old passport numbers or file numbers) match perfectly, enhancing your AML fraud detection.

Do you provide SDKs for mobile?

We operate exclusively as an API-first platform. This is intentional: it prevents SDK bloat in your mobile app and avoids versioning conflicts. You can easily integrate our endpoints natively using standard HTTP libraries in React Native, Flutter, or native iOS/Android, sending files or Base64 directly.

Explore More Travel & KYC Solutions

SOLUTION

Indian Passport Family Details OCR

Extract Father, Mother, and Spouse names from the back page of Indian passports for background verification. Zero-retention API-first integration.

Travel & KYC
SOLUTION

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.

Travel & KYC
SOLUTION

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.

Travel & KYC
SOLUTION

Proof of Address (PoA) OCR API

Automate PoA verification. Extract and validate permanent residential addresses from Indian passport back pages. Zero-retention API-first integration.

Travel & KYC
SOLUTION

Remote Hiring Identity OCR API

Automate global remote hiring with our zero-retention identity OCR API. Extract passport data securely without SDKs. Upload an image to test our free live demo.

Travel & KYC
SOLUTION

REST API for Global Passport MRZ

Extract global passport MRZ data instantly via our fast, zero-retention REST API. No SDK required. Upload an image to test our live demo for free.

Travel & KYC
SOLUTION

Right-to-Work Passport Verification API

Automate global HR compliance. Extract passport data instantly with our zero-retention OCR API. No SDK required. Upload an image to test our free live demo.

Travel & KYC
SOLUTION

Zero-Retention Passport OCR for Neo-Banks

Secure your digital onboarding with our zero-retention passport OCR API for neo-banks. Process global KYC data in-memory. Upload an image to test free.

Travel & KYC
SOLUTION

Automated Hotel Check-In Passport Scanner API

Streamline hotel check-ins with our automated passport scanner API. Extract global guest data instantly without SDKs. Upload an image to test our free live demo.

Travel & KYC
SOLUTION

Crypto KYC Passport API (No SDK Required)

Zero-retention Passport OCR API for Web3 and Crypto KYC. Extract global MRZ and VIZ data instantly without SDK bloat. Upload an image to test our free live demo.

Travel & KYC

Technical Comparisons & Integrations

Explore platform integrations and competitive analysis

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.

Instant Access Cancel Anytime 99.9% Uptime