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.1

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.1.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.1-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: structocr-1.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 b75e42973965a4dda64c20ef3e50ce5c2fbe7e848617b3860af462678c23dd46
MD5 5b1529be6a35d5228c1f6c4cef9384a0
BLAKE2b-256 5f24650eaf83dbea68a9e6f515a684d1b55ce88562d37067e0b86a03368d93f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: structocr-1.3.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d48900896cf6e74e876daa2527439c35f4e5f3413fef80cd03024f642039fc04
MD5 761035ca5e530826c5773dcef0c88b1d
BLAKE2b-256 2ab7ebadb6b6742ee67d48713f5a00c85925db2ed7925dfc57506d01d63ee8e9

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