Portugal Passport OCR with the StructOCR Python SDK
Install the official Python SDK, extract validated Portugal passport fields, and add the same workflow to a FastAPI service.

Challenges with Portugal Passport Verification
Extracting accurate data from Portuguese passports presents unique challenges. The high-security features, embedded holograms, and potential for glare on the laminate can often obscure critical information, making manual entry or basic OCR solutions prone to errors. For reliable data capture, a specialized passport extraction api is essential to overcome these obstacles.
Why StructOCR for Portugal Passports
StructOCR offers unparalleled accuracy for Portuguese passport data extraction. Our advanced AI models are specifically trained to handle the nuances of these documents, minimizing errors even with challenging lighting conditions or complex backgrounds. You can integrate our powerful passport extraction api directly into your workflows, or leverage our comprehensive fintech identity verification software suite for end-to-end KYC processes. For the fastest Python integration, install the official StructOCR SDK and see the Python SDK documentation.
Built for High-Compliance Industries
- Travel & Aviation: Our system provides a crucial verification solution for travel, enabling faster passenger processing at check-in and boarding gates for Portuguese citizens. This significantly enhances the customer experience and operational efficiency.
- Financial Services: By utilizing our fintech identity verification software, financial institutions can automate the onboarding of new customers with Portuguese passports. This streamlines the KYC compliance process, reducing manual effort and accelerating account activation.
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
Portugal Passport OCR with the Python SDK
The official Python SDK handles file encoding, API communication, and structured passport results. Use the SDK directly or open the FastAPI tab for a server endpoint. Keep your API key in STRUCTOCR_API_KEY.
Prerequisite: `pip install structocr`; set the server-side `STRUCTOCR_API_KEY` environment variable.
Prefer another stack? Open the Node.js SDK + Express integration.
import os
from structocr import StructOCR
# Initialize StructOCR Client
client = StructOCR(os.environ["STRUCTOCR_API_KEY"])
def scan_portugal_passport():
image_path = "portugal_passport_sample.jpg"
try:
print(f"Scanning {image_path}...")
result = client.scan_passport(image_path)
if result.get('success'):
data = result['data']
print("✅ Passport Extraction Successful!")
print(f"Passport #: {data.get('passport_number')}")
print(f"Name: {data.get('given_names')} {data.get('surname')}")
print(f"Nationality: {data.get('nationality')}")
print(f"DOB: {data.get('date_of_birth')}")
else:
print(f"❌ Extraction Failed: {result.get('error')}")
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
scan_portugal_passport()Technical Specs
- •Latency: < 4s (Average)
- •Uptime: 99.9% SLA
- •Security: AES-256 Encryption & SOC2 Compliant
- •Input: JPG, PNG, WebP, PDF (Max 4.5MB)
- •Output: JSON (Structured Data)
Key Features
- •Document Localization: Auto-detects passport boundaries and cropping.
- •Visual Extraction (VIZ): Reliably extracts data directly from the visual inspection zone.
- •Glare Reduction: Automatically corrects lighting issues and reflections.
- •Multilingual Support: Reads both English and local native scripts.
JSON Response Example
The Python SDK returns a dictionary matching this normalized JSON structure.
{
"success": true,
"data": {
"type": "passport",
"country_code": "PRT",
"nationality": "PRT",
"passport_number": "L123456",
"surname": "FERREIRA",
"given_names": "MARIA",
"sex": "M",
"date_of_birth": "1986-06-05",
"place_of_birth": "LISBON",
"date_of_issue": "2020-01-01",
"date_of_expiry": "2026-06-04",
"issuing_authority": "IRN"
}
}Frequently Asked Questions
Is there an official SDK for Node.js?
Yes. StructOCR publishes official Python and Node.js SDKs. Installation links and source documentation are available in the Developer SDK section. Other languages can use the REST API.
Does it work with older passport formats?
Yes, our OCR passport software is trained to handle both legacy and modern passport layouts globally. This makes our ocr passport sdk a versatile tool.
You May Also Like
Related tutorials, platform guides, and comparisons
Colombia Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Colombia passports with a server-side integration.
Saudi Arabia Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Saudi Arabia passports with a server-side integration.
Irish Passport OCR with Python SDK
Use the StructOCR Python SDK and FastAPI to extract visible identity, validity and MRZ fields from Irish passports.
South Korea Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from South Korea passports with a server-side integration.
Chile Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Chile passports with a server-side integration.
Vietnam Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Vietnam passports with a server-side integration.
Czech Republic Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Czech Republic passports with a server-side integration.
Egypt Passport OCR with Python SDK
Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Egypt passports with a server-side integration.
Egypt Passport OCR with Node.js SDK
Use the official StructOCR Node.js SDK with TypeScript and Express to extract structured MRZ and VIZ data from Egypt passports.
Czech Republic Passport OCR with Node.js SDK
Use the official StructOCR Node.js SDK with TypeScript and Express to extract structured MRZ and VIZ data from Czech Republic passports.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
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.
AWS Textract vs. StructOCR API for Indian Passport Back Page Extraction
Why generic OCR fails at parsing the back page of Indian passports, and how a dedicated KYC API instantly extracts structured addresses, PIN codes, and family details.
AWS Textract & Google Vision vs. StructOCR Passport API
Why generic cloud OCR APIs fail at structured KYC automation, and why developers choose specialized Passport APIs instead.
Add Passport OCR to Your Bolt.new App in 5 Minutes
Step-by-step guide to integrating the StructOCR Passport scanner API into a Bolt.new app. Build travel, hospitality, and global KYC flows right in your browser.
Add Passport OCR using Cursor in 5 Minutes
Step-by-step guide to integrating the StructOCR Passport scanner API using the Cursor AI code editor. Build travel, hospitality, and global KYC flows rapidly.
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.