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.

AI extracting data from a Portugal passport
StructOCR engine analyzing a Portuguese document in real-time.

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.

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

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

Country Tutorial

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.

Python · Passport
Country Tutorial

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.

Python · Passport
Country Tutorial

Irish Passport OCR with Python SDK

Use the StructOCR Python SDK and FastAPI to extract visible identity, validity and MRZ fields from Irish passports.

Python · Passport
Country Tutorial

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.

Python · Passport
Country Tutorial

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.

Python · Passport
Country Tutorial

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.

Python · Passport
Country Tutorial

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.

Python · Passport
Country Tutorial

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.

Python · Passport
Country Tutorial

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.

Node.js · Passport
Country Tutorial

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.

Node.js · Passport

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