UAE Vehicle Registration OCR with Python SDK

Send a photo of a UAE vehicle registration card (Mulkiya) to the official Python SDK and receive the VIN, plate and vehicle details as structured JSON.

Reading the UAE vehicle registration card (Mulkiya)

UAE vehicles are registered by each emirate's traffic authority, and the Mulkiya is printed in Arabic and English. Besides the traffic plate, it shows the chassis number (VIN), make, model year, origin, vehicle class, weights and passenger count. Rental companies, insurers and fleet operators read it at every registration renewal.

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. UAE-specific fields are returned under localized.uae: engine number, origin, vehicle class, weights and number of passengers. For the business use cases, see UAE Mulkiya full-field OCR and UAE Mulkiya VIN OCR.

Where Teams Use It

  • Car rental fleets: Track registration details for every car in the fleet.
  • Motor insurance: Prefill policy data from the Mulkiya at quote or renewal.
  • Used-car marketplaces: Capture vehicle details when a listing is created.
Need more testing? Create a free account to get 200 free credits (equals 100 Vehicle Registration scans).

UAE 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: UAE-specific fields are returned under localized.uae: engine number, origin, vehicle class, weights and number of passengers.
  • •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": "AE",
      "document_type": "VEHICLE_REGISTRATION",
      "confidence_score": 0.98
    },
    "standardized": {
      "vin": "JTMHV05J804123456",
      "plate": {
        "number": "12345",
        "letters_normalized": "N",
        "formatted": "DUBAI N 12345"
      },
      "make_raw": "TOYOTA",
      "make_normalized": "TOYOTA",
      "model_raw": "LAND CRUISER",
      "model_normalized": "LAND CRUISER",
      "year": 2024,
      "color_raw": "WHITE",
      "color_normalized": "WHITE"
    },
    "localized": {
      "uae": {
        "engine_number": "1VD-1234567",
        "origin": "UAE",
        "vehicle_class": "STATION WAGON",
        "gross_vehicle_weight": null,
        "empty_weight": null,
        "number_of_passengers": null
      }
    }
  }
}

Frequently Asked Questions

Which fields does the UAE vehicle registration API return?

Standardized fields for every country (VIN, plate, make, model, year, colour) plus a localized block. UAE-specific fields are returned under localized.uae: engine number, origin, vehicle class, weights and number of passengers.

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

Country Tutorial

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.

Python · Vehicle Reg.
Country Tutorial

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.

Python · Vehicle Reg.
Country Tutorial

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.

Python · Vehicle Reg.
Country Tutorial

Saudi Arabia Vehicle Registration OCR with Python SDK

Extract the VIN, plate, make, model and year from a Saudi Arabia vehicle registration (Istimara) with the StructOCR Python SDK, plus country-specific fields. 100 free scans.

Python · Vehicle Reg.
Country Tutorial

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.

Python · Vehicle Reg.
Country Tutorial

Colombia Cédula OCR Python SDK

Python Tutorial: Automate KYC in Colombia. Extract data from the Colombian Cédula de Ciudadanía using StructOCR Python SDK. Supports NUIP extraction and complex address parsing.

Python · cédula de ciudadanía
Country Tutorial

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.

Python · carteira de identidade (cin)
Country Tutorial

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.

Python · lichna karta (лична карта)
Country Tutorial

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.

Python · cédula de identidad
Country Tutorial

Uganda National ID Card OCR Python SDK

Python Tutorial: Automate KYC in Uganda. Extract data from National ID Card using StructOCR Python SDK. Supports native text and MRZ extraction.

Python · National ID

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 No Credit Card