Skip to main content

The official Python SDK for StructOCR API - Passport, ID card, Driver License OCR, Invoice, Receipts, VIN, HIN and Container OCR.

Project description

StructOCR Python SDK

PyPI version License: MIT

The official Python client for StructOCR.

StructOCR is a powerful API tailored for developers to extract structured data from complex documents and physical assets with high accuracy. This SDK helps you integrate Passport OCR, National ID OCR, Driver License OCR, Invoice OCR, Receipt OCR, VIN OCR, HIN OCR, and Container OCR into your Python applications in minutes.

👉 Get your Free API Key here


🚀 What's New in 1.3.0

We've massively upgraded our Identity Verification engine!

  • Hybrid VIZ + MRZ AI for National IDs: The SDK now automatically cross-validates unstructured Visual Zone (VIZ) data against cryptographic Machine Readable Zone (MRZ) checksums (TD1/TD2) for zero hallucination. Raw MRZ lines are now accessible via additional_fields.
  • Previous marine & expense additions (Receipt OCR, HIN OCR, Container OCR) remain fully supported.

Check out the Quick Start below to see how easy it is to use them!


Features

  • Passport OCR API: Instantly extract MRZ, name, DOB, and expiry date from passports of 200+ countries.
  • National ID OCR: Extract regional specific fields (CNP, CPF, NIN) and raw ICAO 9303 MRZ lines with hybrid validation.
  • Driver License OCR: Extract vehicle class, license number, and personal details.
  • Invoice OCR: Extract invoice number, currency, merchant, customer, and financial totals.
  • Receipt OCR: Extract merchants, dates, line items, taxes, and totals for expense management.
  • VIN OCR: Extract VIN (Vehicle Identification Number) from windshield or engine bay images.
  • HIN OCR: Validate and extract Hull Identification Numbers from marine vessels.
  • Container OCR: Extract shipping container numbers accurately from images.
  • Secure & Fast: Enterprise-grade encryption, SOC2 compliance, and sub-second response times with zero data retention.

Installation

Install the package via pip:

pip install structocr

Quick Start

1. Initialize the Client

from structocr import StructOCR

# Initialize with your API Key
client = StructOCR(api_key="sk_live_xxxxxxxx")

2. Scan a Passport (Passport OCR)

# Pass the path to the passport image file
result = client.scan_passport('./docs/passport_sample.jpg')

print(f"Name: {result['data']['name']}")
print(f"Passport Number: {result['data']['document_number']}")

3. Scan Other Documents and Assets

# National ID OCR
id_data = client.scan_national_id('./docs/id_card.png')

# Driver License OCR
license_data = client.scan_driver_license('./docs/license.jpg')

# Invoice OCR
invoice_data = client.scan_invoice('./docs/invoice.jpg')

# Receipt OCR (New in 1.2.0)
receipt_data = client.scan_receipt('./docs/receipt.jpg')

# VIN OCR
vin_data = client.scan_vin('./docs/vin.jpg')

# HIN OCR (New in 1.2.0)
hin_data = client.scan_hin('./docs/boat_hin.jpg')

# Container OCR
container_data = client.scan_container('./docs/container.jpg')

Documentation

For full API documentation, response examples, and error codes, please visit the StructOCR Developer Docs.

Requirements

  • Python 3.7+
  • requests library

License

MIT License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

structocr-1.3.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

structocr-1.3.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file structocr-1.3.0.tar.gz.

File metadata

  • Download URL: structocr-1.3.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for structocr-1.3.0.tar.gz
Algorithm Hash digest
SHA256 2abaabfae6efcbee50960bcbd51c3f3b550dded5813b9d0d78e01cf4989f3919
MD5 c775f3236788b9f1f81e2b0602215e0b
BLAKE2b-256 bc55dee71d2622b34486c024909c0f0cf49e324ebbe70a6cade3bfa4217c2832

See more details on using hashes here.

File details

Details for the file structocr-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: structocr-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for structocr-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e33bdccaaf110eede526c17733a292abca15507f4b64e7042b495796e6790587
MD5 15e8173f3c29bd800d37b574fd36783e
BLAKE2b-256 430461ff952accf3c0bba82a86b0a46066b6e4a740ed0f0a8327400771e6ec35

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page