API

Carsome API: harga dan stok mobil bekas Carsome dalam JSON

Carsome tidak membuka API untuk pengembang. API ini membaca stok mobil bekas yang tampil publik di carsome.id — merek, tahun, kilometer, harga dan showroom — lalu mengembalikannya dalam bentuk JSON. Ini bukan jalur untuk dealer atau pemilik mobil yang ingin menjual ke Carsome; ini sisi pembeli: mobil apa yang sedang dijual dan berapa harganya saat itu juga. Mesin yang sama juga membaca Carsome Malaysia dan Thailand lewat parameter `country`.

Endpoint

endpointApa yang dikembalikanWajib
searchCari stok satu negara (`country: "id"` untuk Indonesia) dengan kata kunci, merek, model, tipe bodi, kota, transmisi, warna, harga, cicilan, kilometer dan tahun, dengan sepuluh pilihan urutan. Tiap baris membawa semua jenis harga, VIN, pelat nomor dan showroom.country
detailData lengkap satu mobil dari `car_no` (bersama `country`) atau dari URL-nya: tanggal registrasi, masa berlaku pajak dan garansi, biaya booking, galeri foto, alamat dan jam buka showroom, serta laporan inspeksi Carsome per titik pemeriksaan.car_no
makesSemua merek dan model yang sedang ada di stok negara itu, dengan id angka yang dipakai `search`.country
filtersDaftar filter yang berlaku saat ini: id lokasi, tipe bodi, warna, transmisi, urutan, rentang harga, cicilan, tahun dan kilometer stok, serta kampanye yang sedang berjalan.country

Setiap panggilan dihitung dalam kredit. Panggilan yang gagal dan diblokir gratis.

Contoh yang berjalan

Di Indonesia Carsome memasang dua harga, Harga Cash dan Harga Kredit, dan harga kredit justru lebih rendah. Filter dan urutan harga di situs memakai harga kredit (`price_basis`). Kalau Anda membandingkan dengan harga cash dari tempat lain, pakai `price_cash`: pada Avanza G 2022 di bawah ini selisihnya Rp6.000.000.

Permintaan
curl -X POST https://api.reefapi.com/carsome/v1/search \
  -H "x-api-key: KUNCI_ANDA" \
  -H "content-type: application/json" \
  -d '{"country": "id", "query": "avanza", "page_size": 20}'
Respons (dipersingkat)
{
  "ok": true,
  "data": {
    "rows": [
      {
        "car_no": "CRXF000",
        "title": "2022 Toyota AVANZA G 1.5",
        "year": 2022,
        "mileage_km": 55122,
        "transmission": "Automatic",
        "fuel": "Bensin",
        "seats": "7+",
        "tag": "Plat Genap",
        "store": { "name": "CARSOME Cibinong", "city": "Bogor" },
        "currency": "IDR",
        "price_cash": 206000000,
        "price_credit": 200000000,
        "price_before_campaign": 208000000,
        "campaign_discount": 2000000,
        "credit_discount": 6000000,
        "price_basis": 200000000,
        "monthly_installment": 3004332,
        "loan": { "down_payment_rate": 0.3, "tenure_years": 5, "interest_rate": 0.1, "provider": "Bank" },
        "campaigns": [{ "id": 75, "name": "Discount Aging", "ends_at": "2026-12-31T11:03:06Z" }],
        "listed_on": "2026-06-25"
      },
      ...
    ],
    "summary": { "country": "id", "currency": "IDR", "total_results": 13, "last_page": 1, "has_more": false }
  },
  "meta": { "record_count": 13, "cache_hit": false, "mode": "live" }
}

Kenapa tidak scrape Carsome sendiri?

Halaman Carsome diisi dari API internal situsnya sendiri, dan masalahnya ada di situ: satu angka bernama harga punya arti berbeda di tiap negara. Di Indonesia angka utamanya harga kredit, di Malaysia harga kampanye, di Thailand harga termasuk PPN. Skrip yang langsung mengambil field `price` akan mencampur harga cash dan kredit tanpa satu pun error.

Jebakan lain yang kami ukur saat membangun mesin ini: cicilan per bulan yang tercetak di halaman tidak selalu sama dengan field cicilan di data mentah, nama warna muncul dalam bahasa Indonesia di hasil pencarian tapi dalam bahasa Inggris di halaman detail, dan waktu berakhirnya kampanye ditulis dalam detik di satu tempat dan dalam milidetik di tempat lain.

Di sini setiap harga dipisah dengan nama yang jelas dan sudah dicocokkan dengan angka yang tercetak di halaman mobil. Kalau datanya hanya perlu ditarik sekali, skrip buatan sendiri tetap lebih hemat. Kalau harga dipantau setiap hari, yang mahal justru salah baca yang tidak ketahuan.

Batasan dan catatan jujur

  • Ini bukan API resmi Carsome dan kami tidak punya kemitraan dengan Carsome.
  • Saat diukur (24 Oktober 2026) stok Carsome Indonesia berjumlah 296 mobil, semuanya di showroom Jabodetabek: Bekasi, Bogor, Jakarta Barat, Jakarta Selatan, Jakarta Utara, Tangerang dan Tangerang Selatan. Lokasi di luar daftar `filters`, misalnya Bandung atau Surabaya, mengembalikan 0 mobil.
  • Isinya hanya mobil yang dijual Carsome sendiri; ini bukan marketplace iklan dari penjual perorangan.
  • Label `tag` seperti "Plat Genap" (berguna untuk aturan ganjil-genap) hanya ada pada sebagian mobil; selebihnya null.
  • Riwayat servis, jumlah pemilik sebelumnya dan tenaga mesin tidak dipublikasikan situs, jadi juga tidak ada di sini.