Szybka odpowiedź
Jak przekonwertować URL do Markdowna za pomocą API?
Wyślij URL do GET https://webreaderapi.com/api/v1/read z kluczem API w nagłówku Authorization. WebReaderAPI pobiera stronę, zachowuje główną treść i zwraca ją jako Markdown wraz z tytułem, autorem, datą i liczbą słów. Jedna strona kosztuje jeden kredyt (dwa, jeśli wymaga przeglądarki), od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą.
API w jednej tabeli
| Bazowy URL | https://webreaderapi.com/api/v1 |
|---|---|
| Odczytaj jedną stronę | GET lub POST https://webreaderapi.com/api/v1/read |
| Wiele URL-i lub cała witryna | POST https://webreaderapi.com/api/v1/batch i POST https://webreaderapi.com/api/v1/crawl, wyniki z GET https://webreaderapi.com/api/v1/jobs/{job_id} |
| Pozostałe kredyty | GET https://webreaderapi.com/api/v1/credits (darmowe) |
| Uwierzytelnianie | Wyślij swój klucz API w nagłówku Authorization jako token Bearer lub w parametrze zapytania api_key |
| Rozliczanie | 1 kredyt = 1 odczytana strona bez przeglądarki; 2 kredyty, gdy strona wymaga przeglądarki do wyrenderowania JavaScript. Zapytanie, które się nie powiedzie lub które zostanie odrzucone przez robots.txt witryny, nie jest obciążane opłatą |
| Nasz crawler | WebReaderAPI/1.0 (+https://webreaderapi.com/bot/), token robots.txt WebReaderAPI |
| Najmniejszy pakiet | 10 000 stron za 3,75 USD; kredyty nigdy nie wygasają |
Jak zdobyć klucz API?
Trzy kroki, żadnego formularza do wypełnienia. Najdłużej trwa potwierdzenie doładowania w blockchainie.
Doładuj kryptowalutą
Wyślij co najmniej 25 USD w BTC, USDT, USDC, ETH, SOL, LTC. Logowanie numerem konta; e-mail jest opcjonalny.
Kup pakiet kredytów
10 000 stron za 3,75 USD wystarczy, żeby przetestować każdą opcję na własnych URL-ach.
Skopiuj swój klucz
Twój klucz API jest gotowy w dashboardzie, gdy Twoje doładowanie kryptowalutą zostanie potwierdzone i kupisz pack. Zapisz go w zmiennej środowiskowej o nazwie
WEBREADER_API_KEY.
Jak wygląda pierwsze zapytanie?
To zwykły HTTPS GET z adresem strony w parametrze url. Zakoduj adres, bo zawiera własne znaki : i /; curl robi to za Ciebie dzięki --data-urlencode. Domyślne ustawienia pasują już do większości artykułów i stron dokumentacji: wynik w formacie Markdown, tylko główna treść i przeglądarka tylko wtedy, gdy strona jej wymaga.
curl -sG "https://webreaderapi.com/api/v1/read" \
-H "Authorization: Bearer $WEBREADER_API_KEY" \
--data-urlencode "url=https://example.com/blog/first-post"import os
import requests
resp = requests.get(
"https://webreaderapi.com/api/v1/read",
headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]},
params={"url": "https://example.com/blog/first-post"},
timeout=70,
)
resp.raise_for_status()
page = resp.json()
print(page["title"], "-", page["word_count"], "words,", page["credits_used"], "credit(s)")
with open("first-post.md", "w", encoding="utf-8") as f:
f.write(page["markdown"])
const params = new URLSearchParams({ url: 'https://example.com/blog/first-post' });
const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, {
headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` },
});
const page = await res.json();
if (!res.ok) throw new Error(`${page.error.code}: ${page.error.message}`);
console.log(page.title, page.word_count, 'words');
console.log(page.markdown.slice(0, 500));
Co przychodzi w odpowiedzi?
Obiekt JSON z Markdownem w polu markdown i metadanymi strony obok: title, description, author, published_at, language, site_name i word_count. Dwa pola pomagają sprawdzić, co się stało: final_url to adres po przekierowaniach, a rendered mówi, czy potrzebna była przeglądarka.
credits_used pokazuje, ile kosztowało wywołanie: 1 za zwykłą stronę, 2 gdy rendered to true, o jeden więcej, jeśli wybrałeś country. Strona formatu odpowiedzi wymienia każde pole z przykładem.
Których opcji będę używać najczęściej?
Pięć parametrów pokrywa większość potrzeb. Wszystkie są opcjonalne.
| Parametr | Użyj go, aby |
|---|---|
format | Otrzymać text lub oczyszczony html zamiast markdown |
main_content | Ustawić false, aby przekonwertować całą stronę, łącznie z menu |
render | Wymusić (true) lub zabronić (false) przeglądarki; auto decyduje |
include_links | Otrzymać linki strony jako osobną listę |
max_chars | Przyciąć długie strony, aby zmieściły się w budżecie kontekstu modelu |
Referencja odczytu opisuje każdy parametr, w tym country, include_images i timeout.
Jak sprawdzić pozostałe kredyty?
Wywołaj GET https://webreaderapi.com/api/v1/credits z tym samym kluczem. Zwraca credits_remaining, credits_used_today i Twoje concurrency_limit, i nic nie kosztuje. Uruchom je na początku długiego zadania, żeby zadanie zatrzymało się czysto, zamiast się wywalić na 402 insufficient_credits w połowie.
Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz, więc pack kupiony na jeden projekt zachowuje wartość na następny.
Co się dzieje, jeśli strona nie pozwala robotom?
Nie czytamy strony i nie pobieramy opłaty. Nasz crawler przedstawia się jako WebReaderAPI/1.0 (+https://webreaderapi.com/bot/) i przestrzega pliku robots.txt strony. Zablokowana strona zwraca 403 blocked_by_robots; strona, która odrzuca zapytanie w inny sposób, zwraca 502 target_refused z własnym kodem statusu strony.
Jeśli witryna odrzuci nasze zapytanie, zwracamy jej odpowiedź: nigdy nie rozwiązujemy CAPTCHA, nie logujemy się do kont ani nie próbujemy obejść blokady lub paywalla. Strona błędów wyjaśnia, które błędy warto ponowić, a które są ostateczne.
Dokąd dalej?
- Przeczytaj referencję endpointów Każdy parametr /read, z przykładami
- Batch i crawling Do 100 URL-i na batch albo cała strona
- Format odpowiedzi Każde pole odpowiedzi
- Błędy i robots.txt Kody, przyczyny i zasady ponawiania
- Python requests, async httpx, chunking pod RAG
- Node.js fetch, mała pula, odpytywanie crawla
- curl i jq Przepisy na terminal
- serwer MCP Narzędzie read_url dla Claude i Cursor
- LangChain i LlamaIndex Loadery i narzędzia dla RAG
- wywoływanie funkcji OpenAI Schemat i pętla narzędzia read_url
- n8n Narzędzie HTTP Request dla AI Agenta
- OpenClaw Dodaj serwer MCP obok web_fetch
Szybki start: najczęstsze pytania
Czy jest SDK do zainstalowania?
Nie. WebReaderAPI to zwykłe API HTTPS, więc działa każdy klient HTTP. Dokumentacja zawiera kod do skopiowania dla Python, Node.js i curl oraz definicje narzędzi dla MCP, LangChain, LlamaIndex i OpenAI function calling. Nic nie jest publikowane jako pakiet.
Czy mogę wysłać klucz w URL-u zamiast w nagłówku?
Tak, jako parametr zapytania api_key. Nagłówek Authorization: Bearer jest bezpieczniejszy, bo URL-e często trafiają do logów i historii przeglądarki. Twórz wiele kluczy API, na przykład po jednym na agenta lub projekt, i unieważniaj dowolny z nich ze swojego dashboardu.
Czy nieudana strona zużywa kredyt?
Nie. 1 kredyt = 1 odczytana strona bez przeglądarki; 2 kredyty, gdy strona wymaga przeglądarki do wyrenderowania JavaScript. Zapytanie, które się nie powiedzie lub które zostanie odrzucone przez robots.txt witryny, nie jest obciążane opłatą. Opłata naliczana jest tylko za stronę, która zwróci treść.
Czy mogę to wypróbować przed zakupem?
Nie ma darmowego planu. Nie ma darmowego planu: najmniejszy pack to sposób na przetestowanie, opłacany z minimalnego doładowania, a kwota dodana wyłącznie, aby osiągnąć to minimum, może zostać zwrócona na żądanie w ciągu 30 dni, w USDT lub USDC, o ile pozostaje niewykorzystana.