Proof of Address (PoA) OCR API

The most reliable way to digitize and verify permanent addresses for telecom, banking, and real estate onboarding in India. Built on a zero-retention edge architecture.

Extracting Proof of Address details from an Indian Passport.

The Cost of Manual PoA Verification

Manual verification of Proof of Address documents is slow, error-prone, and creates massive friction during customer onboarding, leading to high drop-off rates. When users upload the back page of an Indian passport as their PoA, human operators often struggle to decipher faint print, complex local formatting, and varied address lengths. For a broader look at modernizing global user onboarding, explore our travel identity verification solutions.

StructOCR: Instant PoA Digitization

Powered by our core Passport OCR engine, you can instantly convert the passport back page into a clean digital address block. Deployed on secure Cloudflare edge nodes, our API acts as a seamless, process-and-forget bridge between raw document uploads and your backend logic. By natively supporting Base64 and direct file uploads without relying on restrictive SDKs, we ensure sensitive PoA documents are never exposed on public URLs.

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

Utility & Telecom Providers

Verify residential addresses instantly for new connections. We support borderless USDT/Crypto payments for global SaaS operators to bypass financial friction. View our straightforward API pricing.

Insurance Underwriting

Automate the collection of permanent address data required for policy issuance and claims processing without persisting sensitive user images.

Vehicle Registration & Financing

Extract buyer addresses accurately for RTO documentation and cross-border auto loan approvals seamlessly.

Crypto & Neo-Bank KYC

Eliminate manual address entry for compliance agents processing high-volume KYC workflows globally.

Technical Specs

  • Secure Payload Handling: Natively process documents via Base64 or file uploads to bypass public URL generation entirely.
  • Contextual Address Parsing: Deep NLP engine accurately captures the entire unstandardized address block regardless of line breaks.
  • Edge Architecture: 99.9% availability and < 1.2s latency powered by Cloudflare's global edge network.
  • Privacy Shield: Zero data retention. Images and JSON are purged from RAM immediately after processing.

Key Features

  • Comprehensive Block Capture: Reliably pulls the entire residential address string including embedded PIN codes and geographic markers.
  • API-First Architecture: Pure HTTP integration completely eliminates SDK bloat and version conflicts.
  • Format Support: Accepts raw Base64 or Data URIs (JPG, PNG, WebP up to 4.5MB).

Integration & AI Prompts

StructOCR is API-first, eliminating the need for bulky SDKs. Send Base64 encoded PoA documents directly for secure edge processing. For full schema details, see our 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("poa_document.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 in-memory at the edge with zero data retention
    print("Processing Proof of Address...")
    response = requests.post(url, headers=headers, json=payload)
    result = response.json()

    if result.get('success'):
        print("✅ Secure PoA Extraction Complete!\n")
        
        # Core Identity
        core_data = result['data']
        print(f"Applicant: {core_data.get('given_names')} {core_data.get('surname')}")
        
        # Full Address Block from Back Page
        back_page = core_data['country_specific']['last_page']
        print(f"Address:   {back_page.get('address')}")
    else:
        print(f"❌ Extraction Failed: {result.get('error')} - {result.get('message')}")
except Exception as e:
    print(f"Error: {e}")

Standardized JSON Output

Get exactly the structured address components you need for PoA validation, perfectly nested for your database.

{
  "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 support base64 image uploads without an SDK?

Yes, StructOCR is strictly API-first. We highly recommend using base64 encoded strings or direct file uploads via standard HTTP POST requests to avoid exposing sensitive PoA documents via public URLs.

How does the API handle complex, multi-line Indian addresses?

Our models are specifically trained on the layout typography of Indian passports. It captures the entire address block with high fidelity, regardless of erratic line breaks or dense abbreviations.

Can it process old handwritten passports?

Our models are optimized for modern, machine-printed passports. Handwritten documents yield significantly lower accuracy and are not officially supported for automated PoA validation.

Explore More Travel & KYC Solutions

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
SOLUTION

DPDP Compliant Indian Passport OCR

DPDP-compliant, zero data retention OCR API for Indian passports. Securely extract back-page PII (Address, Parents' Names) for KYC workflows. File, Base64, and URL supported.

Travel & KYC
SOLUTION

GDPR-Compliant Passport Data Extraction

Extract passport data securely with our GDPR-compliant, zero-retention OCR API. No data stored or logged. Upload an image to test our free live demo.

Travel & KYC
SOLUTION

India Passport Address Extraction API

Extract highly complex address blocks and PII from Indian passport back pages. Zero-retention OCR API built for global KYC workflows. Supports Base64, URLs, and direct file uploads.

Travel & KYC
SOLUTION

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.

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