Saudi Arabia Vehicle Registration OCR with Python SDK
Send a photo of a Saudi Arabia vehicle registration (Istimara) to the official Python SDK and receive the VIN, plate and vehicle details as structured JSON.
Reading the Saudi Arabia vehicle registration (Istimara)
The Saudi Istimara is printed mainly in Arabic. Its plate combines three Arabic letters with up to four digits, and the document carries a separate sequence number (الرقم التسلسلي), usually nine digits, which identifies the registration and is easily confused with the plate number. It also shows the chassis number, make, model year and plate type.
A Server-Side Python Workflow
The StructOCR Vehicle Registration OCR API returns standardized fields for every country (VIN, plate, make, model, year and colour) and a localized block for country-specific fields. Saudi plate details are returned under localized.saudi.tga_plate_details, including the sequence number, the three plate letters and the plate type. For the business use cases, see Saudi Istimara full-field OCR.
Where Teams Use It
- Motor insurance: Prefill policy data with the sequence number and plate from the Istimara.
- Car rental and leasing: Register vehicles and renewals without retyping Arabic fields.
- Fleet operators: Keep plate, sequence number and chassis number in one record per vehicle.
Saudi Arabia Vehicle Registration OCR with Python SDK
The official Python SDK reads a local file and calls /v1/vehicle-registration. The API reference documents every field.
Prerequisite: `pip install structocr`; set the server-side `STRUCTOCR_API_KEY` environment variable.
import os
from structocr import StructOCR
client = StructOCR(os.environ["STRUCTOCR_API_KEY"])
result = client.scan_vehicle_registration("registration.jpg")
if result.get("success"):
data = result["data"]
std = data["standardized"]
print(std["vin"], std["plate"]["formatted"], std["make_normalized"], std["year"])
print(data["localized"])
else:
print(result.get("error"))Technical Specs
- •Endpoint: POST /v1/vehicle-registration
- •Input: Base64-encoded JPG, PNG, WebP, or PDF in JSON, or a multipart upload (Max 4.5MB)
- •Authentication: Server-side x-api-key header handled by the SDK
- •Cost: 2 credits per successful scan; new accounts get 200 free credits
- •Retention: Images and results are kept for at most 24 hours for quality spot-checks, then deleted
Key Features
- •Standardized vehicle fields: VIN, plate (number, letters and formatted), make, model, year and colour, with raw and normalized values.
- •Localized fields: Saudi plate details are returned under localized.saudi.tga_plate_details, including the sequence number, the three plate letters and the plate type.
- •Missing values: Fields that are absent or unreadable are returned as null.
JSON Response Example
An illustrative response with fictional values.
{
"success": true,
"data": {
"document": {
"country_code": "SA",
"document_type": "VEHICLE_REGISTRATION",
"confidence_score": 0.94
},
"standardized": {
"vin": "MR0HA3CD9N0123456",
"plate": {
"number": "1234",
"letters_normalized": "A B J",
"formatted": "A B J 1234"
},
"make_raw": "تويوتا",
"make_normalized": "TOYOTA",
"model_raw": "هايلكس",
"model_normalized": "HILUX",
"year": 2022,
"color_raw": "أبيض",
"color_normalized": "WHITE"
},
"localized": {
"saudi": {
"tga_plate_details": {
"sequence_number": "123456789",
"letter_right": "ا",
"letter_middle": "ب",
"letter_left": "ح",
"number": "1234",
"plate_type_raw": "خصوصي",
"plate_type_normalized": "PRIVATE"
}
}
}
}
}Frequently Asked Questions
Which fields does the Saudi Arabia vehicle registration API return?
Standardized fields for every country (VIN, plate, make, model, year, colour) plus a localized block. Saudi plate details are returned under localized.saudi.tga_plate_details, including the sequence number, the three plate letters and the plate type.
Can I test it for free?
Yes. New accounts get 200 free credits, enough for 100 vehicle registration scans, and you can try an image in the browser first.
Do I need the SDK?
No. The SDK is a convenience; you can also send Base64 JSON or a multipart upload to /v1/vehicle-registration with any HTTP client.
You May Also Like
Related tutorials, platform guides, and comparisons
Python Vehicle Registration OCR API
Python Vehicle Registration OCR API tutorial. Upload an image for a free test! Accurately extract standardized fields like VIN, make, and model, along with dynamically localized data for global documents.
Germany Vehicle Registration OCR with Python SDK
Extract the VIN, plate, make, model and year from a Germany Zulassungsbescheinigung Teil I (Fahrzeugschein) with the StructOCR Python SDK, plus country-specific fields. 100 free scans.
US Vehicle Registration OCR with Python SDK
Extract the VIN, plate, make, model and year from a US state vehicle registration card with the StructOCR Python SDK, plus country-specific fields. 100 free scans.
India Vehicle Registration OCR with Python SDK
Extract the VIN, plate, make, model and year from a India registration certificate (RC) with the StructOCR Python SDK, plus country-specific fields. 100 free scans.
South Africa Vehicle Registration OCR with Python SDK
Extract the VIN, plate, make, model and year from a South Africa vehicle registration certificate (RC1) with the StructOCR Python SDK, plus country-specific fields. 100 free scans.
Bulgaria Lichna karta (Лична карта) OCR Python SDK
Python Tutorial: Automate KYC in Bulgaria. Extract Cyrillic/Latin text, EGN (ЕГН), and validate TD1 MRZ from Lichna karta using StructOCR Python SDK.
Chile Cédula OCR Python SDK
Python Tutorial: Automate KYC in Chile. Extract data from the Chilean Cédula de Identidad using StructOCR Python SDK. Supports RUN/RUT extraction and native Spanish text parsing.
Senegal Carte d'Identité CEDEAO OCR Python SDK
Python Tutorial: Automate KYC in Senegal. Extract data from Carte d'Identité CEDEAO using StructOCR Python SDK. Supports native text and MRZ extraction.
Brazil CIN OCR Python SDK: Extract CPF & MRZ
Python Tutorial: Automate KYC in Brazil. Extract Portuguese text, CPF numbers, and validate TD1 MRZ from the new CIN using the StructOCR Python SDK.
Belgium eID OCR Python SDK
Python Tutorial: Automate KYC in Belgium. Extract data from Electronic Identity Card (eID) using StructOCR Python SDK. Supports native text, National Register Number, and MRZ extraction.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Add HIN OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR HIN (Hull Identification Number) scanner API into a Replit application. Build marine and boat management tools using Replit Agent and Secrets.
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.
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.