KTP OCR API

API OCR KTP — Ekstrak Data KTP Indonesia dalam Hitungan Detik

Parse kartu identitas Indonesia dengan akurasi tinggi dan harga transparan Rp 150 (~$0,01 USD) per scan berhasil . Scan berhasil hanya mengurangi 150 points.

OCR KTP Terjangkau dan Siap Production

KTP OCR API mengekstrak data terstruktur — NIK, nama, tempat/tanggal lahir, alamat, agama, status perkawinan, pekerjaan, kewarganegaraan, masa berlaku, dan foto—dari Kartu Tanda Penduduk yang dapat dibaca. Disesuaikan untuk kondisi capture dunia nyata (screenshot, sudut miring, pencahayaan tidak merata) dan terintegrasi ke alur onboarding dalam hitungan menit.

Harga tetap: Rp 150 per scan berhasil (150 points) . Tidak ada retainer bulanan atau biaya komitmen. Isi points di dalam dashboard, call endpoint, dan bayar hanya saat OCR berhasil. Request yang gagal tidak dikenakan biaya.

Traffic berjalan melalui CDN global dengan autoscaling, SLA uptime 99,9%, transport terenkripsi, dan pembersihan gambar otomatis setelah ekstraksi. Dapatkan API key dan mulai shipping segera—tidak perlu dokumen procurement.

Pasangkan dengan Face Matching API untuk menawarkan verifikasi dokumen + biometrik. OCR KTP sekali, gunakan kembali foto untuk perbandingan selfie, dan jaga setiap langkah tetap di dalam stack Anda.

KTP OCR Termurah

Rp 150 per success. Kompetitor masih mengenakan Rp 500–1.000 plus langganan.

Plug-and-play

Tidak ada procurement, tidak ada kontrak, tidak ada waiting. Dapatkan API key dan deploy.

Structured JSON

Mengembalikan JSON bersih untuk semua field KTP wajib, siap untuk storage atau validasi.

Aman & Privasi

Gambar dienkripsi saat transit, diproses di memory, dan otomatis dihapus setelah ekstraksi.

Mulai dalam 3 Langkah

1
Daftar & dapatkan API key

Buat akun di dashboard dan salin API key untuk header x-api-co-id .

2
Kirim gambar KTP (multipart)

POST ke /ocr/ktp-extract dengan field file (JPG/PNG, maks. 5 MB).

3
Terima JSON field KTP

Respons berisi NIK, nama, alamat, dan field lain siap dipakai di aplikasi atau database Anda.

Alur singkat dari upload gambar hingga data terstruktur dan pengurangan points.

Coba Gratis Sekarang

Upload gambar KTP dan lihat API mengekstrak data terstruktur dalam hitungan detik. Tidak perlu sign-up, tidak perlu kartu kredit.

Coba Demo Gratis

Harga

Rp 150 Per Scan. Tanpa Kejutan.

Pemimpin onboarding Indonesia memilih kami karena perhitungan tetap dapat diprediksi baik Anda memproses 100 scan per bulan atau 10.000 per hari.

Bayar hanya saat OCR berhasil

Rp 150

≈ $0,01 USD · Rp 150 per scan berhasil (150 points) · Request yang gagal gratis

Akses Instan

Aktifkan API tanpa meeting, NDA, atau komitmen minimum. Ideal untuk POC, startup, dan enterprise yang diatur.

Hemat Hingga 70%

Vendor OCR legacy menagih Rp 500–1.000 per scan dan masih menambahkan retainer bulanan. Beralih dan hemat hingga 85%.

Tanpa Biaya Tambahan

Tidak ada biaya setup, tidak ada “biaya komitmen”, tidak ada credit lockup. Cukup isi points dan build.

Contoh: 5.000 scan bulanan menghabiskan Rp 1.500.000 di sini. Volume yang sama dengan harga Rp 800 di tempat lain totalnya Rp 4.000.000 + overhead langganan.

Cocok untuk Workflow Identitas Indonesia

Integrasi cepat untuk onboarding, compliance, dan operasional yang membutuhkan KTP terverifikasi.

Fintech & Banking
Digitalisasi pembukaan akun, digital lending, BNPL, atau alur KYC remittance tanpa mendorong pelamar ke cabang.
Platform e-KYC
Jual kembali verifikasi dokumen sebagai layanan dengan unit economics yang dapat diprediksi dan tanpa vendor lock-in.
Marketplace
Verifikasi identitas seller, merchant, atau kurir secara otomatis untuk melawan fraud dan memenuhi persyaratan compliance.
On-demand & Logistik
Onboard driver, rider, dan delivery partner dalam hitungan menit dengan meminta foto KTP di dalam aplikasi Anda.
Properti & Co-Working
Digitalisasi screening tenant, manajemen pengunjung, dan perjanjian sewa dengan data ID terverifikasi.
HR & staffing
Kumpulkan ID karyawan atau kontraktor dengan aman, kemudian simpan field terstruktur di HRIS atau sistem payroll Anda.

Lanjutkan ke ID Check

OCR membaca tulisan di KTP — berguna untuk mengisi form otomatis, tapi belum membuktikan datanya benar. Untuk memastikan NIK, nama, dan tanggal lahir tersebut memang cocok dengan data kependudukan resmi — yang biasa disebut dukcapil check — lanjutkan hasil OCR ke ID Verification API seharga Rp 4.000 per verifikasi. Banyak tim memakai keduanya berurutan: OCR Rp 150 untuk menangkap data, lalu ID Check untuk membuktikannya. Butuh verifikasi identitas pajak? Gunakan NPWP Verification API .

Lihat ID Verification API

Dokumentasi KTP OCR API

Satu endpoint, harga transparan, respons JSON yang konsisten.

Authentication

Semua request memerlukan header x-api-co-id dengan API key Anda. Dapatkan API key di dashboard .

POST{{base-url}}/ocr/ktp-extract

Unggah gambar KTP (JPG/PNG, maks. 5 MB). Mengembalikan teks ter-parse dan metadata foto. Menangani kemiringan, cahaya rendah, dan screenshot ponsel.

Properti Nilai
Base URL {{base-url}}
Auth x-api-co-id: YOUR_API_KEY
Content-Type multipart/form-data
Pricing Rp 150 per scan berhasil (150 points)
Field Tipe Deskripsi
file file (wajib) Berisi gambar KTP yang terbaca. JPG/PNG hingga 5 MB.
Contoh request

 curl --location '{{base-url}}/ocr/ktp-extract' \
  --header 'x-api-co-id: YOUR_API_KEY' \
  --form 'file=@"/path/to/ktp-sample.jpg"' 
 package main

import (
	"bytes"
	"fmt"
	"io"
	"mime/multipart"
	"net/http"
	"os"
)

func main() {
	file, err := os.Open("ktp-sample.jpg")
	if err != nil {
		panic(err)
	}
	defer file.Close()

	body := &bytes.Buffer{}
	writer := multipart.NewWriter(body)
	part, err := writer.CreateFormFile("file", "ktp-sample.jpg")
	if err != nil {
		panic(err)
	}
	if _, err := io.Copy(part, file); err != nil {
		panic(err)
	}
	_ = writer.Close()

	req, err := http.NewRequest("POST", "{{base-url}}/ocr/ktp-extract", body)
	if err != nil {
		panic(err)
	}
	req.Header.Set("Content-Type", writer.FormDataContentType())
	req.Header.Set("x-api-co-id", "YOUR_API_KEY")

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
	out, _ := io.ReadAll(resp.Body)
	fmt.Println(string(out))
} 
 <?php

$file = new CURLFile('ktp-sample.jpg', 'image/jpeg', 'ktp-sample.jpg');
$ch = curl_init('{{base-url}}/ocr/ktp-extract');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => ['file' => $file],
    CURLOPT_HTTPHEADER => ['x-api-co-id: YOUR_API_KEY'],
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch); 
 // Node.js 18+ (FormData & Blob native)
const fs = require('node:fs');
const buf = fs.readFileSync('ktp-sample.jpg');
const form = new FormData();
form.append('file', new Blob([buf]), 'ktp-sample.jpg');

fetch('{{base-url}}/ocr/ktp-extract', {
  method: 'POST',
  headers: { 'x-api-co-id': 'YOUR_API_KEY' },
  body: form,
})
  .then((r) => r.json())
  .then(console.log); 
 <?php

use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'x-api-co-id' => 'YOUR_API_KEY',
])->attach(
    'file',
    file_get_contents(storage_path('app/ktp-sample.jpg')),
    'ktp-sample.jpg'
)->post('{{base-url}}/ocr/ktp-extract');

return $response->json(); 
Contoh response (sukses)
 {
  "is_success": true,
  "message": "Success",
  "data": {
    "nik": "3175010101010001",
    "nama": "JOHN DOE",
    "tempat_lahir": "JAKARTA",
    "tanggal_lahir": "01-01-1990",
    "jenis_kelamin": "LAKI-LAKI",
    "alamat": "JL. CONTOH ALAMAT NO. 123",
    "rt_rw": "001/002",
    "kelurahan": "KELURAHAN CONTOH",
    "kecamatan": "KECAMATAN CONTOH",
    "kota": "KOTA JAKARTA SELATAN",
    "provinsi": "DKI JAKARTA",
    "agama": "ISLAM",
    "status_perkawinan": "BELUM KAWIN",
    "pekerjaan": "KARYAWAN SWASTA",
    "kewarganegaraan": "WNI",
    "berlaku_hingga": "SEUMUR HIDUP"
  }
} 
Error HTTP Pesan Perbaikan
API key hilang 401 API key required in x-api-co-id header Tambahkan API key dari dashboard.
Tanpa file 400 file is required Sertakan field file di multipart.
Tipe file tidak valid 400 Only JPG, JPEG, PNG image files are allowed Konversi ke JPG/PNG.
File terlalu besar 400 file size exceeds maximum limit of 5 MB Kompres atau turunkan resolusi.
KTP tidak terbaca 422 Failed to extract data. Please upload a clearer KTP image. Ambil ulang foto dengan pencahayaan lebih baik.
Points tidak cukup 402 Insufficient points balance. Please top up to continue. Top up di dashboard lalu coba lagi.
Enterprise ready

Butuh deployment on-premise?

Volume besar, data identitas, atau kebijakan internal yang mengharuskan pemrosesan di infrastruktur sendiri? KTP OCR tersedia dalam opsi deployment on-premise untuk kebutuhan enterprise.

Bicara dengan tim sales

Kombinasi Terbaik: KTP OCR + Face Matching

Capture KTP sekali, kemudian gunakan kembali foto untuk perbandingan biometrik. Gabungkan KTP OCR API dengan Face Matching API untuk menawarkan bundle verifikasi dokumen + wajah.

Single Capture Flow

OCR mem-parse teks sementara Face Matching membandingkan foto ID yang sama dengan selfie.

Siap Compliance

Tawarkan pengecekan dokumen dan biometrik untuk memenuhi regulasi fintech/finansial.

ARPU Lebih Tinggi

Bundle kedua API sebagai tier verifikasi premium dan tingkatkan revenue verifikasi.

Naik ke ID Check

Setelah OCR menangkap datanya, ID Verification API mencocokkan NIK, nama, dan tanggal lahir ke data kependudukan resmi — inti dari dukcapil check.

Face Matching API

Pertanyaan seputar OCR KTP dan cek NIK

Jawaban singkat soal cara panggil, field hasil, batas file, dan biaya per scan.

Bagaimana cara cek NIK lewat API ini?▼

Unggah foto KTP ke POST /ocr/ktp-extract dengan Content-Type: multipart/form-data. API membaca kartu dan mengembalikan nik beserta field lain dalam bentuk JSON terstruktur, jadi pengecekan NIK dilakukan dari hasil ekstraksi kartunya.

Field apa saja yang dikembalikan?▼

Objek data memuat nik, nama, tempat_lahir, tanggal_lahir, jenis_kelamin, alamat, rt_rw, kelurahan, kecamatan, kota, provinsi, agama, status_perkawinan, pekerjaan, kewarganegaraan, dan berlaku_hingga.

Berapa biayanya dan apakah request gagal ikut ditagih?▼

Rp 150 atau 150 points per scan berhasil. Request yang gagal tidak dikenakan biaya. Tidak ada retainer bulanan dan tidak ada biaya komitmen, cukup isi points di dashboard lalu panggil endpoint.

Format dan ukuran file apa yang diterima?▼

JPG atau PNG sampai 5 MB, dikirim lewat field file. Gunakan hasil foto yang paling jelas agar tingkat keberhasilannya tinggi.

Bagaimana jika fotonya miring atau hasil screenshot?▼

Model disesuaikan untuk kondisi pengambilan gambar sehari-hari, termasuk sudut miring, hasil screenshot, dan pencahayaan yang tidak merata. Selama teks di kartu masih terbaca, ekstraksi tetap berjalan.

Apakah gambar KTP yang diunggah disimpan?▼

Tidak. Gambar dienkripsi saat transit, diproses di memory, dan dihapus otomatis setelah ekstraksi selesai.

Bisakah dipakai bersama verifikasi wajah?▼

Bisa. Foto pada KTP dapat dipakai ulang sebagai pembanding untuk Face Matching API, sehingga verifikasi dokumen dan biometrik berjalan dalam satu alur.

Berapa biaya untuk 5.000 scan per bulan?▼

Rp 750.000, dihitung dari Rp 150 dikali 5.000 scan berhasil. Tidak ada tambahan biaya langganan di luar itu.

Bergabung dengan 11.000+ pengguna yang sudah mengandalkan API kami untuk operasional bisnis.

11.000+
Pengguna
100+
Bisnis
12jt+
Panggilan API
99,9%
Uptime SLA

Dipercaya oleh 100+ bisnis di berbagai industri

Dari instansi pemerintah, teknologi, dan pendidikan sampai kesehatan dan telekomunikasi, mencakup 8 sektor industri di seluruh Indonesia.

Ship KTP OCR dalam Hitungan Hari

Lewati siklus procurement dan vendor legacy. Isi points, call endpoint, dan mulai verifikasi ID Indonesia dengan harga Rp 150 per scan.

Ke Dashboard

Ditinjau oleh CTO Api.co.idDiperbarui 2 November 2026
Scroll to Top