Test
10 000 stron
3,75 USD
0,38 USD/1K stron
- Wypróbuj na swoich prawdziwych URL-ach
- To samo API co w największym pakiecie
- Kredyty nigdy nie wygasają
Zastosowanie · agenci AI · nazwa narzędzia read_url
Agent, który potrafi wyszukiwać, ale nie czytać, odpowiada na podstawie snippetów. Daj mu narzędzie, które zamienia dowolny publiczny URL w krótki, czysty Markdown, a będzie mógł przeczytać źródło, zacytować je i podać jako referencję, w ramach ustalonego przez Ciebie budżetu.
Szybka odpowiedź
Jaki jest najlepszy sposób, aby dać agentowi AI narzędzie web fetch?
Owiń API do czytania stron jako narzędzie, które przyjmuje URL i zwraca główną treść strony jako Markdown, przyciętą do ustalonej długości. WebReaderAPI wykonuje odczyt, renderuje JavaScript, gdy to potrzebne, respektuje robots.txt i pobiera jeden kredyt za stronę od 0,07 USD/1K stron według stanu na październik 2026. Gotowy kod narzędzia obejmuje MCP, OpenAI function calling, LangChain, n8n i OpenClaw. Bez KYC; płatność kryptowalutą.
| Narzędzie | read_url(url, max_chars) wywołujący https://webreaderapi.com/api/v1/read |
|---|---|
| Zwraca | Markdown głównej treści oraz tytuł, autora, datę i liczbę słów |
| Limit długości | max_chars, od 1 000 do 500 000 znaków na stronę |
| Strony JavaScript | Renderowanie JavaScript w przeglądarce headless, gdy strona tego wymaga (render=auto), zawsze lub nigdy |
| Odmowy | Zwracane jako jasne błędy, nigdy nie obciążane opłatą |
| Integracje | MCP, OpenAI, LangChain i LlamaIndex, n8n, OpenClaw |
| Cena | 3,75 USD za 10 000 stron; kredyty nigdy nie wygasają |
Bo surowy HTML zajmuje okno kontekstu rzeczami, których model nie potrzebuje. Artykuł informacyjny albo strona dokumentacji przychodzi opakowana w nawigację, skrypty, bannery zgody i powiązane linki. Przekazana w niezmienionej formie, wypiera rozmowę i sprawia, że model cytuje menu.
Reader rozwiązuje trzy problemy naraz. Zachowuje tylko główną treść, renderuje strony, które są puste, dopóki nie wykona się JavaScript, i zamienia PDF-y na tekst. Agent dostaje jeden zwarty blok Markdown z tytułem i datą, które może zacytować.
Głównie dlatego, że strony odmawiają ruchowi zautomatyzowanemu. Od 1 lipca 2025 Cloudflare domyślnie blokuje AI crawlers dla nowych domen, a od 15 września 2026 jego presety blokują ruch "Agent" na stronach z reklamami nowych domen. Wbudowane narzędzia w agentach kodujących i asystentach napotykają te odmowy jak każdy inny klient.
Inne awarie są techniczne. Dokumentacja OpenClaw, czytana 22 października 2026, mówi, że jego wbudowane web_fetch wyodrębnia treść za pomocą Readability, nie uruchamia JavaScript i ogranicza wynik do 20 000 znaków. Strony budowane w przeglądarce, długie dokumenty, wolne serwery i rate limit wywracają takie narzędzia. Reader, który renderuje strony, rozwiązuje przypadek z JavaScript; cache i cierpliwość rozwiązują resztę. Odmowy to decyzja właściciela strony. Nasz przewodnik po błędach 403 przy web fetch wyjaśnia każdy przypadek.
Aby uniknąć kolizji z narzędziami, które agenci już mają. Claude Code i OpenClaw mają wbudowane narzędzie o nazwie web_fetch. Drugie narzędzie o tej samej nazwie myli model co do tego, które wywołuje. Nazwanie naszego read_url sprawia, że oba pozostają dostępne: agent może używać wbudowanego fetchera do szybkich sprawdzeń i read_url, gdy potrzebuje czystego Markdown, PDF-ów albo stron z JavaScript.
Definicje narzędzi na naszych stronach dokumentacji używają tej nazwy, więc możesz przełączać się między frameworkami bez zmiany promptów.
import os
import requests
API = "https://webreaderapi.com/api/v1/read"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
def read_url(url: str, max_chars: int = 12000) -> str:
"""Return a web page as Markdown for a model, or a short reason it was not read."""
resp = requests.get(API, headers=HEADERS, params={"url": url, "max_chars": max_chars}, timeout=90)
data = resp.json()
if resp.status_code != 200:
err = data.get("error", {})
return "Not read (" + err.get("code", "error") + "): " + err.get("message", "")
head = "# " + (data.get("title") or url) + "\nSource: " + data["final_url"]
if data.get("published_at"):
head += " | Published: " + data["published_at"]
return head + "\n\n" + data["markdown"]
if __name__ == "__main__":
print(read_url("https://example.com/blog/pour-over-coffee", max_chars=2000)[:500])
Daj mu budżet i regułę. Trzy nawyki trzymają koszty i kontekst w ryzach:
max_chars około 10 000 do 15 000 znaków; zwiększaj tylko wtedy, gdy word_count pokazuje, że odpowiedź jest prawdopodobnie dalej.Powyższe narzędzie zwraca odmowy jako jedno zwykłe zdanie, więc model może je wyjaśnić użytkownikowi.
Jeden kredyt za stronę, dwa, gdy strona wymaga przeglądarki. Asystent, który odpowiada na 100 pytań dziennie i czyta po 4 strony do każdego, czyta około 12 000 stron miesięcznie. 50 000 stron (14,25 USD) pokrywają to na cztery miesiące, według stanu na październik 2026.
Kredyty nigdy nie wygasają, więc agent, który jest zajęty jednego tygodnia, a bezczynny następnego, nie marnuje miesięcznego limitu. Strony, które zawodzą albo których odmawia robots.txt, nie kosztują nic.
Prototypuj na 10 000 stron; przejdź na 50 000 stron lub 100 000 stron, gdy agent obsługuje prawdziwych użytkowników. Kredyty nigdy nie wygasają.
10 000 stron
3,75 USD
0,38 USD/1K stron
50 000 stron
14,25 USD
0,28 USD/1K stron
100 000 stron
21,75 USD
0,22 USD/1K stron
W każdym planie: Wyodrębnianie głównej treści · Renderowanie JavaScript, gdy potrzebne · Nieudane i odrzucone strony bez opłat · Kredyty nigdy nie wygasają
Tak, przez mały serwer MCP, który udostępnia read_url. Strona MCP zawiera kod i fragment konfiguracji; Twój klucz API pozostaje w zmiennej środowiskowej.
Tak, jako serwer MCP obok wbudowanego web_fetch w OpenClaw. Strona OpenClaw pokazuje polecenia z dokumentacji samego OpenClaw.
Nie. Jeśli robots.txt zabrania danej strony, API zwraca blocked_by_robots; jeśli strona odmawia, zwraca target_refused ze statusem strony. Żadne z nich nie jest naliczane, a my nigdy nie próbujemy obejść odmowy.
Ustaw max_chars. Markdown jest ucinany na tej długości, a word_count informuje agenta, jak długa była pełna strona, więc może poprosić o więcej tylko wtedy, gdy to potrzebne.
Nie. WebReaderAPI nie wymaga żadnego dokumentu tożsamości, selfie, dokumentów ani karty. Płatność jest w BTC, USDT, USDC, ETH, SOL, LTC, z minimalnym doładowaniem 25 USD.
Od 0,07 USD/1K stron · bez KYC
Uzyskaj klucz API