Coba
5.000 pencarian
US$9,25
US$1,85/1K pencarian
- Pasang di satu agent
- API yang sama dengan paket terbesar
- Kredit tidak pernah kedaluwarsa
Use case · AI agent · nama tool web_search
Agent yang bisa mencari tetapi tidak bisa membaca hanya menebak dari snippet. Beri ia satu tool yang melakukan keduanya: ia mencari di web langsung dan mengembalikan halaman pertama sebagai Markdown bersih, bernomor agar model dapat mengutipnya.
Jawaban singkat
Bagaimana cara memberi AI agent alat pencarian web yang mengembalikan konten halaman?
Bungkus API pencarian web sebagai tool yang menerima kueri dan mengembalikan sumber bernomor beserta teks halamannya. LLMWebSearch melakukan ini dalam satu panggilan: hasil berperingkat dari pencarian langsung, dengan 3 halaman pertama dibaca sebagai Markdown, untuk satu kredit. Harga mulai dari US$9,25 untuk 5.000 pencarian dan turun hingga US$1,20/1K pencarian. Tanpa KYC; bayar dengan kripto.
| Alat | web_search(query, recent) memanggil POST https://llmwebsearch.com/api/v1/search |
|---|---|
| Mengembalikan | Hingga 20 hasil berperingkat; 3 pertama dengan teks halamannya dalam Markdown |
| Kontrol panjang | max_chars per halaman, read untuk jumlah halaman, max_results untuk daftar |
| Biaya | Satu 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 |
| Filter | Pilih negara dan bahasa hasil, rentang waktu (hari, minggu, bulan, atau tahun terakhir), hasil web atau berita, serta domain yang ingin disertakan atau dikecualikan |
| Integrasi siap pakai | MCP server, OpenAI function calling, LangChain dan LlamaIndex, n8n, OpenClaw |
Karena jawabannya jarang ada di snippet. Halaman hasil pencarian memberi judul dan satu atau dua baris yang dipilih mesin pencari. Angka, tanggal, atau aturan yang ditanyakan pengguna Anda ada lebih jauh di halaman itu.
Agent yang hanya melihat snippet punya dua pilihan buruk. Ia bisa menjawab dari potongan informasi dan berisiko salah, atau memanggil tool kedua untuk mengambil setiap halaman. Pilihan kedua menggandakan round trip dan definisi tool.
Dengan LLMWebSearch, halaman-halaman pertama sudah datang dalam keadaan terbaca. Navigasi, iklan, dan banner cookie dihapus, jadi model menghabiskan tokennya untuk konten. Hasil lainnya tetap membawa snippet, yang membantu model memutuskan apakah perlu mencari lagi.
Buat skemanya tetap kecil: satu query wajib dan paling banyak satu atau dua switch. Model memanggil tool sederhana dengan lebih andal. Contoh di bawah mengekspos flag recent yang dipetakan ke time_range=month; sisanya ditetapkan di kode Anda.
Fungsi mengembalikan teks biasa, bukan JSON. Setiap sumber diawali dengan nomor, judul, dan URL, diikuti Markdown-nya. Tata letak itu membuat sitasi seperti [2] terasa wajar bagi model.
Jika agent Anda sudah menyertakan tool bernama web_search, seperti yang dilakukan Claude Code dan OpenClaw, beri nama lain untuk milik Anda, misalnya search_web. Dua tool dengan satu nama membingungkan model.
import json
import os
import requests
API = "https://llmwebsearch.com/api/v1/search"
HEADERS = {"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]}
# Tool definition in the OpenAI function-calling format; most agent frameworks accept the same JSON schema.
WEB_SEARCH_TOOL = {
"type": "function",
"function": {
"name": "web_search",
"description": "Search the live web. Returns numbered sources; the first ones include the page text in Markdown.",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "A short search query, 3 to 8 words"},
"recent": {"type": "boolean", "description": "True to keep only results from the past month"},
},
"required": ["query"],
},
},
}
def web_search(query, recent=False, read=3, max_chars=4000):
"""Run one search (1 credit with read <= 3) and return compact text the model can cite."""
body = {"q": query, "max_results": 5, "read": read, "max_chars": max_chars}
if recent:
body["time_range"] = "month"
resp = requests.post(API, headers=HEADERS, json=body, timeout=60)
resp.raise_for_status()
lines = []
for r in resp.json()["results"]:
lines.append(f"[{r['position']}] {r['title']} — {r['url']}")
if r.get("content_status") == "ok":
lines.append(r["content"])
else:
lines.append(r.get("snippet", ""))
lines.append("")
return "\n".join(lines)
def run_tool_call(call):
"""Execute a tool call returned by the model and give back the text for the tool message."""
args = json.loads(call["function"]["arguments"])
return web_search(args["query"], recent=args.get("recent", False))Cari ketika jawaban bergantung pada fakta yang berubah atau yang tidak bisa diketahui model. Harga, versi, hukum, jadwal, dan peristiwa terkini termasuk. Definisi dan pengetahuan stabil biasanya tidak.
Tulis aturan itu ke system prompt, dan tambahkan batas anggaran. Tiga kebiasaan membantu:
Tiga parameter menentukan berapa banyak teks yang sampai ke model. read menetapkan berapa halaman yang dibaca, dari 0 sampai 10. max_chars membatasi tiap halaman, dari 500 sampai 50,000 karakter. max_results menetapkan berapa hasil yang dicantumkan, dari 1 sampai 20.
Untuk agent chat, read=3 dengan max_chars=4000 mengembalikan sekitar 12,000 karakter teks halaman per pencarian. Itu menyisakan ruang untuk beberapa pencarian dalam satu percakapan. Untuk tugas riset yang meringkas sambil berjalan, halaman yang lebih panjang tidak masalah.
Field word_count memberi tahu Anda seberapa panjang halaman penuh sebelum dipotong. Agent bisa memakainya untuk memutuskan apakah perlu mengambil lebih banyak dengan extract endpoint.
Hasilnya tetap kembali, dengan judul, URL, dan snippet, tetapi tanpa konten. Field content_status menjelaskan alasannya.
blocked_by_robots: robots.txt situs tidak mengizinkan reader kami.blocked_by_site_policy: Situs yang menyetel Content-Signal: ai-input=no di robots.txt-nya menjaga halaman-halamannya agar tidak masuk ke konten hasil Anda.target_refused: situs menjawab dengan penolakan; statusnya ada di target_status.fetch_failed atau fetch_timeout: halaman tidak selesai dimuat tepat waktu.Saat situs menolak pembaca kami, hasil kembali tanpa konten dan dengan status dari situs tersebut: kami tidak pernah memecahkan CAPTCHA, masuk ke akun, atau mengakali blokir atau paywall. Beri tahu agent untuk memakai snippet, atau sumber lain, ketika sebuah halaman kembali kosong. Pencarian itu sendiri tetap satu kredit, apa pun yang terjadi pada tiap halaman.
Tool bawaan memang praktis tetapi memberi Anda kendali lebih sedikit. Per 22 Oktober 2026, tool web_search dari OpenAI berbiaya $10 per 1,000 panggilan ditambah konten pencarian yang ditagih sebagai token input. Web search Claude dari Anthropic juga berbiaya $10 per 1,000 pencarian ditambah biaya token. Grounding Gemini 3 mencakup 5,000 pencarian gratis sebulan pada tier berbayar, lalu $14 per 1,000.
Tool ini sebagian besar mengembalikan jawaban tertulis dengan sitasi, bukan halaman mentah. Tool ini juga mengikat pencarian Anda ke satu vendor model. Tool mandiri berfungsi dengan model apa pun dan memungkinkan Anda menetapkan panjang setiap halaman. Perbandingan tool bawaan memuat tabel lengkapnya.
Satu kredit per pencarian saat read bernilai 3 atau kurang. Asisten yang dipakai sebuah tim, menjawab 100 pertanyaan sehari dengan 4 pencarian masing-masing, menjalankan sekitar 12,000 pencarian sebulan. 25.000 pencarian seharga US$41,25 menutupi bulan itu dan sebagian besar bulan berikutnya.
Agent coding yang dipakai satu developer mungkin mencari 20 kali sehari, atau sekitar 600 kali sebulan. 5.000 pencarian seharga US$9,25 kemudian bertahan beberapa bulan, karena kredit tidak pernah kedaluwarsa. Panduan biaya menunjukkan hitungannya untuk beban kerja yang lebih besar.
Prototipe di 5.000 pencarian; pindah ke 25.000 pencarian atau 100.000 pencarian setelah agent dipakai sehari-hari.
5.000 pencarian
US$9,25
US$1,85/1K pencarian
25.000 pencarian
US$41,25
US$1,65/1K pencarian
100.000 pencarian
US$145
US$1,45/1K pencarian
Di setiap paket: 3 halaman teratas dibaca sebagai Markdown · Filter negara, bahasa, waktu dan domain · Panggilan gagal tidak dikenai biaya · Kredit tidak pernah kedaluwarsa
Bisa, melalui MCP server kecil yang mengekspos pencarian sebagai tool. Halaman MCP memuat kode dan konfigurasi kliennya.
Ya. Skema di atas adalah JSON Schema biasa, yang diterima Anthropic, Google, Mistral, dan framework open-source dengan sedikit perubahan. Tool ini hanya memanggil endpoint HTTPS kami.
Hitung panggilan di wrapper tool Anda dan kembalikan pesan singkat begitu anggaran habis. Tulis juga anggaran itu di system prompt, supaya model merencanakannya.
Bisa saja dicoba. Perlakukan teks halaman sebagai data: beri tahu model di system prompt untuk mengabaikan instruksi yang ditemukan di dalam sumber, dan jangan pernah biarkan sumber memicu tindakan sendiri.
Mulai dari US$1,20/1K pencarian · tanpa KYC
Dapatkan API key