UAE Vehicle Registration (Mulkiya) VIN OCR

Automate vehicle onboarding in the UAE. Accurately extract and validate the 17-character Chassis No. (رقم القاعدة) from complex, densely watermarked bilingual Mulkiya documents.

Sample of a UAE Mulkiya card showing the extracted 17-digit Chassis Number.

The Complexity of UAE Mulkiya Cards

UAE vehicle registration cards (Mulkiya) present a high-density, bilingual tabular layout. The primary obstacle is accurately locating the 'Chassis No.' (رقم القاعدة) amidst a mix of English and Arabic text, barcodes, and extremely dense background security watermarks. Standard OCR engines often fail to separate the foreground alphanumeric text from these intricate gold and yellow background patterns, leading to misread characters. For a deeper dive into how we handle complex backgrounds, see our core OCR product capabilities.

StructOCR: Built for Dense Tabular Layouts

StructOCR intelligently maps the bilingual key-value pairs, completely ignoring the heavy security patterns, stamps, and barcodes found on UAE registration cards. Powered by our flagship Automotive VIN OCR engine, it extracts the exact 17-character string. It doesn't just read text; it applies strict ISO 3779 validation. The system automatically normalizes characters to uppercase, strips non-alphanumeric noise, and auto-corrects common visual misidentifications (e.g., converting the letter 'O' or 'Q' to the number '0').

Live Demo: VIN Barcode 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

Ready to use this in production? Get 20 free API calls — no credit card needed.

Get 20 Free API Calls →

Core Industry Applications

Automotive Insurance (Takaful) Onboarding

Instantly pre-fill policy applications by extracting the validated VIN directly from the policyholder's uploaded Mulkiya card. Get 20 free credits to test your own documents.To streamline your vehicle intake process without any integration, try capturing data effortlessly with our free VIN barcode scanner directly from your browser.

GCC Cross-Border Fleet Logistics

Streamline customs and fleet management across the UAE and greater GCC region by automating the digitization of official registration documents.

Used Car Marketplaces

Accelerate seller onboarding by conducting automated background checks and RTA history lookups using the precisely extracted 17-character Chassis Number.

Auto Repair & Dealership Servicing

Eliminate manual data entry errors. Scan the customer's Mulkiya to instantly retrieve the exact VIN required for ordering OEM parts and verifying service contracts.

Technical Specs

  • Validation: Built-in ISO 3779 rules & Length constraint (strictly 17 chars)
  • Auto-Correction: Resolves I/1, O/0, Q/0 ambiguities automatically
  • Latency: < 1.2s per document
  • Data Privacy: Zero data retention (SOC2 Compliant)

Key Features

  • Chassis Number (رقم القاعدة): Perfect extraction of the standard VIN despite nearby barcodes and stamps.
  • Background Filtering: Specially trained to drop out dense Mulkiya security watermarks.
  • Format Support: Accepts raw Base64 or Data URIs (JPG, PNG, WebP up to 4.5MB).

Integration & AI Prompts

Call the endpoint directly, or copy the prompt below into Cursor, Lovable, or v0 to instantly generate your frontend application.

import requests
import base64

# 💰 Save 30%+ vs competitors. Get 20 free credits instantly:
# 👉 https://structocr.com/register

# 1. Prepare Base64 Image
with open("uae_mulkiya.jpg", "rb") as image_file:
    base64_image = base64.b64encode(image_file.read()).decode('utf-8')

url = "https://api.structocr.com/v1/vin"
headers = {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "img": base64_image
}

try:
    print("Scanning UAE Mulkiya Card...")
    response = requests.post(url, headers=headers, json=payload)
    result = response.json()

    if result.get('success'):
        data = result['data']
        print("\u2705 Extraction Successful!")
        print(f"VIN:          {data.get('vin')}")
        print(f"Confidence:   {data.get('confidence')}")
        print(f"Carrier Type: {data.get('carrier_type')}")
    else:
        print(f"\u274c Extraction Failed: {result.get('error')} - {result.get('message')}")

except Exception as e:
    print(f"An error occurred: {e}")

Standardized JSON Output

The API returns a clean, structured payload containing the validated 17-character VIN, structural confidence, and the detected carrier type.

{
  "success": true,
  "data": {
    "vin": "WA1UABAG1JX123456",
    "confidence": "High",
    "carrier_type": "document"
  }
}

Frequently Asked Questions

Does the system get confused by the barcodes or stamps on the Mulkiya?

No. Our visual grounding models are trained to anchor specifically to the 'Chassis No.' / 'رقم القاعدة' tabular fields, completely bypassing the visual noise caused by official stamps or licensing barcodes.

What happens if the chassis number on the card has a typo or blurry character?

Our engine utilizes built-in ISO 3779 logic. If a character like the letter 'O' is visually present where a number should be, the system automatically corrects it to '0' based on the VIN structural requirements.

What image formats and sizes are supported?

The API accepts JPG, PNG, and WebP formats. Images can be sent as direct URLs or Base64 encoded strings, with a maximum payload size of 4.5MB.

Explore More Automotive VIN OCR Solutions

Precise Data Extraction and Seamless Integration with AI-powered OCR API.

Empower your solutions with automated data extraction by integrating best-in class StructOCR via API seamlessly.

No credit card required • Full API access included