PrivyPrivy
Sign in
  • Documentation
Back to Documentation
B2B Digital Certificate Issuance Support
OverviewChangelog
Insights API
Face Compare API
KTP OCR API
    v2
      OverviewQuickstartEnvironmentsAuthenticationRequest FieldsOCR ResultsErrors
ID Card Forgery
API Explorer
powered by Zudoku
Sign in
v2

OCR Results

A successfully processed request returns HTTP 200 with status set to ok.

Code
{ "code": 200, "status": "ok", "result": { "nik": "3173050101900001", "nama": "BUDI SANTOSO", "tanggal_lahir": "01-01-1990", "tempat_lahir": "JAKARTA", "pekerjaan": "KARYAWAN SWASTA", "kewarganegaraan": "WNI", "agama": "ISLAM", "jenis_kelamin": "LAKI-LAKI", "status_perkawinan": "KAWIN", "golongan_darah": "O", "provinsi": "DKI JAKARTA", "kota": "JAKARTA SELATAN", "kecamatan": "KEBAYORAN BARU", "kelurahan": "SENAYAN", "alamat": "JL CONTOH NO 1", "rt_rw": "001/002", "masa_berlaku": "SEUMUR HIDUP" }, "balance": 100, "transaction_id": "019c1234-5678-7abc-8def-0123456789ab", "message": "get data successfully" }

Response envelope

FieldTypeDescription
codeintegerHTTP-compatible response code.
statusstringok when OCR processing completes.
resultobjectDemographic fields extracted from the KTP. Fields that cannot be extracted may be omitted.
balanceintegerRemaining service balance. Postpaid integrations return 100.
transaction_idstringPrivy's transaction identifier.
messagestringget data successfully for a successful request.

Extracted fields

The result object can contain nik, nama, tanggal_lahir, tempat_lahir, pekerjaan, kewarganegaraan, agama, jenis_kelamin, status_perkawinan, golongan_darah, provinsi, kota, kecamatan, kelurahan, alamat, rt_rw, dinas, masa_berlaku, and waktu_terbit.

OCR output is extracted text, not an independent authoritative verification of the individual's identity.

Last modified on October 23, 2026
Request FieldsErrors
On this page
  • Response envelope
  • Extracted fields
JSON