Indonesian SIM (Surat Izin Mengemudi) OCR API
Automate eKYC and driver onboarding in Southeast Asia. Instantly extract the NIK (National ID Number), SIM number, and vehicle category from Indonesian driver's licenses. Upload a sample image below to test the extraction accuracy for free.

The Challenge of Indonesian eKYC Verification
In Indonesia, the Surat Izin Mengemudi (SIM) serves as a primary identity document alongside the KTP. However, extracting data from it is highly challenging. The cards frequently suffer from intense lamination glare, and the critical NIK (Nomor Induk Kependudukan) is often printed in varying alignments depending on the issuance year and local Polda (police region). Standard OCR tools frequently misread these densely packed alphanumeric strings or confuse a SIM A (Car) with a SIM C (Motorcycle). To see how our layout-aware identity models overcome these specific regional hardware and optical challenges, explore our core driver license OCR infrastructure.
Zero-SDK Architecture & Edge-Routed Speed
In the Southeast Asian market, mobile app size is critical. We deliver our SIM OCR engine as a pure REST API, completely eliminating the need to force heavy SDKs onto users' devices. Furthermore, Indonesia is a vast archipelago where centralized cloud servers cause massive latency. StructOCR is natively deployed on Cloudflare's global edge network, meaning requests from Jakarta or Bali are processed at the nearest local node for lightning-fast TTFB (Time to First Byte). Simply send a Base64 string or file upload, and receive structured JSON instantly.
Live Demo: Driver License OCR Scanner
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
High-Growth Use Cases in Indonesia
Digital Wallets & Fintech eKYC
Accelerate user onboarding for e-wallets and crypto platforms. Instantly extract the 16-digit NIK from the SIM to cross-reference with Dukcapil databases. To bypass local credit card friction, you can manage your enterprise subscription using USDT/USDC directly. Explore our pricing plans.
Ride-Hailing & Logistics Onboarding
Automate fleet registration. Instantly verify if a new courier holds the correct SIM C (for motorcycles) or SIM A (for cars) before authorizing them to take orders. Read more about our mobility driver verification solutions.
Vehicle Rental & Tourism
Streamline motorcycle and car rentals in high-traffic tourist areas like Bali. Capture the driver's details and license expiry date accurately using just a smartphone photo, removing manual data entry bottlenecks.
Technical Specs
- Edge Processing Architecture: Deployed on Cloudflare Workers, ensuring API requests from Southeast Asia are handled by regional edge nodes for near-zero routing latency.
- Input Versatility: Fully supports multipart file uploads and raw Base64 strings, eliminating the need to compile and maintain native Android/iOS SDKs.
- Glare & Lamination Resilience: Advanced computer vision pipelines filter out the intense reflections typical of physical Indonesian SIM cards.
- Cryptocurrency Payments: For LatAm and SEA developers facing fiat payment gateways friction, API credits can be seamlessly funded via USDT and USDC.
Key Features
- Precise NIK Extraction: Contextually differentiates the 16-digit NIK from the similarly formatted SIM serial number, mapping it reliably to the `personal_number` field.
- Categorical Accuracy: Extracts the specific SIM category (e.g., A, C, B1) and maps it to `vehicle_class` for immediate fleet authorization.
- Date Standardization: Natively converts the Indonesian `DD-MM-YYYY` formats into strict, database-ready `YYYY-MM-DD` ISO strings.
Integration & AI Prompts
Integrating our API takes minutes. We natively process direct file uploads, public URLs, and Base64-encoded strings (automatically cleaning up illegal whitespaces). For comprehensive endpoint parameters, consult our developer documentation.
import requests
import base64
# 1. Prepare Base64 Image of the Indonesian SIM
with open("indonesian_sim_sample.jpg", "rb") as image_file:
base64_image = base64.b64encode(image_file.read()).decode('utf-8')
url = "https://api.structocr.com/v1/driver-license"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
# Pass the pure Base64 string directly
payload = {
"img": base64_image
}
response = requests.post(url, headers=headers, json=payload)
result = response.json()
if result.get('success'):
data = result['data']
print(f"✅ Extracted NIK: {data['personal_number']}")
print(f"✅ SIM Number: {data['document_number']}")
print(f"✅ Vehicle Category (SIM Type): {data['vehicle_class']}")Standardized JSON Output
Observe how the unique data points of an Indonesian SIM are mapped into a standardized schema. The NIK is securely placed in `personal_number`, while the SIM category is cleanly extracted to `vehicle_class`.
{
"success": true,
"data": {
"type": "drivers_license",
"country_code": "IDN",
"region": "DKI JAKARTA",
"document_number": "1234-5678-900123",
"personal_number": "3171234567890001",
"surname": "SANTOSO",
"given_names": "BUDI",
"sex": "M",
"date_of_birth": "1990-08-17",
"place_of_birth": "JAKARTA",
"date_of_issue": "2023-08-17",
"date_of_expiry": "2028-08-17",
"date_of_first_issue": null,
"issuing_authority": "POLDA METRO JAYA",
"address": "JL. SUDIRMAN NO 45, RT 01/02, KEBAYORAN BARU, JAKARTA SELATAN",
"vehicle_class": "C",
"extra_details": {}
}
}Frequently Asked Questions
Can I test the Indonesian SIM OCR before purchasing?
Yes! You can use the free image upload testing widget at the top of this page. Upload a sample photo of a SIM A or SIM C to see the extraction speed and accuracy instantly.
Do I need an SDK for Android or iOS to use this?
No, StructOCR is a pure REST API. You can simply capture the image using the device's native camera, convert it to a Base64 string, and POST it to our endpoint. This keeps your app lightweight and fast.
Does the API extract the NIK or just the SIM Number?
It extracts both. The API is trained to distinguish between the two numbers, placing the NIK inside the `personal_number` field and the license serial number inside the `document_number` field.
Explore More Drivers-license Solutions
UK Driving Licence OCR & Field Extraction API
Accurately parse numbered fields (like Field 5 and Field 8) from UK driving licences. Try our fast, Cloudflare-routed OCR API with a free image upload test.
US Driver License Scanner API
Extract data from all 50 US state driver's licenses with our fast OCR API. Try our free image upload tool and easily parse the Document Discriminator (DD) and identity fields.
Brazilian CNH (Driver's License) OCR API
Extract CPF, RG, and identity fields from Brazilian Carteira Nacional de Habilitação (CNH) instantly. High-accuracy OCR API deployed on edge networks for fast LatAm eKYC.
Automated CPF Extraction from Brazilian Driver Licenses
Accurately extract the CPF (Tax ID) and RG from Brazilian driver licenses (CNH). Try our free image upload tool and integrate our fast, edge-routed OCR API.
Automated Document Discriminator (DD) Extraction
Instantly extract the Document Discriminator (DD) and audit numbers from US driver's licenses. Test our edge-routed OCR API for free using image uploads.
EU Driving Licence OCR API
Accurately parse numbered fields (1, 4a, 9) from European driving licences. Try our fast, edge-routed OCR API with a free image upload test.
Malaysian Lesen Memandu (Driving License) OCR API
Extract the IC number, identity fields, and vehicle classes from Malaysian driving licenses (Lesen Memandu). Test our edge-routed API with a free image upload.
Philippine LTO Driver License OCR API
Accurately extract data from Philippine LTO driver's licenses. Parse restriction codes, conditions, and identity fields via our edge-routed API. Test for free.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Add Driver's License OCR to Your Bolt.new App in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API into a Bolt.new app. Build car rental and mobility onboarding flows right in your browser.
Add Driver's License OCR using Cursor in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API using the Cursor AI code editor. Build car rental and mobility onboarding flows rapidly.
Add Driver's License OCR to Your Lovable.dev App in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API into a Lovable.dev app. Build car rental and mobility onboarding flows with zero backend.
Add Driver's License OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API into a Replit application. Build car rental and mobility onboarding flows using Replit Agent and Secrets.
Add Driver's License OCR to Your v0 App in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API into a v0 by Vercel app. Build car rental and mobility onboarding flows with zero backend.
OpenALPR vs. StructOCR API for VIN Decoding
Why traditional License Plate Recognition (ALPR) engines are not suitable for scanning Vehicle Identification Numbers (VINs).
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.