Snel antwoord
Hoe lees ik webpagina's waarvan ik de URL's al heb?
Stuur tot 20 URL's naar POST https://llmwebsearch.com/api/v1/extract. LLMWebSearch leest elke openbare pagina en geeft de hoofdinhoud terug als Markdown of platte tekst, met een status per URL. Facturatie is 1 credit voor elke begonnen groep van 3 gelezen pagina's, vanaf US$ 1,20/1K zoekopdrachten per zoekopdracht-credit per oktober 2026. robots.txt wordt gerespecteerd. Zonder KYC; betalen met crypto.
/extract at a glance
| Methode | POST met een JSON-body |
|---|---|
| URL | https://llmwebsearch.com/api/v1/extract |
| Input | urls: 1 tot 20 http- of https-adressen |
| Uitvoer | Hoofdinhoud per URL, in markdown (standaard) of text |
| Facturering | Het lezen van pagina's waarvan je de URL's al hebt, kost 1 credit per begonnen groep van 3 pagina's die met inhoud worden teruggegeven, tot 20 URL's per call; geweigerde of mislukte URL's tellen niet mee |
| robots.txt | Onze reader respecteert robots.txt: hij stelt zich voor als LLMWebSearch, volgt de regels die een site voor hem of voor alle robots schrijft, en laat de inhoud weg van elke pagina die hij niet mag lezen |
| Pagina-lezer | LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/) |
Een lijst URL's lezen
POST/api/v1/extract
Haalt elke URL parallel op en geeft de hoofdinhoud terug, in de volgorde waarin je ze hebt gestuurd. Elk item heeft zijn eigen content_status, zodat één geweigerde pagina de call niet laat mislukken. Het voorbeeld leest drie pagina's; titels en waarden zijn illustratief.
Authenticatie: API-sleutel in de header Authorization: Bearer API_KEY.
Request body
| Field | Type | Vereist | Beschrijving |
|---|---|---|---|
urls | string[] | Ja | 1 tot 20 http- of https-adressen. Privé-, lokale en cloud-metadata-adressen worden geweigerd. |
format | string | Nee | markdown (standaard) of text. |
max_chars | integer | Nee | Lengtelimiet van de inhoud van elke pagina, 500 tot 50.000 tekens. Standaard 6.000. |
{
"urls": [
"https://docs.example.com/security/key-rotation",
"https://blog.example.org/key-rotation-checklist",
"https://example.com/changelog"
],
"max_chars": 20000
}Response 200
{
"credits_used": 1,
"results": [
{
"url": "https://docs.example.com/security/key-rotation",
"title": "Rotating API keys",
"content_status": "ok",
"content": "# Rotating API keys\n\n## Zero-downtime rotation\n\n1. Create a second key...",
"word_count": 948
},
{
"url": "https://blog.example.org/key-rotation-checklist",
"content_status": "blocked_by_robots"
},
{
"url": "https://example.com/changelog",
"title": "Changelog",
"content_status": "ok",
"content": "# Changelog\n\n## 2026-10-20\n\n- New export format...",
"word_count": 2204
}
]
}Codevoorbeelden
curl -s "https://llmwebsearch.com/api/v1/extract" \
-H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://docs.example.com/security/key-rotation", "https://example.com/changelog"], "max_chars": 20000}'import os
import requests
resp = requests.post(
"https://llmwebsearch.com/api/v1/extract",
headers={"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]},
json={"urls": ["https://docs.example.com/security/key-rotation", "https://example.com/changelog"]},
timeout=60,
)
for page in resp.json()["results"]:
print(page["url"], page["content_status"], page.get("word_count", 0))const res = await fetch('https://llmwebsearch.com/api/v1/extract', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.LLMWEBSEARCH_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ urls: ['https://docs.example.com/security/key-rotation', 'https://example.com/changelog'] }),
});
for (const page of (await res.json()).results) console.log(page.url, page.content_status);Wanneer gebruik ik extract in plaats van read in een zoekopdracht?
Gebruik extract wanneer de URL's niet uit de zoekopdracht komen die je uitvoert. Een gebruiker plakt een link, een document citeert drie bronnen, of een eerste zoekopdracht met read=0 liet het model kiezen welke pagina's een volledige lezing verdienen.
Gebruik read binnen /search als je gewoon de topresultaten in dezelfde call gelezen wilt hebben. Het is één verzoek in plaats van twee, en tot 3 pagina's zitten in de ene credit van de zoekopdracht.
Hoe worden extract-calls gefactureerd?
Eén credit voor elke begonnen groep van 3 gelezen pagina's. De telling gebruikt de pagina's die met inhoud terugkomen: een URL die door robots.txt of door de site wordt geweigerd, of die niet laadt, wordt niet meegeteld.
| Gelezen pagina's | Credits |
|---|---|
| 1 tot 3 | 1 |
| 4 tot 6 | 2 |
| 7 tot 9 | 3 |
| 19 of 20 | 7 |
Het antwoord vermeldt altijd het totaal in credits_used. Een call waarbij geen enkele pagina gelezen kon worden kost niets.
Wat vertelt elk item van het antwoord me?
Elk item herhaalt de url die je hebt gestuurd en geeft een content_status. Met ok krijg je ook de pagina title, de content en de word_count ervan. Anders noemt de status de reden: blocked_by_robots, blocked_by_site_policy, target_refused met de target_status, fetch_failed, fetch_timeout of unsupported_content van de site.
Items houden de volgorde van je urls-lijst aan, zodat je ze zowel op index als op URL kunt matchen. De response format-pagina beschrijft elke status.
Welke URL's worden geweigerd voordat er iets wordt opgehaald?
Adressen die naar privénetwerken, naar de lokale machine of naar cloud-metadataservices wijzen, worden geweigerd. Zo kan niemand onze reader gebruiken om interne systemen te bereiken. Een redirect die naar zo'n adres leidt, wordt ook geweigerd, en er worden maximaal 5 redirects gevolgd.
Het adres moet http of https gebruiken. Een aanroep waarbij urls leeg is, meer dan 20 entries bevat of een misvormd adres bevat, geeft 400 invalid_parameter, gratis.
Volgt extract dezelfde regels als search?
Ja. Het is dezelfde reader, die zich voorstelt als LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/). Een site die Content-Signal: ai-input=no in zijn robots.txt zet, houdt zijn pagina's buiten de inhoud van je resultaten. 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.
Pagina's waarvoor je moet inloggen, of die achter een paywall zitten, komen terug zonder inhoud. Wijs de agent op een andere bron, of op een pagina die je met je eigen browsersessie mag lezen.
Extract endpoint: veelgestelde vragen
Welke soorten bestanden kan het lezen?
Webpagina's zijn waar het voor gebouwd is. Een link naar een video, een archief of een ander bestand zonder leesbare tekst komt terug als unsupported_content, en die URL wordt niet in de prijs meegerekend.
Wordt een URL die twee keer wordt gestuurd twee keer gelezen?
Stuur elke URL één keer. Als een lijst duplicaten kan bevatten, verwijder ze dan eerst aan jouw kant, zodat de resultaten één-op-één overeenkomen met je lijst.
Kost JavaScript-rendering extra?
Nee. Wanneer een pagina een browser nodig heeft om de tekst te tonen, wordt die gerenderd zonder extra kosten.
Kan extract een pagina lezen waarop ik ben ingelogd?
Nee. De reader logt nooit in op accounts en stuurt geen cookies van jou mee. 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.