Probeer
5.000 zoekopdrachten
US$ 9,25
US$ 1,85/1K zoekopdrachten
- Koppel het aan één agent
- Dezelfde API als het grootste pack
- Credits verlopen nooit
Use case · AI-agents · toolnaam web_search
Een agent die kan zoeken maar niet lezen, gokt op basis van snippets. Geef hem één tool die beide doet: hij doorzoekt het live web en geeft de eerste pagina's terug als schone Markdown, genummerd zodat het model ze kan citeren.
Snel antwoord
Hoe geef ik een AI-agent een webzoektool die paginacontent teruggeeft?
Verpak een webzoek-API als een tool die een zoekopdracht aanneemt en genummerde bronnen met hun paginatekst teruggeeft. LLMWebSearch doet dit in één aanroep: gerangschikte resultaten uit een live zoekopdracht, met de eerste 3 pagina's gelezen als Markdown, voor één credit. Prijzen beginnen bij US$ 9,25 voor 5.000 zoekopdrachten en dalen tot US$ 1,20/1K zoekopdrachten. Zonder KYC; betalen met crypto.
| Tool | web_search(query, recent) roept POST https://llmwebsearch.com/api/v1/search aan |
|---|---|
| Retourneert | Tot 20 gerangschikte resultaten; de eerste 3 met hun paginatekst in Markdown |
| Lengtebeheer | max_chars per pagina, read voor het aantal pagina's, max_results voor de lijst |
| Kosten | Eén credit betaalt één zoekopdracht: tot 20 gerangschikte resultaten, waarbij de pagina's van de eerste 3 worden gelezen en als Markdown teruggegeven. Het lezen van 4 tot 10 pagina's kost 2 credits. Een call die op een fout eindigt, kost niets |
| Filters | Kies het land en de taal van de resultaten, een tijdsbereik (afgelopen dag, week, maand of jaar), web- of nieuwsresultaten, en domeinen die je wilt opnemen of uitsluiten |
| Kant-en-klare integraties | MCP-server, OpenAI function calling, LangChain en LlamaIndex, n8n, OpenClaw |
Omdat het antwoord zelden in de snippet staat. Een resultatenpagina geeft een titel en een of twee regels die de zoekmachine heeft gekozen. Het getal, de datum of de regel waar je gebruiker naar vroeg, staat verderop op de pagina.
Een agent die alleen snippets ziet, heeft twee slechte opties. Hij kan antwoorden op basis van een fragment en het risico lopen fout te zitten, of hij kan een tweede tool aanroepen om elke pagina op te halen. De tweede optie verdubbelt de round trips en de tool-definities.
Met LLMWebSearch komen de eerste pagina's al gelezen binnen. Navigatie, advertenties en cookiebanners zijn verwijderd, zodat het model zijn tokens aan inhoud besteedt. De overige resultaten behouden hun snippets, die het model helpen beslissen of het opnieuw moet zoeken.
Houd het schema klein: één verplichte query en hooguit een of twee schakelaars. Modellen roepen eenvoudige tools betrouwbaarder aan. Het onderstaande voorbeeld biedt een recent-flag die aan time_range=month is gekoppeld; al het overige staat vast in je code.
De functie retourneert platte tekst, geen JSON. Elke bron begint met een nummer, een titel en een URL, gevolgd door de Markdown. Die opbouw maakt citaties zoals [2] natuurlijk voor het model.
Als je agent al een tool met de naam web_search meelevert, zoals Claude Code en OpenClaw doen, geef de jouwe dan een andere naam, bijvoorbeeld search_web. Twee tools met dezelfde naam verwarren het 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))Zoek wanneer het antwoord afhangt van feiten die veranderen of die het model niet kan weten. Prijzen, versies, wetten, dienstregelingen en recente gebeurtenissen komen in aanmerking. Definities en stabiele kennis meestal niet.
Schrijf die regel in de system prompt en voeg een budget toe. Drie gewoonten helpen:
Drie parameters bepalen hoeveel tekst het model bereikt. read stelt in hoeveel pagina's worden gelezen, van 0 tot 10. max_chars begrenst elke pagina, van 500 tot 50.000 tekens. max_results stelt in hoeveel resultaten worden vermeld, van 1 tot 20.
Voor een chat-agent levert read=3 met max_chars=4000 ongeveer 12.000 tekens paginatekst per zoekopdracht op. Dat laat ruimte voor meerdere zoekopdrachten in één gesprek. Voor een onderzoekstaak die gaandeweg samenvat, zijn langere pagina's prima.
Het veld word_count vertelt hoe lang de volledige pagina was voordat deze werd afgekapt. De agent kan daarmee beslissen of hij meer ophaalt met het extract endpoint.
Het resultaat komt nog steeds terug, met titel, URL en snippet, maar zonder inhoud. Een veld content_status vermeldt waarom.
blocked_by_robots: de robots.txt van de site staat onze reader niet toe.blocked_by_site_policy: Een site die Content-Signal: ai-input=no in zijn robots.txt zet, houdt zijn pagina's buiten de inhoud van je resultaten.target_refused: de site antwoordde met een weigering; de status staat in target_status.fetch_failed of fetch_timeout: de pagina laadde niet op tijd.Wanneer een site onze reader weert, komt het resultaat terug zonder inhoud en met de status van de site: we lossen nooit CAPTCHA's op, loggen nooit in op accounts en werken nooit om een blokkade of een paywall heen. Zeg de agent de snippet of een andere bron te gebruiken wanneer een pagina leeg terugkomt. De zoekopdracht zelf kost nog steeds één credit, wat er ook met elke pagina is gebeurd.
Ingebouwde tools zijn handig, maar geven je minder controle. Op 22 oktober 2026 kost OpenAI's tool web_search $10 per 1.000 aanroepen plus de zoekinhoud die als input-tokens wordt gefactureerd. De web search van Anthropic's Claude kost ook $10 per 1.000 zoekopdrachten plus tokenkosten. Gemini 3 grounding bevat 5.000 gratis zoekopdrachten per maand op het betaalde abonnement, daarna kost het $14 per 1.000.
Deze tools retourneren meestal een geschreven antwoord met citaties, niet de ruwe pagina's. Ze binden je zoekopdracht ook aan één modelleverancier. Een losstaande tool werkt met elk model en laat je de lengte van elke pagina instellen. De vergelijking van ingebouwde tools bevat de volledige tabel.
Eén credit per zoekopdracht wanneer read 3 of minder is. Een assistent die door een team wordt gebruikt en 100 vragen per dag beantwoordt met 4 zoekopdrachten per vraag, draait ongeveer 12.000 zoekopdrachten per maand. 25.000 zoekopdrachten voor US$ 41,25 dekt die maand en het grootste deel van de volgende.
Een coding agent die door één developer wordt gebruikt, zoekt misschien 20 keer per dag, of ongeveer 600 keer per maand. 5.000 zoekopdrachten voor US$ 9,25 gaat dan meerdere maanden mee, omdat credits nooit verlopen. De kostengids toont de rekensom voor grotere workloads.
Prototype op 5.000 zoekopdrachten; stap over naar 25.000 zoekopdrachten of 100.000 zoekopdrachten zodra de agent dagelijks in gebruik is.
5.000 zoekopdrachten
US$ 9,25
US$ 1,85/1K zoekopdrachten
25.000 zoekopdrachten
US$ 41,25
US$ 1,65/1K zoekopdrachten
100.000 zoekopdrachten
US$ 145
US$ 1,45/1K zoekopdrachten
In elk plan: Top 3 pagina's gelezen als Markdown · Filters voor land, taal, tijd en domein · Mislukte calls worden niet in rekening gebracht · Credits verlopen nooit
Ja, via een kleine MCP-server die de zoekopdracht als tool aanbiedt. De MCP-pagina bevat de code en de clientconfiguratie.
Ja. Het bovenstaande schema is gewoon JSON Schema, dat Anthropic, Google, Mistral en opensource-frameworks met kleine wijzigingen accepteren. De tool roept alleen ons HTTPS-endpoint aan.
Tel de aanroepen in je tool-wrapper en retourneer een korte melding zodra het budget op is. Zet het budget ook in de system prompt, zodat het model erop plant.
Het kan het proberen. Behandel paginatekst als data: zeg het model in de system prompt instructies in bronnen te negeren, en laat een bron nooit zelfstandig acties starten.
Vanaf US$ 1,20/1K zoekopdrachten · zonder KYC
Vraag een API-sleutel aan