Bagian dari Solusi eKYC

API OCR Paspor: Ekstrak Data dan MRZ dari Satu Foto

Unggah foto halaman data paspor, terima 16 field terstruktur beserta dua baris MRZ dalam satu respons JSON. Bayar Rp300 per scan, tanpa langganan dan tanpa biaya minimum bulanan.

16 Field2 Baris MRZ5 MB MaksimalRp300 per Scan
POST/ocr/passport-extract
{
  "is_success": true,
  "message": "Success",
  "data": {
    "passport_number": "X1234567",
    "full_name": "JOHN DOE",
    "nationality": "INDONESIA",
    "date_of_birth": "01-01-1990",
    "date_of_expiry": "01-01-2034",
    "mrz_line2": "X1234567<7IDN9001011M3401011<<<2"
  }
}
# Dipotong untuk ringkas. Objek data berisi 16 field.
200 OK
16Field Terstruktur
2Baris MRZ
5 MBUkuran Maksimal
Rp300Per Scan

Dipercaya oleh bisnis di berbagai industri

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

Kemampuan

Yang Dilakukan API OCR Paspor Ini

Daftar ini dibatasi pada yang benar-benar ada di kontrak API. Batasannya kami sebutkan terbuka di bagian berikutnya.

Enam belas field sekali panggil

Nomor paspor, nama lengkap, surname dan given names, kewarganegaraan, tanggal lahir, jenis kelamin, tempat lahir, tanggal terbit, tanggal kedaluwarsa, kantor penerbit, dan nomor registrasi keluar dalam satu respons JSON.

Dua baris MRZ mentah

Machine Readable Zone di bagian bawah halaman data dikembalikan apa adanya sebagai mrz_line1 dan mrz_line2, siap Anda validasi sendiri kalau butuh pemeriksaan checksum.

MRZ dipakai saat teks berbeda

Kalau teks cetak dan MRZ tidak sepakat, nilai dari MRZ yang dipakai. MRZ dicetak mesin dan lebih tahan terhadap foto miring, pantulan, dan cetakan yang pudar.

Format keluaran yang konsisten

Tanggal selalu DD-MM-YYYY dan jenis kelamin selalu M atau F, jadi Anda tidak perlu menormalkan sendiri sebelum menyimpan ke basis data.

Satu endpoint, multipart biasa

POST satu file ke /ocr/passport-extract. Tidak ada antrean, tidak ada polling, tidak ada webhook yang harus disiapkan lebih dulu.

API key yang sama

Header x-api-co-id yang sama dengan OCR KTP, OCR SIM, Face Matching, dan seluruh produk lain. Satu akun, satu saldo, satu tagihan.

Terus terang

Yang Belum Bisa, dan Kenapa

Lebih baik Anda tahu batasnya sekarang daripada setelah integrasi berjalan di produksi.

Bukan pemeriksa keaslian

Endpoint ini membaca isi halaman data, bukan menilai dokumennya asli atau palsu. Responsnya tidak memuat verdict keaslian. Untuk itu pasangkan dengan Passive Liveness dan Face Matching.

Hanya halaman data

Halaman visa, stempel imigrasi, dan sampul tidak dibaca. Yang dibutuhkan adalah halaman berfoto yang memuat biodata beserta dua baris MRZ di bawahnya.

Gambar saja, bukan PDF

JPG, JPEG, dan PNG sampai 5 MB. Hasil pindai berformat PDF perlu diubah dulu jadi gambar sebelum dikirim.

Tidak membaca chip e-paspor

Yang dibaca adalah apa yang tercetak di halaman data beserta MRZ-nya. Chip NFC pada e-paspor memerlukan perangkat dan protokol berbeda, di luar cakupan endpoint ini.

Cakupan negara belum dinyatakan

Dokumentasi resminya belum memuat daftar negara penerbit yang didukung, dan contoh yang dipublikasikan memakai paspor Indonesia. Tanyakan lebih dulu kalau Anda butuh paspor terbitan negara lain.

Tanpa kuota gratis

Produk ini murni bayar per pemakaian, tidak ada jatah scan gratis bulanan. Saldo poin dipotong per permintaan yang berhasil diproses.

Kontrak API

Satu POST, Satu Berkas

https://use.api.co.idBase URL, endpoint di /ocr/passport-extract
x-api-co-idHeader API key, sama untuk semua produk
multipart/form-dataSatu field bernama file
JPG, JPEG, PNGMaksimal 5 MB per berkas
Integrasi

Cara Memakai API OCR Paspor

Terbitkan API key

Daftar di dashboard lalu buat API key. Key yang sama berlaku untuk seluruh produk Api.co.id.

Kirim foto halaman data

Satu POST multipart dengan field file berisi JPG atau PNG sampai 5 MB.

Terima 16 field

Respons JSON berisi objek data dengan seluruh field terstruktur beserta dua baris MRZ.

Lanjutkan ke verifikasi

Kalau butuh memastikan pemiliknya, teruskan ke Face Matching dan Passive Liveness dengan key yang sama.

POST/ocr/passport-extract
curl -X POST "https://use.api.co.id/ocr/passport-extract" \
  -H "x-api-co-id: YOUR_API_KEY" \
  -F "[email protected]"
Referensi

Enam Belas Field pada Objek Data

Kolom sumber menunjukkan dari mana nilainya dibaca. Ketika keduanya berbeda, MRZ yang dipakai.

Field respons API OCR Paspor Api.co.id
FieldIsiSumber
passport_typeJenis paspor, misalnya P untuk paspor biasaMRZ
country_codeKode negara penerbit tiga hurufMRZ
passport_numberNomor pasporMRZ dan cetak
full_nameNama lengkap sesuai halaman dataCetak
surnameNama keluargaMRZ
given_namesNama depan dan tengahMRZ
nationalityKewarganegaraanMRZ dan cetak
date_of_birthTanggal lahir, format DD-MM-YYYYMRZ dan cetak
sexJenis kelamin, M atau FMRZ
place_of_birthTempat lahirCetak
date_of_issueTanggal terbit, format DD-MM-YYYYCetak
date_of_expiryTanggal kedaluwarsa, format DD-MM-YYYYMRZ dan cetak
issuing_officeKantor imigrasi penerbitCetak
registration_numberNomor registrasiCetak
mrz_line1Baris pertama MRZ, apa adanyaMRZ
mrz_line2Baris kedua MRZ, apa adanyaMRZ

Tanggal dikembalikan dalam format DD-MM-YYYY dan jenis kelamin sebagai M atau F, jadi tidak perlu dinormalkan lagi sebelum disimpan.

Harga

Rp300 per Scan, Tanpa Langganan

Saldo poin dipotong per permintaan yang berhasil diproses. Tidak ada biaya bulanan, tidak ada biaya minimum, dan tidak ada kuota gratis untuk produk ini.

FAQ

Pertanyaan Umum API OCR Paspor

Data apa saja yang dikembalikan API ini?

Enam belas field: jenis paspor, kode negara, nomor paspor, nama lengkap, surname, given names, kewarganegaraan, tanggal lahir, jenis kelamin, tempat lahir, tanggal terbit, tanggal kedaluwarsa, kantor penerbit, nomor registrasi, serta dua baris MRZ mentah. Semuanya dalam satu objek data di respons JSON.

Format dan ukuran file apa yang didukung?

JPG, JPEG, dan PNG, maksimal 5 MB per file. Dikirim sebagai multipart form data pada field bernama file. PDF belum didukung, jadi hasil pindai berformat PDF perlu Anda ubah dulu menjadi gambar.

Halaman paspor mana yang harus difoto?

Halaman data, yaitu halaman berfoto yang memuat biodata dan dua baris MRZ di bagian bawahnya. Halaman visa, halaman stempel imigrasi, dan sampul tidak dibaca karena tidak memuat field yang diekstrak.

Apa itu MRZ dan kenapa diutamakan?

MRZ adalah Machine Readable Zone, dua baris karakter di bagian bawah halaman data yang memang dirancang untuk dibaca mesin. Karena dicetak dalam font dan posisi baku, MRZ lebih tahan terhadap foto miring, pantulan cahaya, dan cetakan yang memudar dibanding teks biasa. Itu sebabnya ketika teks cetak dan MRZ berbeda, nilai MRZ yang dipakai.

Apakah API ini memeriksa keaslian paspor?

Tidak. API ini membaca dan menstrukturkan isi halaman data, bukan menilai dokumennya asli atau palsu, dan responsnya tidak memuat verdict keaslian. Untuk memastikan orang di depan kamera adalah pemilik paspornya, pasangkan dengan Passive Liveness Detection dan Face Matching.

Apakah paspor negara lain bisa dibaca?

Dokumentasi resminya belum menyatakan daftar negara yang didukung, dan contoh respons yang dipublikasikan memakai paspor Indonesia. Kalau kebutuhan Anda mencakup paspor terbitan negara lain, tanyakan lebih dulu ke tim kami sebelum mengintegrasikan.

Berapa biayanya dan apakah ada paket gratis?

Rp300 per scan, dipotong dari saldo poin, dan tidak ada biaya bulanan. Tidak ada kuota gratis untuk produk ini. Saldo dipotong untuk permintaan yang berhasil diproses, sehingga file rusak yang ditolak sistem tidak menagih.

Apakah bisa membaca chip pada e-paspor?

Belum. API ini menerima gambar dan membaca apa yang tercetak di halaman data beserta MRZ-nya. Membaca chip NFC pada e-paspor memerlukan perangkat dan protokol yang berbeda, dan itu di luar cakupan endpoint ini.

Ditinjau oleh CTO Api.co.idDiperbarui 23 Oktober 2026

Baca Paspor Pertama Anda Hari Ini

Daftar, terbitkan API key, lalu kirim satu foto halaman data. Dokumentasi memuat koleksi Postman dan spesifikasi OpenAPI supaya permintaan pertama jalan tanpa menulis kode.

Scroll to Top