Panama Documento de Identidad OCR Python API
Instantly extract data from Panamanian Identity Cards (Documento de Identidad) using our robust API and Python wrapper.
Parsing Documento de Identidad Challenges
Extracting information from the Panamanian Documento de Identidad requires navigating specific layouts, reading Spanish date abbreviations (e.g., 'abr', 'dic'), and accurately capturing data fields issued by the Tribunal Electoral. Standard OCR engines often fail to normalize these regional nuances into standardized machine-readable formats.
Why StructOCR for Panama
StructOCR's model is specifically trained on a vast dataset of global ID images, ensuring superior accuracy for national id ocr processing. Built entirely as an API-first platform deployed on global Cloudflare Workers infrastructure, StructOCR guarantees ultra-low latency without the overhead of heavy SDKs. Our lightweight Python wrapper lets you effortlessly send file uploads, Base64 strings, or image URLs to fully automate your Panamanian verification workflows.
Common Use Cases in Panama
- Banking & Fintech Onboarding: Verify users instantly for digital banking, mobile wallets, and financial services in Panama City's financial hub.
- Logistics & Supply Chain: Automate driver and personnel identification at ports, warehouses, and the Panama Canal transit zones.
- Real Estate & Legal Tech: Streamline background checks and contract drafting by instantly digitizing client credentials.
Python API Integration
Install our lightweight Python API wrapper via pip: `pip install structocr`. Then use the following code.
Prerequisite: Python 3.6+ and `structocr` library installed.
from structocr import StructOCR
# 💰 Note: Deposit via Crypto (USDT/USDC) to automatically receive a 10% credit bonus.
# Initialize with your API Key
client = StructOCR("YOUR_API_KEY_HERE")
def scan_panama_id():
# Note: The API fully supports direct file uploads, Base64-encoded strings, and image URLs.
# Target: Documento de Identidad (Panama)
image_source = "panama_national_id.jpg"
try:
print(f"Scanning {image_source}...")
# The Python wrapper handles communication with our Cloudflare-powered API
result = client.scan_national_id(image_source)
# Check success flag (Returns a dict matching the JSON API response)
if result.get('success'):
data = result['data']
print("\u2705 Panama Extraction Successful!")
# Basic Identity
print(f"Region: {data.get('country_code')}")
print(f"Name: {data.get('given_names')} {data.get('surname')}")
# Critical Field: Document Number
print(f"Document No: {data.get('document_number')}")
# Demographics
print(f"DOB: {data.get('date_of_birth')} ({data.get('sex')})")
print(f"Issued by: {data.get('issuing_authority')}")
else:
print(f"\u274c Extraction Failed: {result.get('error')}")
except Exception as e:
# Handle API or Network errors
print(f"An error occurred: {e}")
if __name__ == "__main__":
scan_panama_id()Technical Specs
- •Latency: < 5s (Average, powered by Cloudflare)
- •Availability: Served from Cloudflare's global edge network
- •Security: AES-256 Encryption & SOC2 Compliant
- •Input: File Uploads, Base64 Strings, Image URLs (Max 4.5MB)
- •Output: JSON (Structured Data)
Key Features
- •Flexible Input Handling: Our API natively processes raw file uploads, Base64-encoded strings, and remote image URLs seamlessly.
- •Advanced Date Normalization: Intelligently parses Spanish abbreviations (e.g., 'abr', 'jul') and standardizes issue/birth dates into a clean `YYYY-MM-DD` format.
- •Authority Recognition: Reliably extracts issuing bodies like 'Tribunal Electoral' directly from the document.
- •Smart Crop & Blur Detection: Rejects blurry images and removes background noise automatically to ensure high precision.
JSON API Response Example
The API returns the following structured JSON data.
{
"success": true,
"data": {
"type": "national_id",
"country_code": "PAN",
"nationality": "Panamanian",
"document_number": "8-123-456",
"card_series": null,
"personal_number": null,
"surname": "Perez Garcia",
"given_names": "Juan Carlos",
"sex": "M",
"date_of_birth": "1985-10-15",
"place_of_birth": "PANAMÁ",
"address": null,
"date_of_issue": "2020-05-10",
"date_of_expiry": "2035-05-10",
"issuing_authority": "Tribunal Electoral",
"additional_fields": {
"phone_number": null,
"tramite_number": null,
"ejemplar": null,
"mrz_line_1": null,
"mrz_line_2": null,
"mrz_line_3": null
}
}
}Frequently Asked Questions
Can I test the API with my own images for free?
Yes! You can easily create an account and utilize our free tier to upload and test your own Documento de Identidad images directly via the API.
Do I need to use an SDK to access the OCR engine?
No, StructOCR is built as a highly accessible API platform. While we offer lightweight wrappers for languages like Python, you can integrate directly via standard HTTP requests using file uploads, Base64 payloads, or URLs.
Is user data stored on your servers?
Only briefly. Uploaded images and results are kept for at most 24 hours for quality spot-checks, then deleted.
How to handle errors?
The JSON API response contains a 'success' boolean and an 'error' code (e.g., INVALID_BASE64, FILE_TOO_LARGE) if the request fails.
You May Also Like
Related tutorials, platform guides, and comparisons
Morocco Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Morocco passports with a server-side integration.
Netherlands Identiteitskaart OCR Python SDK
Python Tutorial: Automate KYC in Netherlands. Extract data from Identiteitskaart using StructOCR Python SDK. Supports native text and MRZ extraction.
Indian Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Indian passports with a server-side integration.
Côte d'Ivoire Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Côte d'Ivoire passports with a server-side integration.
Ukraine Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Ukraine passports with a server-side integration.
Slovakia Občiansky preukaz OCR Python SDK
Python Tutorial: Automate KYC in Slovakia. Extract data from Občiansky preukaz using StructOCR Python SDK. Supports native text and MRZ extraction.
Spain DNI (DNIe) OCR Python SDK
Python Tutorial: Automate KYC in Spain. Extract data from DNI (DNIe) using StructOCR Python SDK. Supports native text and MRZ extraction.
Switzerland ID Card OCR Python SDK
Python Tutorial: Automate KYC in Switzerland. Extract data from the Swiss Identity Card (Identitätskarte) using StructOCR Python SDK. Supports multi-lingual text and MRZ extraction.
Tajikistan ID Card (Karta) OCR Python SDK
Python Tutorial: Automate KYC in Tajikistan. Extract data from ID Card (Karta) using StructOCR Python SDK. Supports native text and MRZ extraction.
Thailand ID Card OCR Python SDK
Python Tutorial: Automate KYC in Thailand. Extract data from the Thai National Identity Card using StructOCR Python SDK. Supports Thai script, dual-language fields, and 13-digit Citizen ID extraction.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Add Invoice OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR invoice API into a Replit application. Build accounts payable and expense tracking tools using Replit Agent and Secrets.
Add National ID OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR National ID scanner API into a Replit application. Build KYC and identity verification flows using Replit Agent and Secrets.
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.
Add Receipt OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR receipt API into a Replit application. Build expense tracking and receipt scanning tools using Replit Agent and Secrets.
Add VIN OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR VIN scanner API into a Replit application. Build automotive and fleet tools using Replit Agent and Secrets.
Single-Page MRZ SDKs vs. Dual-Page Indian KYC API
Why traditional MRZ scanners fail at full Indian Passport verification, and how to process both the front identity page and the back address page in a single API call.
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.