India Passport Address Extraction API
Automate data entry by perfectly extracting complex, unstandardized address blocks and family details from Indian passport back pages. Built on a zero-retention edge architecture.

The Challenge of Unstandardized Address Formats
Indian passport bottom pages contain critical data for Proof of Address (PoA), but the unstandardized formatting, erratic line breaks, and dense abbreviations make traditional OCR engines fail. Furthermore, handling this sensitive Personally Identifiable Information (PII) presents massive regulatory risks under India's DPDP Act if data is persisted on vendor servers. For a broader look at comprehensive compliance strategies, explore our travel identity verification solutions.
StructOCR: Context-Aware Edge Parsing
Our specialized NLP engine doesn't just read raw text; it is trained specifically on the typography and layout quirks of Indian passports. Powered by our core Passport OCR engine, it precisely captures the entire address block, PIN codes, and family names regardless of line breaks. More importantly, StructOCR runs on a strict "process-and-forget" architecture—processing your Base64 inputs entirely in-memory at the edge without ever saving your users' images to a physical disk.
Live Demo: Passport scanner
No registration required. Upload a file to test the extraction.
Drop files here or click to browse
JPG · PNG · WebP · up to 500 files · max 4.5 MB each
Core Industry Applications
Global Fintech & Neo-Banking
Scale cross-border user onboarding securely. We support seamless API integration and accept Crypto/USDT payments to bypass traditional financial friction for global SaaS teams. View our transparent pricing.
Telecom SIM Activation
Instantly verify proof of address (PoA) for new SIM card issuances directly from uploaded passport scans, eliminating manual typing errors.
E-Commerce Logistics
Capture the exact permanent address from the passport back page during seller KYC, ensuring accurate geographic routing and compliance.
Real Estate & Leasing KYC
Seamlessly extract tenant or buyer background details, including Father's Name and complete residential address, into your CRM instantly.
Technical Specs
- Zero Data Retention: Fully compliant with DPDP; images and JSON are purged instantly from RAM after edge processing.
- Input Versatility: Natively supports direct file uploads and Base64 strings, completely eliminating the need for public image URLs.
- API-First Architecture: No heavy SDK wrappers required. Implement using pure HTTP requests in any language.
- Cloudflare Edge Routing: Optimized inference models ensure rapid processing times under 1.2s.
Key Features
- Full Address Block Capture: Accurately extracts the entire unstandardized address string, preserving the embedded PIN code and geographic markers.
- Family Details Validation: Captures Father's Name, Mother's Name, and Spouse's Name accurately from dense back-page layouts.
- Format Support: Accepts raw Base64 or Data URIs (JPG, PNG, WebP up to 4.5MB).
Integration & AI Prompts
StructOCR is intentionally API-first, meaning no bulky SDKs to maintain. Call the endpoint directly via Base64 to keep sensitive data off public networks. 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 is strictly API-first. It natively supports File Uploads,
# Base64-encoded strings, and direct Image URLs without requiring an SDK.
with open("indian_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 from memory (DPDP Compliant)
print("Extracting Indian Passport Data...")
response = requests.post(url, headers=headers, json=payload)
result = response.json()
if result.get('success'):
print("✅ Secure Extraction Complete!\n")
# Extract Core 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 Back Page Data (Address & Family)
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
Securely receive the structured payload containing both core identity data and deep back-page parameters.
{
"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
Do you provide an SDK for mobile integration?
StructOCR is intentionally designed as an API-first platform rather than providing proprietary SDKs. This allows you to use your preferred language wrappers and eliminates app size bloat, while natively supporting file uploads and Base64 directly from your backend.
Can the API handle blurry or skewed back page images?
Yes. Our pre-processing pipeline includes automatic deskewing and contrast enhancement to handle the low-quality smartphone captures typical in real-world field operations.
Do I need to host the image and send a URL?
No. For maximum privacy and DPDP compliance, we strongly recommend passing the image as a Base64 encoded string or via direct multipart file upload. This keeps sensitive address data completely off public cloud storage buckets.
Explore More Travel & KYC Solutions
Indian Passport OCR for KYC & AML
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. Zero-retention API-first integration.
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 API
Automate PoA verification. Extract and validate permanent residential addresses from Indian passport back pages. Zero-retention API-first integration.
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.
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.
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.
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.
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.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Extracting ECR Status & File Numbers: Generic OCR vs. StructOCR Indian Passport API
Learn why generic text extractors fail to capture critical Indian KYC fields like ECR status and File Numbers, and how a specialized API structures this data automatically.
Heavy KYC SDKs vs. StructOCR Passport API for Mobile Apps
Discover why modern app developers are abandoning bulky on-device OCR SDKs in favor of lightweight, edge-deployed Passport APIs.
Add Passport OCR to Your Lovable.dev App in 5 Minutes
Step-by-step guide to integrating the StructOCR Passport scanner API into a Lovable.dev app through a secure server-side function for travel and KYC flows.
Add Passport OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR Passport scanner API into a Replit application. Build travel, hospitality, and global KYC flows using Replit Agent and Secrets.
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.
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.