AI & Tech

DeepSeek Search & Fetch API: USD 0,75 per 1.000 Request, Ini Skema dan Batasnya

DeepSeek Search & Fetch API: USD 0,75 per 1.000 Request, Ini Skema dan Batasnya

DeepSeek membuka dua endpoint baru untuk aplikasi agent dan RAG: Search API di POST /v1/tools/search dan Fetch API di POST /v1/tools/fetch, keduanya berjalan di base URL https://api.deepseek.com. Tarifnya USD 0,75 per 1.000 request sukses untuk masing-masing endpoint, dan hanya request yang mengembalikan HTTP 200 berisi hasil yang ditagih. Batas lajunya 5 QPS per akun, dihitung terpisah antara Search dan Fetch.

TL;DR

  • Search mengembalikan daftar halaman terstruktur, Fetch mengembalikan isi satu halaman dalam format Markdown.
  • Harga USD 0,75 per 1.000 request sukses, bukan per token dan bukan per jumlah hasil yang diminta.
  • Request gagal, hasil kosong, dan timeout tidak ditagih, jadi biaya mengikuti hasil yang benar-benar terpakai.
  • QPS dibatasi 5 per akun untuk tiap endpoint, dan Fetch punya batas tambahan per domain.

Apa itu Search dan Fetch API dari DeepSeek?

Search adalah API pencarian web yang ditenagai mesin pencari internal DeepSeek dan mengembalikan hasil dalam JSON terstruktur. Fetch adalah API pengambil satu halaman yang mengembalikan judul dan isi halaman sebagai teks Markdown. Keduanya adalah API JSON mentah dengan autentikasi bearer yang sama seperti API model DeepSeek, dan keduanya bersifat read-only.

Posisinya jelas: ini bukan model, tapi dua alat pendukung yang biasanya dipasang di sisi server sebelum model dipanggil. Pola umumnya, agent menerima pertanyaan, memanggil Search untuk menemukan kandidat halaman, memilih beberapa URL, memanggil Fetch untuk mengambil isinya, lalu menyusun jawaban dari potongan teks itu. Dokumentasi resminya ada di DeepSeek API Docs: Search and Fetch.

Berapa biayanya dan kapan request tidak ditagih?

Tarifnya USD 0,75 per 1.000 request sukses untuk Search maupun Fetch, dan penagihan dihitung per request, bukan per token atau per jumlah hasil. Satu request Search yang meminta 50 hasil tetap dihitung satu request, sama seperti yang meminta 5 hasil. Parameter count hanya mengatur jumlah hasil, tidak mengubah harga.

KondisiSearchFetchDitagih
HTTP 200 dengan hasilArray results tidak kosongKonten halaman terambilYa
HTTP 200 tanpa hasilArray kosongTidak berlakuTidak
Error 4xx atau 5xxGagalGagalTidak
TimeoutGagalGagalTidak
QPS terlampaui (429)GagalGagalTidak

Ada satu catatan penting soal masa gratis. Kalau kamu memakai DeepSeek API lewat harness, termasuk Codex, pemanggilan tool sisi server sudah mengenai Search dan Fetch API, dan saat ini tidak dikenakan biaya. Penagihan per request baru mulai 1 November 2026 pukul 00.00 waktu Beijing. Artinya, integrasi yang sudah jalan lewat harness akan mulai menghasilkan baris biaya baru pada tanggal itu, dan perhitungan budget perlu disesuaikan sebelum tanggal tersebut.

Bagaimana cara memanggil endpoint Search?

Kirim POST ke endpoint Search dengan header Authorization berisi bearer token dan Content-Type application/json, lalu isi body JSON sesuai kebutuhan. Contoh minimalnya seperti ini.

curl https://api.deepseek.com/v1/tools/search -H "Authorization: Bearer DEEPSEEK_API_KEY" -H "Content-Type: application/json" -d '{"query": "DeepSeek V4 release", "count": 5, "need_content": true}'

Body menerima lima field. query wajib, panjang 1 sampai 128 karakter Unicode, tidak boleh seluruhnya spasi, dan mendukung operator pencarian. count opsional dengan default 10 dan rentang 1 sampai 50. ori_question opsional berisi pertanyaan asli pengguna sepanjang 1 sampai 128 karakter untuk membantu pemahaman query. localization opsional berisi alamat IP untuk melokalkan hasil. need_content opsional dengan default false, dan kalau true maka field content pada tiap hasil akan diisi teks halaman.

Field yang tidak dikenal akan diabaikan, bukan ditolak. Ini nyaman untuk eksperimen, tapi berbahaya untuk produksi: salah ketik nama field tidak akan memunculkan error, hanya perilaku yang diam-diam berbeda dari yang kamu kira. Validasi body di sisi aplikasi sebelum mengirim request tetap perlu.

Operator query apa saja yang didukung?

Query diteruskan apa adanya bersama sintaks operatornya, dan beberapa operator bisa dikombinasikan dalam satu query. Operator ini berguna untuk mempersempit hasil tanpa harus memfilter manual di sisi aplikasi.

OperatorContohFungsi
site:DeepSeek site:github.comBatasi hasil ke satu situs, gabungkan beberapa situs dengan OR
-site:DeepSeek -site:example.comKeluarkan situs tertentu dari hasil
-DeepSeek -advertisementKeluarkan halaman yang memuat kata tertentu
"..."DeepSeek "exact phrase"Cocokkan frasa persis
-"..."DeepSeek -"release notes"Keluarkan halaman dengan frasa persis tertentu
lang:DeepSeek lang:id,enBatasi hasil ke kode bahasa tertentu
after:DeepSeek after:2025-01-01Batasi ke halaman yang terbit setelah tanggal
before:DeepSeek before:2026-06-01Batasi ke halaman yang terbit sebelum tanggal

Untuk kebutuhan konten berbahasa Indonesia, kombinasi lang:id dengan after: cukup efektif menyaring hasil lama. Contoh query yang memadukan beberapa operator: DeepSeek site:github.com OR site:huggingface.co lang:en after:2025 dengan count 10.

Apa arti field respons seperti rerank_score dan authority?

Setiap item hasil membawa sepuluh field, dan dua di antaranya paling berguna untuk menyaring kualitas: rerank_score dan authority. rerank_score adalah skor relevansi 0 sampai 3 yang menggabungkan sinyal relevansi, otoritas, dan kebaruan, dengan nilai 1,5 ke atas dianggap hasil berkualitas. authority adalah tingkat otoritas halaman 0 sampai 4, di mana 3 ke atas menandai sumber yang sangat otoritatif, dan nilai -1 berarti tidak diketahui.

FieldTipeIsi
rerank_scorenumberSkor relevansi 0 sampai 3, nilai 1,5 ke atas dianggap berkualitas
titlestringJudul halaman hasil
urlstringAlamat halaman
snippetstringRingkasan pendek 100 sampai 200 karakter untuk ditampilkan di UI
summarystringRingkasan panjang 600 sampai 800 karakter untuk dibaca model
contentstringIsi halaman, kosong kalau need_content false atau konten tidak tersedia
site_namestring atau nullNama situs
site_iconstring atau nullURL ikon situs
datestring atau nullWaktu terbit dalam RFC 3339, null kalau tidak diketahui
authorityintegerTingkat otoritas 0 sampai 4, nilai -1 berarti tidak diketahui

Praktik yang masuk akal untuk pipeline RAG: saring dulu hasil dengan rerank_score di bawah 1,5, lalu urutkan berdasarkan authority untuk memilih kandidat yang layak diambil isinya. Meminta need_content true untuk 50 hasil sekaligus akan mengirim banyak teks dalam satu respons, jadi lebih hemat memilih 3 sampai 5 URL dulu, baru memanggil Fetch untuk masing-masing.

Kapan harus pakai Search, kapan pakai Fetch?

Pakai Search ketika kamu belum tahu halaman mana yang relevan, dan pakai Fetch ketika URL-nya sudah diketahui dan kamu butuh isinya. Search menjawab pertanyaan "halaman apa yang ada", Fetch menjawab pertanyaan "apa isi halaman ini". Dua pekerjaan berbeda, dua endpoint berbeda, dua baris biaya berbeda.

KebutuhanEndpointKeluaranBiaya per 1.000 sukses
Menemukan kandidat halaman dari sebuah querySearchArray results berisi metadata dan potongan teksUSD 0,75
Mengambil isi satu URL yang sudah diketahuiFetchJudul dan isi halaman dalam MarkdownUSD 0,75
Pipeline riset lengkapSearch lalu FetchIsi halaman terpilihDua baris tagihan terpisah

Fetch menerima URL maksimal 8.192 karakter, harus berupa HTTP atau HTTPS dengan host, dan tidak boleh memuat username atau password di dalamnya. Responsnya hanya dua field: title dan content berformat Markdown. Kalau halaman tidak bisa diambil, tidak ada konten yang bisa diekstrak, atau tipe kontennya tidak didukung, endpoint mengembalikan 404 dan request itu tidak ditagih.

Batas rate limit dan error apa yang perlu ditangani?

Kedua endpoint dibatasi 5 QPS per akun, dihitung terpisah sehingga trafik Search tidak memakan kuota Fetch. Batas ini berlaku di tingkat akun, bukan per API key, jadi menambah key tidak menambah kuota. Fetch juga punya batas QPS tambahan per domain, dan request yang melewatinya akan menerima 429.

Penanganan error mengikuti pola yang sederhana. Untuk 408, 429, dan 5xx, tunggu lalu ulangi request. Untuk 402, isi saldo akun dulu sebelum mengulang. Untuk 4xx lainnya, jangan ulangi tanpa mengubah request, karena penyebabnya ada di input, bukan di server. Kode 403 khusus Fetch berarti request ditolak oleh kebijakan keamanan, dan 404 berarti konten tidak bisa diambil atau tidak bisa diekstrak.

Karena biaya dihitung per request sukses, retry yang berhasil tetap menambah tagihan, sementara retry yang gagal tidak. Ini membuat pola retry dengan backoff lebih aman dari sisi biaya dibanding membanjiri endpoint dengan percobaan cepat. Untuk pipeline yang berjalan berkala, tambahkan penghitung request sukses per hari supaya biaya bisa diproyeksikan sebelum tagihan datang. Halaman status layanan tersedia di status.deepseek.com, dan pengelolaan saldo ada di DeepSeek Platform.

Bagaimana alur integrasi yang hemat biaya?

Alur yang hemat biaya memisahkan tahap pencarian, penyaringan, dan pengambilan isi, sehingga request mahal hanya dipakai untuk halaman yang benar-benar relevan. Empat langkah berikut cukup untuk sebagian besar pipeline RAG skala kecil.

  1. Kirim satu request Search dengan count 10 sampai 20 dan need_content false, supaya respons tetap ringan.
  2. Saring hasil di sisi aplikasi memakai rerank_score dan authority, sisakan 3 sampai 5 kandidat terbaik.
  3. Panggil Fetch hanya untuk kandidat itu, satu request per URL, lalu simpan hasilnya dengan cache berdurasi.
  4. Simpan penghitung request sukses per hari, dan bandingkan dengan proyeksi biaya bulanan sebelum menaikkan volume.

Cache adalah penghemat terbesar. Halaman dokumentasi dan artikel rilis jarang berubah dalam hitungan jam, jadi menyimpan hasil Fetch selama 12 sampai 24 jam memotong request berulang tanpa mengorbankan kesegaran data. Untuk Search, cache per query dengan durasi lebih pendek, misalnya 1 sampai 3 jam, karena hasil pencarian lebih cepat berubah dibanding isi halaman.

FAQ

Apakah biaya Search dihitung per hasil yang dikembalikan?

Tidak. Biaya dihitung per request sukses, bukan per hasil. Satu request dengan count 50 dan satu request dengan count 5 sama-sama dihitung satu request seharga USD 0,75 per 1.000 request, selama keduanya mengembalikan array hasil yang tidak kosong.

Apakah Search dan Fetch bisa dipakai tanpa API key DeepSeek?

Tidak bisa. Keduanya memakai autentikasi bearer yang sama dengan API model DeepSeek, jadi kamu perlu API key yang valid dan saldo akun yang cukup. Request tanpa key yang valid akan menerima 401, dan request dengan saldo tidak cukup akan menerima 402.

Apakah hasil Fetch selalu dalam format Markdown?

Ya, field content pada respons Fetch berisi isi halaman sebagai teks Markdown. Kalau halaman tidak punya konten yang bisa diekstrak menjadi Markdown, endpoint mengembalikan 404 dan request tersebut tidak masuk tagihan karena tidak menghasilkan konten.

Kapan penagihan untuk pemakaian lewat harness mulai berlaku?

Mulai 1 November 2026 pukul 00.00 waktu Beijing. Sebelum tanggal itu, pemanggilan tool sisi server yang terjadi saat memakai DeepSeek API lewat harness, termasuk Codex, tidak dikenakan biaya per request. Setelah tanggal tersebut, tarif USD 0,75 per 1.000 request sukses berlaku.

💬 Komentar (0)

Belum ada komentar. Jadilah yang pertama! 💬

Komentar akan muncul setelah moderasi.