Tokopedia API: produk, harga, dan toko dalam JSON
Tokopedia punya program resmi untuk penjual dan mitra, dan itu menjawab pertanyaan lain: katalog Anda sendiri dan pesanan Anda sendiri. API ini menjawab pertanyaan pasar — berapa harga yang dipasang, siapa penjualnya, dan apa kata pembeli. Tidak perlu akun penjual, jawabannya langsung JSON.
Endpoint
| endpoint | Apa yang dikembalikan | Wajib |
|---|---|---|
| search | Pencarian produk dengan kata kunci, plus filter harga, kondisi, dan rating serta pengurutan. | q |
| detail | Detail produk lengkap dari URL produk: harga, harga coret, diskon, kampanye yang sedang berjalan, gambar, dan penjual. | url |
| shop | Profil toko dari domain toko (bagian tokopedia.com/<toko>): nama, deskripsi, dan status operasional. | shop |
| shop_products | Katalog satu toko, 20 produk per halaman. | shop |
| reviews | Ulasan publik sebuah produk, berhalaman: bintang, teks ulasan, dan varian yang dibeli. | semua opsional |
Setiap panggilan dihitung dalam kredit. Panggilan yang gagal dan diblokir gratis.
Contoh yang berjalan
Harga coret dan harga jual adalah dua kolom berbeda. Kalau Anda hanya mengambil satu angka 'harga', data Anda akan terlihat benar padahal mencampur harga sebelum dan sesudah diskon.
curl -X POST https://api.reefapi.com/tokopedia/v1/search \
-H "x-api-key: KUNCI_ANDA" \
-H "content-type: application/json" \
-d '{"q": "sepatu lari", "page": 1}'{
"ok": true,
"data": {
"results": [
{
"name": "...",
"price": 459000,
"original_price": 699000,
"discount_percent": 34,
"shop": "...",
"rating": 4.8
}
]
},
"meta": { "record_count": 20, "cache_hit": false, "mode": "live" }
}Daripada menulis scraper Tokopedia sendiri
Menulis scraper Tokopedia berhasil di hari pertama. Masalahnya datang belakangan: ketika susunan kartu produk berubah, parser Anda mengembalikan daftar kosong tanpa error, dan ketika proteksi bot aktif, permintaan ditolak diam-diam. Di sisi Anda keduanya terlihat sama: 'produk tidak ditemukan'.
Di sini perawatan ada di pihak kami: kalau skema berubah kami yang memperbaiki mesinnya, kalau diblokir yang kembali adalah kode error dan panggilan itu tidak ditagih.
Untuk pekerjaan sekali jalan, skrip Anda sendiri memang lebih murah — kami katakan apa adanya. Untuk pemantauan harga yang harus jalan tiap hari, biayanya bukan di kode melainkan di kerusakan yang tidak terlihat.
Dokumentasi lain dalam bahasa Indonesia
Batasan dan catatan jujur
- Ini bukan API resmi Tokopedia dan kami tidak punya kemitraan dengan Tokopedia.
- `shop_products` mengembalikan maksimal 20 produk per halaman.
- Kalau penjual tidak menampilkan stok atau harga coret, kolomnya berisi null — kami tidak mengarang angka.
- Tidak ada cache: setiap panggilan menampilkan kondisi saat itu.