South African Identity Document OCR

Turn passports, IDs, and driver’s licences into structured JSON.

Built for South African KYC, lending, and onboarding flows. One API call, structured data in seconds — MRZ-compliant, POPIA-ready.

50 free requests every month. No credit card.

POPIA-compliant6 document typesAI-poweredSA-focused

Why Jonga

Built for South African identity, end to end.

Fast, intelligent extraction

AI-powered vision returns structured JSON in 2–8 seconds.

  • No templates to build or maintain
  • No per-document tuning
  • Confidence scores on every field

Built for SA identity

First-class support for Smart IDs, Green Books, driver’s licences, and passports. ICAO MRZ-compliant parsing.

  • All 6 SA identity document types
  • International passport support via MRZ
  • Tuned for local document quirks

POPIA-ready from day 1

Documents are processed in-memory — never written to disk. No training on your data.

  • In-memory processing only
  • Token-level audit logs
  • SA data residency on Enterprise

How it works

Three steps to structured data.

Sign up

Create a free account. 50 requests per month, no credit card.

Create a token

Issue an API token from your dashboard. Scope to specific endpoints or use * for all.

POST a document

Send multipart form-data to /api/v1/ocr/<type>. Get structured JSON back in seconds.

Six document types. One consistent API.

From SA Smart ID to international passports.

Drop-in for any stack.

curl, TypeScript, Python. Pick your poison.

curl

curl -X POST https://jongaocr.co.za/api/v1/ocr/passport \
  -H "Authorization: Bearer $JONGA_TOKEN" \
  -F "image=@passport.jpg"

TypeScript

const form = new FormData();
form.append('image', imageBlob);

const res = await fetch('https://jongaocr.co.za/api/v1/ocr/passport', {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.JONGA_TOKEN}` },
  body: form,
});
const data = await res.json();

Python

import requests

res = requests.post(
    'https://jongaocr.co.za/api/v1/ocr/passport',
    headers={'Authorization': f'Bearer {os.environ["JONGA_TOKEN"]}'},
    files={'image': open('passport.jpg', 'rb')},
)
data = res.json()

Simple, predictable pricing.

Start free. Upgrade when you need more.

Free

R0

50 / mo

Most popular

Popular

R299/month

1,000 / mo

Ultimate

R1,499/month

10,000 / mo

Enterprise

Custom

Unlimited / mo

Minutes, not weeks

Ready to integrate South African document OCR?

50 free requests, no credit card, no call with sales. Build your first integration in minutes.