Szybka odpowiedź
Jak uruchomić pierwsze wyszukiwanie za pomocą API wyszukiwania dla agentów AI?
Wyślij swoje pytanie do POST https://llmwebsearch.com/api/v1/search z kluczem API jako tokenem Bearer. LLMWebSearch wykonuje wyszukiwanie w sieci na żywo i zwraca do 20 uszeregowanych wyników, z pierwszymi 3 stronami odczytanymi i zwróconymi jako Markdown. Jeden kredyt pokrywa całe to wywołanie, od 1,20 USD/1K wyszukiwań według stanu na październik 2026. Bez KYC; płatność kryptowalutą.
API na jednej karcie
| Bazowy URL | https://llmwebsearch.com/api/v1 |
|---|---|
| Wyszukiwanie | POST lub GET https://llmwebsearch.com/api/v1/search |
| Odczytaj URL-e, które już masz | POST https://llmwebsearch.com/api/v1/extract |
| Pozostałe kredyty | GET https://llmwebsearch.com/api/v1/credits, bez opłat |
| Uwierzytelnianie | Przekaż swój klucz API jako token Bearer w nagłówku Authorization lub jako parametr zapytania api_key |
| Rozliczanie | Jeden kredyt opłaca jedno wyszukiwanie: do 20 wyników z rankingiem, przy czym strony z pierwszych 3 są odczytywane i zwracane jako Markdown. Odczyt od 4 do 10 stron to 2 kredyty. Wywołanie zakończone błędem nic nie kosztuje |
| Nasz czytnik stron | LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/), token robots.txt LLMWebSearch |
| Najmniejszy pakiet | 5 000 wyszukiwań za 9,25 USD; kredyty nie wygasają |
Jak zdobyć klucz API?
Nie ma formularza rejestracji. Najdłużej trwa oczekiwanie na potwierdzenie doładowania przez blockchain.
Zasil saldo kryptowalutą
Wyślij co najmniej 25 USD w BTC, USDT, USDC, ETH, SOL, LTC. Zaloguj się numerem konta; adres email jest opcjonalny.
Kup pakiet wyszukiwań
5 000 wyszukiwań za 9,25 USD wystarczy, by podłączyć wyszukiwanie do jednego agenta i przetestować każdą opcję.
Skopiuj klucz
Gdy Twoje doładowanie kryptowalutą zostanie potwierdzone i pack zostanie kupiony, Twój klucz API czeka w dashboardzie. Trzymaj go w zmiennej środowiskowej o nazwie
LLMWEBSEARCH_API_KEY.
Jak wygląda pierwsze wyszukiwanie?
To jeden HTTPS POST z niewielkim ciałem JSON. Wymagany jest tylko q: pytanie lub słowa kluczowe, takie jak wpisałby je człowiek. Domyślne ustawienia pasują już do większości agentów. Otrzymujesz 5 wyników w rankingu, a strony stojące za pierwszymi 3 są odczytywane i zwracane jako Markdown o długości do 6 000 znaków każda.
Trzy fragmenty poniżej wysyłają to samo wyszukiwanie. Wybierz ten, który pasuje do Twojego stacku, ustaw LLMWEBSEARCH_API_KEY w powłoce i uruchom go.
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}'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()
data = resp.json()
print("credits used:", data["credits_used"])
for r in data["results"]:
size = r.get("word_count", 0)
print(r["position"], r["title"], r["url"], r["content_status"], size, "words")
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 data = await res.json();
if (!res.ok) throw new Error(`${data.error.code}: ${data.error.message}`);
const first = data.results.find((r) => r.content_status === 'ok');
console.log(first ? `${first.title}\n${first.url}\n\n${first.content.slice(0, 600)}` : 'No page could be read.');
Co wraca?
Obiekt JSON z Twoim query, czasem wywołania w created_at, ceną w credits_used oraz tablicą results w kolejności rankingu. Każdy wynik ma swoje position, title, url, host i snippet, a gdy data jest znana, także published_at.
Pole, na które warto uważać, to content_status. Gdy mówi ok, strona została odczytana, a jej główna treść znajduje się w content, wraz z word_count. Wyniki poza read mówią not_requested. Strona, której nie udało się odczytać, podaje przyczynę, na przykład blocked_by_robots. Strona formatu odpowiedzi wyjaśnia każde pole.
Które parametry będę zmieniać najczęściej?
Sześć parametrów pokrywa niemal każdego agenta. Wszystkie są opcjonalne.
| Parametr | Co zmienia |
|---|---|
max_results | Ile wyników w rankingu wraca, od 1 do 20 |
read | Ile pierwszych wyników jest odczytywanych, od 0 do 10 |
max_chars | Limit długości treści każdej strony, od 500 do 50 000 znaków |
topic i time_range | Wiadomości zamiast stron internetowych oraz okno świeżości |
include_domains | Wyniki tylko z wymienionych przez Ciebie witryn |
country i language | Gdzie i w jakim języku odbywa się wyszukiwanie |
Dokumentacja wyszukiwania opisuje każdy z nich z przykładem, a także format i exclude_domains.
Ile kredytów zużywa wywołanie?
Większość wywołań zużywa jeden. Pełny zestaw reguł:
- Wyszukiwanie z odczytem 0 do 3 stron: 1 kredyt. Obejmuje do 20 wyników w rankingu.
- Wyszukiwanie z odczytem 4 do 10 stron: 2 kredyty.
- Extract: Odczyt stron, których adresy URL już masz, kosztuje 1 kredyt za każdą rozpoczętą grupę 3 stron zwróconych z treścią, do 20 adresów URL na wywołanie; adresy URL odrzucone lub nieudane nie są liczone.
- Błędy: 0 kredytów. Zły parametr, nieprawidłowy klucz, puste saldo lub nieudane wyszukiwanie nic nie kosztują.
- Strona, której nie udało się odczytać w ramach udanego wyszukiwania nie zmienia jego ceny.
- Sprawdzanie salda za pomocą
GET https://llmwebsearch.com/api/v1/creditsjest bezpłatne.
Kredyty na wyszukiwanie nie mają daty ważności: to, czego nie wykorzystasz w tym miesiącu, będzie tam jeszcze w przyszłym roku.
Co się dzieje, gdy witryna nie chce być odczytywana?
Wynik nadal się pojawia, z tytułem, URL-em i snippetem, ale bez treści strony. Nasz czytnik respektuje robots.txt: przedstawia się jako LLMWebSearch, przestrzega reguł, które witryna zapisuje dla niego lub dla wszystkich robotów, i pomija treść każdej strony, której nie wolno mu czytać. Witryna, która ustawia Content-Signal: ai-input=no w swoim robots.txt, trzyma treść swoich stron poza treścią Twoich wyników.
Gdy witryna odpowiada naszemu czytnikowi odmową, wynik zawiera content_status: "target_refused" oraz własny status HTTP witryny w target_status. Gdy witryna odrzuca nasz czytnik, wynik wraca bez treści i ze statusem witryny: nigdy nie rozwiązujemy CAPTCHA, nie logujemy się na konta ani nie obchodzimy blokady czy paywalla. Strona błędów] wymienia każdy status i te, które warto ponowić.
Dokąd mam przejść dalej?
- endpoint wyszukiwania Każdy parametr /search, z przykładami
- endpoint ekstrakcji Odczytaj od 1 do 20 URL-i, które już masz
- Format odpowiedzi Każde pole i każdy content_status
- Błędy Błędy HTTP, statusy stron, zasady ponawiania
- Python requests, asynchroniczny httpx, odpowiedź z cytowaniami
- Node.js fetch, niewielka pula, ta sama pętla cytowań
- curl i jq Przepisy terminalowe
- serwer MCP search_web dla Claude Code i Claude Desktop
- LangChain i LlamaIndex Narzędzie i retriever
- OpenAI function calling Schemat narzędzia, pętla i Agents SDK
- n8n Narzędzie HTTP Request dla agenta AI
- OpenClaw Nasze wyszukiwanie przez MCP
Szybki start: najczęstsze pytania
Czy potrzebuję SDK?
Nie. LLMWebSearch to zwykłe API HTTPS, więc działa dowolny klient HTTP. W tej dokumentacji znajdziesz kod do skopiowania dla Python, Node.js i curl oraz definicje narzędzi dla MCP, LangChain, LlamaIndex, OpenAI function calling, n8n i OpenClaw. Nie publikujemy żadnego pakietu.
Czy API pisze za mnie odpowiedź?
Nie. API zwraca źródła, a nie gotową odpowiedź: Twój własny model czyta strony, pisze odpowiedź i cytuje adresy URL. Dzięki temu sam wybierasz model, prompt i styl cytowania.
Czy mogę umieścić klucz w URL?
Tak, jako parametr zapytania api_key w GET /search. Bezpieczniejszym wyborem jest nagłówek Authorization, ponieważ URL-e trafiają do logów i historii powłoki. Twórz jeden klucz API na agenta, aplikację lub członka zespołu i unieważniaj dowolny z nich z dashboardu, nie ruszając pozostałych.
Czy jest darmowy plan, żeby to wypróbować?
Nie. Nie ma darmowego planu: pack 5 000 wyszukiwań to sposób, by go wypróbować, kupowany od minimalnego doładowania; wszystko, co dodałeś tylko po to, by osiągnąć to minimum, wraca na żądanie w ciągu 30 dni, w USDT lub USDC, o ile jest niewydane.