Satu GET mengembalikan tarif 10 kurir dan 15 layanan sekaligus, lengkap dengan penanda termurah dan tercepat. Berbasis kode kecamatan, bukan kode kelurahan. Rp 5 per panggilan sukses — panggilan yang gagal tidak ditagih.
Cek Ongkir v2: Berbasis Kode Kecamatan, Mengembalikan quote_id
API Cek Ongkir v2 menghitung tarif pengiriman dari satu kecamatan ke kecamatan lain untuk seluruh kurir yang aktif di akun Anda. Sekali panggil, Anda dapat array rates berisi 15 layanan dari 10 kurir — masing-masing dengan harga, handling_fee, estimasi hari, dan penanda termurah/tercepat.
Dibanding versi sebelumnya yang memakai kode kelurahan 10 digit, v2 memakai kode kecamatan 6 digit yang jauh lebih pendek dan lebih mudah dipetakan dari alamat pengguna. Kode kecamatannya sendiri diambil dari endpoint lokasi bawaan API ini, tidak perlu memanggil API wilayah terpisah.
Dua hal baru yang tidak ada di v1: quote_id dan biaya opsional. quote_id adalah pegangan untuk langkah pemesanan — endpoint pembuatan order sedang disiapkan dan akan memakai ID ini. Biaya opsional mencakup asuransi (kirim item_value dan insurance) serta dimensi paket, yang memengaruhi tarif pada layanan kargo.
Harganya Rp 5 per panggilan sukses, dipotong dari saldo dan hanya setelah tarif benar-benar dikembalikan. Endpoint lokasi dan daftar kurir gratis, jadi penelusuran provinsi–kota–kecamatan tidak menambah biaya.
10 kurir, 15 layanan
JNE, J&T, J&T Cargo, SiCepat, SAP, Ninja, IDExpress, Lion Parcel, AnterAja, dan Paxel dihitung dalam satu panggilan.
Termurah & tercepat ditandai
Setiap item punya is_cheapest dan is_fastest, jadi Anda tidak perlu menyortir sendiri.
Asuransi dan dimensi
Kirim item_value, insurance, atau length/width/height untuk tarif yang lebih presisi.
quote_id untuk pemesanan
Setiap quote punya ID. Endpoint pembuatan order memakai ID ini pada rilis berikutnya.
Cara Kerja
Mulai dalam 3 Langkah
1
Ambil kode kecamatan
Telusuri /courier/v1/locations/provinces → /cities → /districts. Endpoint lokasi gratis, jadi hasilnya bisa Anda cache sendiri.
2
Panggil /courier/v2/rates
Kirim kode kecamatan asal, tujuan, dan berat. Tambahkan insurance atau dimensi kalau perlu.
3
Tampilkan rates dan simpan quote_id
Array rates sudah menandai mana yang termurah dan tercepat. quote_id dipakai saat endpoint pemesanan rilis.
Simulasi alur API
Dari kode kecamatan sampai daftar tarif siap tampil di checkout.
cek-ongkir-v2 — simulasi
asal317405 · Kebayoran Lama
tujuan317305 · Sawah Besar
berat1 kg
GET /courier/v2/rates
Menghitung tarif 10 kurir…
◇
quote_id diterbitkanq_8f3c1a9e2b7d4c05 · Rp 5 dipotong dari saldo
Setiap kurir dihitung untuk semua layanannya, bukan hanya layanan reguler.
JNE Express
JNT Express
JNT Cargo
SiCepat
SAP Express
Ninja Xpress
IDExpress
Lion Parcel
AnterAja
Paxel
Daftar live di /courier/v1/couriers
Kode Kecamatan (District Code)
Parameter origin_district_code dan destination_district_code memakai kode kecamatan, misalnya 317405 untuk Kebayoran Lama. Ambil kodenya dengan menelusuri /courier/v1/locations/provinces, lalu /courier/v1/locations/cities?province=31, lalu /courier/v1/locations/districts?city=3174. Ketiganya gratis dan datanya jarang berubah, jadi paling hemat kalau Anda simpan sendiri saat onboarding.
Harga
Rp 5 Per Panggilan Sukses, Tanpa Langganan
Tidak ada tier bulanan dan tidak ada kuota hangus. Saldo dipotong per panggilan yang benar-benar mengembalikan tarif.
Cara penagihan: saldo dicek sebelum request diteruskan, lalu dipotong Rp 5 hanya setelah kurir mengembalikan tarif. Kalau request gagal — parameter kurang, kecamatan tidak dikenali, atau kurir sedang bermasalah — saldo Anda tidak berkurang. Saldo tidak cukup akan dijawab 402 dengan pesan Insufficient balance for cek ongkir. Please top up.
Coba langsung
Lihat Responsnya Sebelum Menulis Kode
Kalkulator di bawah memanggil endpoint yang sama persis dengan yang didokumentasikan di halaman ini — GET /courier/v2/rates, sepuluh kurir, lima belas layanan, berbasis kode kecamatan. Angka yang muncul adalah angka yang akan Anda terima di data.rates.
Butuh versi yang bisa dibagikan ke tim non-teknis? Kalkulator yang sama tersedia sebagai halaman tersendiri di cek ongkir.
Dokumentasi
Dokumentasi API Cek Ongkir v2
Satu endpoint berbayar untuk tarif, tiga endpoint lokasi dan satu daftar kurir yang gratis.
Authentication
Semua request memerlukan header x-api-co-id berisi API key Anda. Base URL-nya https://use.api.co.id. Dapatkan API key di dashboard.
GET{{base-url}}/courier/v2/rates
Menghitung tarif dari kecamatan asal ke kecamatan tujuan untuk seluruh kurir aktif. Mengembalikan quote_id dan array rates. Ditagih Rp 5 per panggilan sukses.
Parameter
Tipe
Keterangan
origin_district_code
string (wajib)
Kode kecamatan asal. Ambil dari /courier/v1/locations/districts.
destination_district_code
string (wajib)
Kode kecamatan tujuan.
weight
number (wajib)
Berat paket dalam kilogram, harus lebih besar dari 0.
item_value
integer (opsional)
Nilai barang dalam Rupiah, dipakai untuk menghitung asuransi.
Alih-alih mendaftar dan berintegrasi ke sistem tiap ekspedisi satu per satu, Anda cukup memanggil satu endpoint dan menerima tarif dari sepuluh kurir sekaligus. Kirim kode kecamatan asal, kode kecamatan tujuan, dan berat paket; API mengembalikan setiap kombinasi kurir dan layanan yang bisa melayani rute tersebut. Untuk checkout e-commerce, ini berarti daftar opsi pengiriman muncul dalam satu round trip, bukan sepuluh.
Perhitungannya sampai level kecamatan, jadi ongkir yang tampil ke pembeli lebih dekat ke tarif sebenarnya dibanding tarif per kota.
Cuma mau menghitung ongkir sekali tanpa menulis kode? Pakai kalkulator cek ongkir kami — gratis, tanpa daftar, dan memakai API yang sama persis dengan yang didokumentasikan di halaman ini.
Kurir dan layanan yang didukung
Sepuluh kurir, lima belas layanan:
JNE Express — REG dan YES
J&T Express — EZ
J&T Cargo — Cargo
SiCepat — Regular dan BEST
SAP Express — Reguler
Ninja Xpress — Standard
IDExpress — Standard dan Cargo
Lion Parcel — Regpack dan Bigpack
AnterAja — Reguler dan Same Day
Paxel — Sameday
Daftar yang benar-benar aktif untuk akun Anda selalu bisa dicek lewat GET /courier/v1/couriers, dan itu yang sebaiknya Anda pakai untuk merender pilihan di checkout.
Apa bedanya dengan versi kode kelurahan
Versi lama memakai kode kelurahan 10 digit yang harus diambil dari API Wilayah Indonesia. Versi kedua memakai kode kecamatan 6 digit yang sudah tersedia di dalam API ini sendiri, lewat /courier/v1/locations/districts. Selain lebih pendek, kode kecamatan lebih stabil dan lebih mudah dicocokkan dengan alamat yang diketik pengguna.
Bentuk response-nya juga berubah. Dulu data.couriers berisi satu baris per kurir; sekarang data.rates berisi satu baris per layanan, sehingga JNE REG dan JNE YES muncul terpisah dengan harga masing-masing. Ditambah quote_id, penanda is_cheapest dan is_fastest, serta handling_fee dan insurance_fee yang sebelumnya tidak ada.
Model harganya ikut berubah dari langganan bulanan menjadi Rp 5 per panggilan sukses yang dipotong dari saldo.
Mengambil tarif JNE lewat API
Tarif JNE keluar dari panggilan GET /courier/v2/rates yang sama, tanpa integrasi terpisah ke sistem JNE. Dua layanannya dihitung sekaligus: REG untuk pengiriman reguler dan YES untuk yang butuh sampai lebih cepat. Keduanya muncul sebagai baris terpisah di rates, masing-masing dengan etd dan price, jadi Anda bisa menampilkan dua pilihan JNE ke pembeli tanpa memanggil API dua kali.
Mengambil tarif SAP Express lewat API
SAP Express dihitung lewat endpoint yang sama dengan kurir lain. SAP termasuk kurir yang tarifnya jarang tersedia lengkap di satu tempat, dan di sini tidak butuh perlakuan khusus — cukup kirim pasangan kode kecamatan dan berat, lalu baca baris dengan courier_code bernilai sap.
Mengambil tarif SiCepat lewat API
SiCepat mengembalikan dua layanan: Regular dan BEST. Karena perhitungannya antar kecamatan, pasangan origin_district_code dan destination_district_code menentukan tarif sampai level kecamatan. Kurir yang tidak melayani rute tersebut tidak muncul di rates, jadi Anda tidak perlu menyaring hasil kosong sendiri.
Cara integrasi API cek ongkir multi-kurir
Polanya REST standar api.co.id: satu GET /courier/v2/rates, autentikasi lewat header x-api-co-id: YOUR_API_KEY, response JSON. Tiga parameter wajib — origin_district_code, destination_district_code, dan weight — lalu baca array data.rates. Contoh request dalam cURL, Go, PHP, Node.js, dan Laravel ada di dokumentasi di halaman ini.
Satu saran praktis: simpan hasil /courier/v1/locations/districts di database Anda sendiri saat onboarding. Endpoint itu gratis dan datanya jarang berubah, sehingga pencarian kecamatan di form alamat bisa berjalan lokal dan hanya panggilan tarif yang menyentuh saldo.
Kode kecamatan, quote_id, penagihan, dan hal-hal yang berubah dari versi sebelumnya.
Apa itu API Cek Ongkir v2?▼
API Cek Ongkir v2 menghitung tarif pengiriman antar kecamatan di Indonesia untuk sepuluh kurir sekaligus: JNE, J&T Express, J&T Cargo, SiCepat, SAP Express, Ninja Xpress, IDExpress, Lion Parcel, AnterAja, dan Paxel. Satu panggilan mengembalikan lima belas layanan lengkap dengan harga, estimasi hari, dan penanda termurah serta tercepat.
Apa bedanya dengan versi sebelumnya?▼
Versi lama memakai kode kelurahan 10 digit dari API Wilayah Indonesia dan mengembalikan satu baris per kurir. Versi kedua memakai kode kecamatan 6 digit dari endpoint lokasi bawaan, mengembalikan satu baris per layanan, dan menambahkan quote_id, penanda termurah/tercepat, handling_fee, serta insurance_fee. Harganya juga berubah dari langganan bulanan menjadi Rp 5 per panggilan sukses.
Berapa biayanya?▼
Rp 5 per panggilan sukses ke /courier/v2/rates, dipotong dari saldo. Panggilan yang gagal tidak ditagih. Endpoint lokasi dan daftar kurir gratis.
Bagaimana cara mendapatkan kode kecamatan?▼
Telusuri tiga endpoint gratis secara berurutan: /courier/v1/locations/provinces untuk daftar provinsi, lalu /courier/v1/locations/cities?province= untuk kota atau kabupaten, lalu /courier/v1/locations/districts?city= untuk kecamatan. Nilai code pada langkah terakhir itulah yang dipakai sebagai origin_district_code dan destination_district_code.
Apa itu quote_id dan untuk apa?▼
quote_id adalah penanda untuk satu hasil perhitungan tarif. Endpoint pembuatan order sedang disiapkan dan akan memakai ID ini sebagai langkah pertama, sehingga tarif yang ditampilkan ke pembeli dan tarif yang dipesan berasal dari perhitungan yang sama.
Bagaimana cara memilih opsi termurah atau tercepat?▼
Setiap item di array rates punya field boolean is_cheapest dan is_fastest. Anda cukup mencari item yang bernilai true, tidak perlu menyortir sendiri. Kalau ingin urutan penuh, gunakan field price atau est.
Bisa menghitung biaya asuransi?▼
Bisa. Kirim item_value berisi nilai barang dalam Rupiah dan insurance bernilai true, lalu baca insurance_fee dan total_price di tiap item rates. Tanpa kedua parameter itu, insurance_fee bernilai nol.
Apakah mendukung COD?▼
Field is_cod sudah ada di setiap item rates untuk menandai layanan yang secara prinsip mendukung COD, tetapi tarif COD belum diaktifkan pada endpoint ini. Selama belum aktif, yang dikembalikan hanya layanan non-COD.
Bergabung dengan 8.000+ pengguna yang sudah mengandalkan API kami untuk operasional bisnis.
8.000+
Pengguna
100+
Bisnis
8jt+
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.
Mulai Cek Ongkir v2 Hari Ini
Rp 5 per panggilan sukses untuk sepuluh kurir dan lima belas layanan. Tidak ada langganan, tidak ada kuota hangus.