Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen. Bayar dengan kripto: BTC, USDT, USDC, ETH, SOL, LTC
Bahasa: Bahasa Indonesia
Dapatkan API key

Dokumentasi · referensi API

Referensi endpoint search: POST dan GET /search

/search menjalankan pencarian web secara langsung, memeringkat hingga 20 hasil, dan membaca halaman di balik hasil-hasil pertama. Halaman ini mencantumkan setiap parameter, nilai default-nya, batasannya, dan pengaruhnya terhadap harga.

Terakhir diperbarui: · 8 menit baca

Jawaban singkat

Parameter apa saja yang diterima endpoint search LLMWebSearch?

Endpoint /search dari LLMWebSearch hanya membutuhkan q. Parameter opsional mengatur berapa banyak hasil yang dikembalikan (max_results), berapa banyak halaman yang dibaca (read), format dan panjang konten, news atau web, rentang waktu, negara dan bahasa, serta domain yang dipertahankan atau dibuang. Membaca hingga 3 halaman membutuhkan 1 kredit, mulai dari US$1,20/1K pencarian per Oktober 2026. Tanpa KYC; bayar dengan kripto.

/search at a glance

MetodePOST dengan body JSON, atau GET dengan nama yang sama di query string
URLhttps://llmwebsearch.com/api/v1/search
Wajibq: 1 hingga 400 karakter; operator pencarian diteruskan apa adanya
Default5 hasil, 3 pertama dibaca, Markdown hingga 6.000 karakter per halaman
PenagihanSatu kredit membayar satu pencarian: hingga 20 hasil berperingkat, dengan halaman dari 3 hasil teratas dibaca dan dikembalikan sebagai Markdown. Membaca 4 hingga 10 halaman menjadi 2 kredit. Panggilan yang berakhir dengan error tidak dikenakan biaya
HasilHasil berasal dari pencarian web langsung yang dijalankan pada saat panggilan Anda, dalam urutan peringkat dari mesin pencari; tidak ada yang disajikan dari indeks lama
FilterPilih negara dan bahasa hasil, rentang waktu (hari, minggu, bulan, atau tahun terakhir), hasil web atau berita, serta domain yang ingin disertakan atau dikecualikan
Page readerLLMWebSearch/1.0 (+https://llmwebsearch.com/bot/)

Cari di web dan baca hasil teratas (POST)

POST/api/v1/search

Menjalankan pencarian web secara langsung dan mengembalikan hasil yang telah diperingkat. Halaman dari read hasil pertama diambil secara paralel dan konten utamanya dikembalikan dalam content. Contoh ini menanyakan cara merotasi API key; judul, tanggal, dan nilai hanyalah ilustrasi.

Autentikasi: API key di header Authorization: Bearer API_KEY.

Body permintaan

FieldTipeWajibDeskripsi
qstringYaKueri pencarian, 1 hingga 400 karakter. Tanda kutip dan operator seperti site: dipertahankan apa adanya.
max_resultsintegerTidakJumlah hasil yang diperingkat, 1 hingga 20. Default 5.
readintegerTidakBerapa banyak hasil pertama yang dibaca dan dikembalikan bersama kontennya, 0 hingga 10. Default 3. Mulai dari 4 ke atas, panggilan membutuhkan 2 kredit.
formatstringTidakmarkdown (default) atau text untuk konten halaman.
max_charsintegerTidakBatas panjang konten tiap halaman, 500 hingga 50.000 karakter. Default 6.000.
topicstringTidakweb (default) atau news.
time_rangestringTidakday, week, month, atau year. Tanpa default: tanggal apa pun.
countrystringTidakKode negara dua huruf (ISO 3166-1 alpha-2) untuk lokasi pencarian dijalankan. Default us.
languagestringTidakBahasa hasil, seperti en, de, atau pt-BR. Default en.
include_domainsstring[]TidakHingga 20 domain; hanya hasil dari domain ini dan subdomainnya yang dipertahankan.
exclude_domainsstring[]TidakHingga 20 domain yang hasilnya dibuang.
Contoh: five results, the top three read as Markdown
{
  "q": "how to rotate api keys without downtime",
  "max_results": 5,
  "read": 3,
  "max_chars": 6000
}
Contoh: news of the past week from two sites, nothing read
{
  "q": "open source license change",
  "topic": "news",
  "time_range": "week",
  "include_domains": [
    "news.example.com",
    "example.org"
  ],
  "read": 0
}

Respons 200

{
  "query": "how to rotate api keys without downtime",
  "created_at": "2026-10-22T10:15:04Z",
  "credits_used": 1,
  "results": [
    {
      "position": 1,
      "title": "Rotating API keys",
      "url": "https://docs.example.com/security/key-rotation",
      "host": "docs.example.com",
      "snippet": "Create a second key, deploy it everywhere, then revoke the first one.",
      "published_at": "2026-09-30",
      "content_status": "ok",
      "content": "# Rotating API keys\n\n## Zero-downtime rotation\n\n1. Create a second key.\n2. Deploy it to every service.\n3. Revoke the old key.",
      "word_count": 948
    },
    {
      "position": 2,
      "title": "Key rotation checklist",
      "url": "https://blog.example.org/key-rotation-checklist",
      "host": "blog.example.org",
      "snippet": "Keep two keys active during the switch and alert on the old one.",
      "content_status": "blocked_by_robots"
    },
    {
      "position": 3,
      "title": "Secrets management basics",
      "url": "https://security.example.net/secrets-basics",
      "host": "security.example.net",
      "snippet": "Never commit keys to a repository.",
      "published_at": "2026-06-12",
      "content_status": "ok",
      "content": "# Secrets management basics\n\n**Never** commit keys to a repository...",
      "word_count": 1310
    },
    {
      "position": 4,
      "title": "API key best practices",
      "url": "https://dev.example.com/api-key-best-practices",
      "host": "dev.example.com",
      "snippet": "Scope each key to one service and one environment.",
      "content_status": "not_requested"
    }
  ]
}

Contoh kode

curl
curl -s "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "how to rotate api keys without downtime", "max_results": 5, "read": 3}'
Python
import os
import requests

resp = requests.post(
    "https://llmwebsearch.com/api/v1/search",
    headers={"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]},
    json={"q": "how to rotate api keys without downtime", "max_results": 5, "read": 3},
    timeout=60,
)
resp.raise_for_status()
for r in resp.json()["results"]:
    print(r["position"], r["content_status"], r["url"])
Node.js
const res = await fetch('https://llmwebsearch.com/api/v1/search', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.LLMWEBSEARCH_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ q: 'how to rotate api keys without downtime', max_results: 5, read: 3 }),
});
const { results } = await res.json();
for (const r of results) console.log(r.position, r.content_status, r.url);

Cari di web (GET)

GET/api/v1/search

Pencarian yang sama dengan parameter di query string, di-URL-encode. List seperti include_domains ditulis sebagai satu nilai yang dipisahkan koma. Berguna untuk pengujian cepat atau untuk alat yang hanya mengirim permintaan GET. Contoh ini hanya meminta hasil (read=0).

Autentikasi: API key di header Authorization: Bearer API_KEY.

Parameter

NamaDiTipeWajibDeskripsi
qquerystringYaKueri pencarian, di-URL-encode, 1 hingga 400 karakter.
max_resultsqueryintegerTidak1 hingga 20. Default 5.
readqueryintegerTidak0 hingga 10. Default 3; 4 atau lebih dikenakan 2 kredit.
formatquerystringTidakmarkdown (default) atau text.
max_charsqueryintegerTidak500 hingga 50.000 per halaman. Default 6.000.
topicquerystringTidakweb (default) atau news.
time_rangequerystringTidakday, week, month atau year.
countryquerystringTidakKode ISO 3166-1 alpha-2. Default us.
languagequerystringTidakKode bahasa. Default en.
include_domainsquerystringTidakDaftar dipisahkan koma, hingga 20 domain.
exclude_domainsquerystringTidakDaftar dipisahkan koma, hingga 20 domain.
api_keyquerystringTidakAPI key Anda, saat Anda tidak mengirim header Authorization.

Respons 200

{
  "query": "postgres connection pooling",
  "created_at": "2026-10-22T10:21:47Z",
  "credits_used": 1,
  "results": [
    {
      "position": 1,
      "title": "Connection pooling explained",
      "url": "https://docs.example.com/db/pooling",
      "host": "docs.example.com",
      "snippet": "A pool keeps a few database connections open and lends them to requests.",
      "content_status": "not_requested"
    },
    {
      "position": 2,
      "title": "Sizing a connection pool",
      "url": "https://blog.example.org/pool-size",
      "host": "blog.example.org",
      "snippet": "Start small: the right size depends on cores and disk, not on traffic.",
      "published_at": "2026-03-04",
      "content_status": "not_requested"
    }
  ]
}

Contoh kode

curl
curl -sG "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  --data-urlencode "q=postgres connection pooling" \
  -d max_results=10 -d read=0
Python
import os
import requests

resp = requests.get(
    "https://llmwebsearch.com/api/v1/search",
    headers={"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]},
    params={"q": "postgres connection pooling", "max_results": 10, "read": 0},
    timeout=60,
)
print([r["url"] for r in resp.json()["results"]])
Node.js
const params = new URLSearchParams({ q: 'postgres connection pooling', max_results: '10', read: '0' });
const res = await fetch(`https://llmwebsearch.com/api/v1/search?${params}`, {
  headers: { Authorization: `Bearer ${process.env.LLMWEBSEARCH_API_KEY}` },
});
console.log((await res.json()).results.map((r) => r.url));

Bagaimana cara mendapatkan hasil tanpa konten halaman sama sekali?

Set read ke 0. Setiap hasil lalu dikembalikan dengan judul, URL, host, snippet, dan tanggalnya, serta content_status: "not_requested". Responsnya jauh lebih kecil, yang membantu saat agen hanya perlu memilih tautan mana yang penting.

Harganya tetap 1 kredit, sama seperti membaca hingga 3 halaman. Pola yang umum adalah pencarian read=0 untuk menyaring kandidat, lalu panggilan extract pada dua atau tiga URL yang dipilih model.

Kapan sebuah pencarian dikenakan 2 kredit?

Saat read antara 4 dan 10. Membaca lebih banyak halaman butuh lebih banyak kerja di sisi kami, jadi harganya naik sekali, dan tetap 2 kredit hingga maksimum 10 halaman.

credits_used di setiap respons menunjukkan biaya panggilan tersebut. Halaman yang tidak bisa dibaca, karena aturan robots.txt atau penolakan, tidak menurunkan atau menaikkan harga itu. Jika Anda biasanya hanya butuh beberapa halaman penuh, biarkan read di 3 dan panggil /extract untuk halaman tambahan yang jarang.

Bagaimana cara mencari berita terbaru?

Kirim topic: "news" dan time_range. Hasilnya lalu berasal dari artikel berita, dan time_range hanya menyimpan hasil dari day, week, month atau year terakhir. published_at diisi saat artikel atau hasil pencarian mencantumkan tanggal.

Filter kesegaran yang sama berfungsi dengan topic: "web". Berguna untuk pertanyaan seperti rilis terbaru atau perubahan harga, di mana halaman lama bisa menyesatkan model.

Berita dari minggu lalu, 3 artikel teratas dibaca
curl -s "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "database release security fix", "topic": "news", "time_range": "week", "read": 3}'

Bagaimana cara membatasi hasil ke situs tertentu?

Cantumkan di include_domains, hingga 20 entri. Hanya hasil yang host-nya salah satu domain tersebut, atau subdomainnya, yang disimpan: example.com juga cocok dengan docs.example.com. Gunakan exclude_domains untuk kebalikannya, misalnya untuk menyingkirkan situs Anda sendiri dari hasil.

Di body POST kedua field ini berupa array JSON. Di request GET, tulis keduanya sebagai satu nilai dipisahkan koma. Kueri itu sendiri juga bisa membawa operator site:; operator itu diteruskan ke pencarian apa adanya.

Apa yang diubah oleh country dan language?

country menentukan lokasi pencarian dijalankan, dengan kode dua huruf seperti us, de atau br. Peringkat berbeda per negara, terutama untuk layanan lokal, harga, dan regulasi. language menentukan bahasa hasil, seperti en, fr atau pt-BR.

Keduanya default ke Amerika Serikat dan bahasa Inggris. Set keduanya bersamaan saat agen bekerja untuk pengguna di satu pasar: pengguna Jerman yang bertanya soal aturan pajak ingin country: "de" dan language: "de".

Berapa banyak teks halaman yang dikembalikan?

Hingga max_chars karakter per halaman, default 6.000 dan antara 500 hingga 50.000. Batas ini melindungi context window model: tiga halaman dengan 6.000 karakter kira-kira 4.500 token bahasa Inggris.

word_count menghitung seluruh teks yang diekstrak, sebelum dipotong, jadi Anda bisa tahu kapan sebuah halaman dipangkas. Saat jawaban butuh satu dokumen panjang, cari dulu dengan batas rendah, lalu ambil halaman itu saja melalui /extract dengan batas lebih tinggi. Halaman yang lambat tidak ditunggu tanpa batas: setelah 15 detik halaman itu dikembalikan sebagai fetch_timeout, tanpa konten.

Endpoint pencarian: pertanyaan umum

Sebaiknya saya pakai POST atau GET?

POST di kode, karena array JSON dan kueri panjang lebih sederhana di body. GET cocok untuk tes cepat di terminal atau tool yang hanya mengirim query string. Keduanya mengembalikan respons yang sama dan berbiaya sama.

Bisakah saya meminta lebih dari 20 hasil?

Tidak. 20 adalah maksimum per panggilan. Agen jarang butuh lebih: pencarian kedua dengan kueri yang diubah kata-katanya biasanya membawa sumber yang lebih baik daripada daftar panjang.

Apakah halaman dibaca satu per satu?

Tidak, secara paralel. Halaman yang tidak menjawab dalam 15 detik dikembalikan tanpa konten, sebagai fetch_timeout, sehingga satu situs yang lambat tidak menahan seluruh respons.

Mesin pencari mana yang menghasilkan hasil?

Hasil berasal dari pencarian web langsung yang dijalankan pada saat panggilan Anda, dalam urutan peringkat dari mesin pencari; tidak ada yang disajikan dari indeks lama. Kami tidak mempublikasikan penyedia upstream mana yang menjalankan pencarian.

Mulai dari US$1,20/1K pencarian · tanpa KYC

Dapatkan API key