Full-Field Spain Vehicle Registration (Permiso de Circulación) OCR
Test for free with image upload! Accurately extract all structured data—including VIN, Plate, and cryptic EU specifications—from the Spanish Permiso de Circulación.

The Challenge: Complex Backgrounds and EU Nomenclature
The Spanish Permiso de Circulación is a green, folded paper document featuring complex background security patterns. Like other EU documents, it relies heavily on standardized but cryptic alphanumeric codes (such as J, P.1, and D.1) rather than plain-text labels. Furthermore, it contains Spanish-specific terminology that confuses generic OCR engines, often resulting in background watermarks being mistakenly parsed as text. Learn more about our robust capabilities on our Vehicle Registration OCR product page.
Watermark Immunity & Semantic Parsing
StructOCR utilizes advanced visual grounding to completely ignore the dense green security backgrounds of the Permiso de Circulación. Our LLM-backed semantic mapping understands Spanish vehicle terminology alongside EU standard codes. Universal data like VINs are standardized, while specific regulatory codes are dynamically captured into our `localized.generic.unmapped_fields` object. Discover how this fits into broader European workflows in our Vehicle Registration Solutions guide.
Live Demo: Vehicle Registration OCR
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
Core Industry Applications
Cross-Border Used Car Auctions
Power operations for pan-European platforms by instantly ingesting and verifying Spanish inventory via automated EU code extraction.
Digital Insurance Marketplaces
Accelerate online quoting by instantly pulling exact vehicle details and specifications directly from user smartphone uploads.
Traffic & Parking Compliance
Automate local municipal and parking registration systems by instantly parsing valid vehicle data from uploaded permits.
Fleet & Logistics Compliance
Automate compliance checks and vehicle onboarding for corporate logistics companies, ensuring all fleet registration documents are valid and up-to-date.
Technical Specs
- Template-Free Architecture: Processes highly variable formats dynamically without needing manual bounding boxes.
- Dynamic Fallback Schema: Automatically extracts Spain-specific parameters into the `unmapped_fields` node.
- Format Support: Processes JPG, PNG, and WebP images up to 4.5MB.
- Free Testing: Start immediately with our interactive free image upload test in the dashboard.
Key Features
- Universal Fields: Extracts VIN, Plate, Make, Model, Year, and Color into standardized English nodes.
- Regional Field Mapping: Contextually identifies and groups unique regulatory codes and formats.
- Robust Visual Processing: Ignores holograms, Moiré patterns, and physical creases.
Integration & API Documentation
Easily integrate our full-field OCR API. For full technical details, visit our Developer API Documentation.
import requests
import base64
# 📸 Test for free with your own image upload: https://structocr.com/developers/vehicle-registration-ocr
with open("spain-permiso-de-circulacion-full-ocr.jpg", "rb") as image_file:
base64_image = base64.b64encode(image_file.read()).decode('utf-8')
url = "https://api.structocr.com/v1/vehicle-registration"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"img": base64_image
}
response = requests.post(url, headers=headers, json=payload)
result = response.json()
if result.get('success'):
data = result.get('data', {})
std = data.get('standardized', {})
print("✅ Standardized VIN:", std.get('vin'))
# Spain specific fields are captured in the generic fallback
loc = data.get('localized', {})
if 'generic' in loc and loc['generic'].get('unmapped_fields'):
unmapped = loc['generic']['unmapped_fields']
print("✅ D 1:", unmapped.get('d_1'))
print("✅ P 1:", unmapped.get('p_1'))Standardized + Generic JSON Output
Our API delivers a structured JSON response, separating universal vehicle specs and placing region-specific data into the generic fallback object.
{
"success": true,
"data": {
"document": {
"country_code": "ES",
"document_type": "VEHICLE_REGISTRATION",
"confidence_score": 0.98
},
"standardized": {
"vin": "SAMPLEVIN12345678",
"plate": {
"number": "ABC-123",
"formatted": "ABC 123"
},
"make_normalized": "Toyota",
"year": 2020
},
"localized": {
"generic": {
"unmapped_fields": {
"d_1": "SEAT",
"p_1": "1390",
"j": "M1"
}
}
}
}
}Frequently Asked Questions
How can I test the API before committing?
You can perform a free image upload test directly from our API documentation page or dashboard. Simply upload a sample document to see the JSON output instantly.
Does the API understand specific local formats?
Yes. While standard fields like VIN and Make are mapped globally, unique Spain specific labels are systematically captured into the `generic.unmapped_fields` node.
Can it read degraded or poor quality photos?
Yes, our neural network actively compensates for physical creases, low lighting, and smartphone camera glare.
Explore More Vehicle-registration Solutions
Global Vehicle Registration OCR API
Our flagship API for parsing complex global vehicle documents. Unified extraction for over 150+ countries with dynamic localization.
Full-Field Thailand Vehicle Registration (Blue Book) OCR
Test our Thailand Lem Tabian (Blue Book) OCR API with a free image upload. Extract full fields including Thai script, VIN, and engine numbers from complex vehicle registrations.
Full-Field UAE Vehicle Registration (Mulkiya) OCR
Test our UAE Mulkiya OCR API with a free image upload. Extract full fields including engine number, origin, vehicle class, and VIN from bilingual Arabic/English registrations.
Full-Field UK Vehicle Registration (V5C Logbook) OCR
Test our UK V5C Logbook OCR API with a free image upload. Overcome perspective distortion to extract full fields including VIN, Document Reference Number, and vehicle specs.
Full-Field USA DMV Vehicle Registration & Title OCR
Test our USA DMV vehicle registration OCR API with a free image upload. Extract full fields including VIN, Title Number, and Make across all 50 fragmented state formats.
Used Car Dealer Marketplaces Workflow Automation
Automate vehicle inventory onboarding and seller verification. Instantly extract and cross-reference VINs from registration documents for used car portals.
Full-Field Vietnam Vehicle Registration (Cavet) OCR
Test our Vietnam Giấy đăng ký xe OCR API with a free image upload. Extract full fields including owner name, address, engine number, and VIN from Vietnamese vehicle registrations.
Auto Insurance Underwriting Workflow Automation
Accelerate digital auto insurance policies with our vehicle registration OCR. Instantly extract Make, Model, and VIN from user smartphone uploads for fast quoting.
Automotive Parts & Aftermarket Workflow Automation
Revolutionize the automotive aftermarket. Scan vehicle registrations to instantly identify exact engine codes and recommend highly compatible auto parts.
Full-Field Brazil Vehicle Registration (CRLV / CRLV-e) OCR
Test our Brazilian CRLV OCR API with a free image upload. Overcome moiré patterns from screenshots and extract full fields including VIN and Renavam.
Car Rental Digital Checkout Workflow Automation
Streamline the car rental checkout process. Scan customer vehicle registration or rental fleet documents instantly using our enterprise OCR API.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
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.
Add Receipt OCR using Cursor in 5 Minutes
Step-by-step guide to integrating the StructOCR receipt API using the Cursor AI code editor. Build expense tracking and receipt scanning tools rapidly.
Add VIN OCR using Cursor in 5 Minutes
Step-by-step guide to integrating the StructOCR VIN scanner API using the Cursor AI code editor. Build automotive and fleet tools rapidly.
Extracting ECR Status & File Numbers: Generic OCR vs. StructOCR Indian Passport API
Learn why generic text extractors fail to capture critical Indian KYC fields like ECR status and File Numbers, and how a specialized API structures this data automatically.
Google Cloud Vision vs. StructOCR API for Shipping Containers
Comparing generic enterprise OCR solutions like Google Cloud Vision against StructOCR's purpose-built API for ISO 6346 shipping container recognition.
Heavy KYC SDKs vs. StructOCR Passport API for Mobile Apps
Discover why modern app developers are abandoning bulky on-device OCR SDKs in favor of lightweight, edge-deployed Passport APIs.
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.