South Africa Vehicle Registration OCR with Python SDK
Send a photo of a South Africa vehicle registration certificate (RC1) to the official Python SDK and receive the VIN, plate and vehicle details as structured JSON.
Reading the South Africa vehicle registration certificate (RC1)
South African vehicles are registered on the national eNaTIS system, and the registration certificate shows the vehicle register number, VIN, engine number, make, series name, licence number and the title holder and owner. Dealers, financiers and fleet operators capture these fields at every change of ownership or financing.
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. Fields such as the vehicle register number and engine number are returned under localized.generic.unmapped_fields when printed. For the business use cases, see South African NaTIS RC1 OCR.
Where Teams Use It
- Vehicle finance: Read the certificate during credit applications and match the VIN with the invoice.
- Dealers: Capture registration details on trade-ins and sales.
- Fleet operators: Keep VIN, engine number and licence number on file for each vehicle.
South Africa 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: Fields such as the vehicle register number and engine number are returned under localized.generic.unmapped_fields when printed.
- •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": "ZA",
"document_type": "VEHICLE_REGISTRATION",
"confidence_score": 0.93
},
"standardized": {
"vin": "AHTFR22G106012345",
"plate": {
"number": "CA123456",
"letters_normalized": "CA",
"formatted": "CA 123-456"
},
"make_raw": "TOYOTA",
"make_normalized": "TOYOTA",
"model_raw": "HILUX",
"model_normalized": "HILUX",
"year": 2020,
"color_raw": "WHITE",
"color_normalized": "WHITE"
},
"localized": {
"generic": {
"unmapped_fields": {
"vehicle_register_number": "ABC123D",
"engine_number": "1GD1234567"
}
}
}
}
}Frequently Asked Questions
Which fields does the South Africa vehicle registration API return?
Standardized fields for every country (VIN, plate, make, model, year, colour) plus a localized block. Fields such as the vehicle register number and engine number are returned under localized.generic.unmapped_fields when printed.
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
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 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.
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.
UAE Vehicle Registration OCR with Python SDK
Extract the VIN, plate, make, model and year from a UAE vehicle registration card (Mulkiya) 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.
South Korea Driver License OCR: Extract Fields with Python
Extract visible fields from South Korea driver license images into JSON. Map identifiers, names and dates, with a review workflow for incomplete results.
Philippines UMID OCR Python SDK
Python Tutorial: Automate KYC in Philippines. Extract data from UMID using StructOCR Python SDK. Supports native text.
Pakistan CNIC OCR Python SDK
Python Tutorial: Automate KYC in Pakistan. Extract data from CNIC using StructOCR Python SDK. Supports native text.
Nigeria NIN Slip OCR Python SDK
Python Tutorial: Automate KYC in Nigeria. Extract data from NIN Slip using StructOCR Python SDK. Supports native text.
Portugal Cartão de Cidadão OCR Python SDK
Python Tutorial: Automate KYC in Portugal. Extract data from Cartão de Cidadão using StructOCR Python SDK. Supports native text and MRZ extraction.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Add Invoice OCR to Your Lovable.dev App in 5 Minutes
Step-by-step guide to integrating the StructOCR invoice API into a Lovable.dev app. No backend required — just paste a prompt and add your API key.
Add National ID OCR to Your Lovable.dev App in 5 Minutes
Step-by-step guide to integrating the StructOCR National ID scanner API into a Lovable.dev app. Build KYC and identity verification flows with zero backend.
Add Passport OCR to Your Lovable.dev App in 5 Minutes
Step-by-step guide to integrating the StructOCR Passport scanner API into a Lovable.dev app through a secure server-side function for travel and KYC flows.
Add Receipt OCR to Your Lovable.dev App in 5 Minutes
Step-by-step guide to integrating the StructOCR receipt API into a Lovable.dev app. No backend required — just paste a prompt and add your API key.
Add VIN OCR to Your Lovable.dev App in 5 Minutes
Step-by-step guide to integrating the StructOCR VIN scanner API into a Lovable.dev app. Build automotive and fleet tools with zero backend required.
Manual TOS Entry vs. Container OCR Automation API
Analyzing the ROI and operational efficiency of replacing manual gate checkers with an automated Container OCR API in logistics yards.
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.