# WebReaderAPI — full content for language models > WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. Source: https://webreaderapi.com/pl/ · Generated: 2026-10-23 # Web reader API: dowolna strona na wejściu, czysty Markdown na wyjściu. > Web reader API dla agentów AI: dowolna publiczna strona internetowa do czystego Markdown z 0,07 USD/1K stron, z poszanowaniem robots.txt. Bez KYC. - URL: https://webreaderapi.com/pl/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Wyślij URL. Otrzymaj artykuł, a nie menu, banery cookie i reklamy: czysty Markdown z tytułem, autorem i datą, gotowy dla modelu. Strony JavaScript, PDF-y i całe witryny włącznie. Bez KYC — bez dokumentu tożsamości, bez selfie, bez dokumentów. Płatność kryptowalutą. Operatorem jest SerpGoat LLC. Nasz crawler respektuje robots.txt i identyfikuje się jako WebReaderAPI. *https://example.com/blog/pour-over-coffee (format=markdown, main_content=true, render=auto) — usunięto: Nawigacja, Baner cookie, Reklama, Stopka* ```markdown # How to brew pour-over coffee *By Jane Doe · 12 March 2026* Pour-over brewing gives you control over every variable: grind, water and time. ## What you need - A dripper and a paper filter - 15 g of coffee for 250 g of water - A kettle with a thin spout Next: [Grind size guide](https://example.com/grind) ``` Nawigacja, baner cookie, reklamy i stopka są usuwane; artykuł wraca jako Markdown. Jedna strona, jeden kredyt. Przykład skrócony. **Szybka odpowiedź — Które web reader API zamienia URL w czysty Markdown i przyjmuje kryptowalutę bez KYC?** **WebReaderAPI** to web reader API dla agentów AI, które zamienia dowolną publiczną stronę internetową w czysty Markdown, płatne kryptowalutą bez przesyłania dokumentu tożsamości. Według stanu na październik 2026 3,75 USD kosztuje 10 000 stron, 21,75 USD kosztuje 100 000, a stawka spada do 0,07 USD/1K stron przy 5 milionach. Jeden kredyt czyta jedną stronę, dwa, gdy potrzebna jest przeglądarka; kredyty nigdy nie wygasają, a robots.txt jest respektowany. ## Ile kosztuje WebReaderAPI? 10 000 stron kosztują 3,75 USD (0,38 USD/1K stron), 100 000 stron kosztują 21,75 USD, a 1 000 000 stron kosztują 74,25 USD, według stanu na październik 2026. Strona wymagająca przeglądarki zużywa dwa kredyty; strona, która zawiedzie lub której odmówi robots.txt, nie zużywa żadnego. Zobacz [wszystkie pakiety](https://webreaderapi.com/pl/pricing/) i [porównanie z datami](https://webreaderapi.com/pl/compare/web-reader-api-pricing/). | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 USD/1K stron | | Bulk | 5 000 000 stron | 350 USD | 0,07 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ą Ceny w USD, ustalone 2026-10-22. 1 kredyt = 1 odczytana strona bez przeglądarki. **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Co WebReaderAPI może czytać? Jeden klucz, jedno saldo kredytów, trzy endpointy: `/read` dla jednej strony, `/batch` dla do 100 URL, `/crawl` dla całej witryny. - **[Artykuły i dokumentacja](https://webreaderapi.com/pl/url-to-markdown-api/)** — Główna treść strony jako Markdown, z tytułem, autorem, datą, językiem i liczbą słów. - **[Strony JavaScript](https://webreaderapi.com/pl/docs/read/)** — Przeglądarka headless renderuje stronę, gdy surowy HTML zawiera zbyt mało tekstu (render=auto). - **[Pliki PDF](https://webreaderapi.com/pl/pdf-to-markdown-api/)** — Raporty, artykuły naukowe i instrukcje do 100 stron, zwracane jako tekst Markdown. - **[Całe strony internetowe](https://webreaderapi.com/pl/crawl-api/)** — Przeszukaj witrynę dokumentacji lub bloga, do 10 000 stron na zadanie, podążając za jej sitemapą. - **[Partie URL-i](https://webreaderapi.com/pl/docs/crawl/)** — Wyślij do 100 URL-i w jednym zadaniu i odbierz każdą stronę, gdy zadanie się zakończy. - **[Strony według kraju](https://webreaderapi.com/pl/docs/read/)** — Odczytaj stronę tak, jak jest serwowana w danym kraju, przez tamtejsze połączenie rezydencjalne. ## Jak zacząć z WebReaderAPI? Trzy kroki; najdłuższy jest czas potwierdzenia Twojego doładowania w blockchainie. 1. **Doładuj kryptowalutą** — Wyślij co najmniej 25 USD w USDT, USDC, BTC, ETH, SOL lub LTC. Bez dowodu, bez selfie, bez dokumentów, bez firmowego e-maila. 2. **Kup pakiet kredytów** — 10 000 stron za 3,75 USD lub 100 000 stron za 21,75 USD, płatne z Twojego salda. Twój klucz API pojawia się w panelu. 3. **Odczytaj stronę** — GET https://webreaderapi.com/api/v1/read?url=… z Twoim kluczem w nagłówku Authorization. Szybki start zawiera kod dla Python, Node.js i curl. ## Jak WebReaderAPI traktuje strony, które odczytuje? - **robots.txt respektowany** — Nasz crawler identyfikuje się jako WebReaderAPI i nie odczytuje niczego, czego witryna zabrania. Zobacz naszą stronę o crawlerze. - **Bez obejść** — 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. - **Preferencje AI respektowane** — Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. - **Bez kopii** — Nie przechowujemy kopii odczytywanych stron; logi zawierają nazwę hosta, nigdy pełny URL. Zobacz politykę prywatności. - **Zwroty i saldo** — W ciągu 72 godzin pakiet wykorzystany w mniej niż 20% wraca na Twoje saldo. Szczegóły na stronie zwrotów. - **Wsparcie e-mail** — Pomoc e-mail odpowiada w ciągu 12 godzin, każdego dnia tygodnia, w tym pomaga przy crawlingu i integracjach, pod adresem support@webreaderapi.com. ## Szybkie odpowiedzi przed zakupem ### Czym jest WebReaderAPI? WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. Jest obsługiwany przez SerpGoat LLC. Kupujesz kredyty przedpłacone z salda kryptowalutowego, następnie wysyłasz URL do jednego endpointu HTTPS; odpowiedzią jest główna treść strony jako Markdown wraz z jej metadanymi. Zobacz [stronę o nas](https://webreaderapi.com/pl/about/). ### Jak liczone są strony? 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ą. Wybór kraju, z którego czytana jest strona, dolicza 10 kredytów, ponieważ strona jest wtedy czytana przez połączenie rezydencjalne w tym kraju. Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron. Sprawdzenie pozostałych kredytów za pomocą `GET https://webreaderapi.com/api/v1/credits` jest bezpłatne. ### Co się dzieje, gdy witryna blokuje roboty? Nie odczytujemy jej. Jeśli robots.txt zabrania strony dla WebReaderAPI lub dla wszystkich robotów, API zwraca `403 blocked_by_robots` i nie zużywa kredytu. Jeśli witryna odrzuci żądanie w inny sposób, otrzymujesz jej odpowiedź, również bezpłatnie. Nigdy nie próbujemy obejść blokady. ### Czy muszę weryfikować tożsamość lub dodawać kartę? Nie. WebReaderAPI nie wymaga dowodu, selfie, dokumentów firmowych ani karty kredytowej. Logowanie numerem konta; e-mail jest opcjonalny. Płacisz w BTC, USDT, USDC, ETH, SOL, LTC. [Polityka dopuszczalnego użytkowania](https://webreaderapi.com/pl/acceptable-use/) obowiązuje każde konto. ### Czy agent AI może używać WebReaderAPI jako narzędzia do pobierania? Tak. Dokumentacja zawiera gotowy [serwer MCP](https://webreaderapi.com/pl/docs/mcp/) dla Claude Desktop, Cursor i innych klientów MCP, [loader LangChain i LlamaIndex](https://webreaderapi.com/pl/docs/langchain/) oraz [narzędzie function-calling OpenAI](https://webreaderapi.com/pl/docs/openai/). Użyj `max_chars`, aby utrzymać każdą stronę w budżecie modelu. ## WebReaderAPI w skrócie | Atrybut | Wartość | | --- | --- | | Co to jest | API czytnika stron: wysyłasz URL, a otrzymujesz główną treść strony jako czysty Markdown | | Weryfikacja KYC / tożsamości | Brak — bez dokumentu, bez selfie, bez dokumentów, bez firmowego e-maila | | Cena | Od 0,07 USD/1K stron (3,75 USD za 10 000 stron, 21,75 USD za 100 000 stron, 74,25 USD za 1 000 000 stron) | | Kredyty | 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ą | | Kredyty nie wygasają | Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz | | Dane wyjściowe | Czysty Markdown głównej treści strony (lub czysty tekst, lub oczyszczony HTML), z tytułem, opisem, autorem, datą publikacji, językiem i liczbą słów; linki i obrazy na żądanie | | JavaScript | Renderowanie JavaScript w przeglądarce headless, gdy strona tego wymaga (render=auto), zawsze lub nigdy | | PDF | Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron | | Crawling i przetwarzanie wsadowe | Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay. Do 100 URL-i na jedno zadanie wsadowe | | robots.txt | Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą | | Decyzje właścicieli stron | Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. 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 | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Uwierzytelnianie | Wyślij swój klucz API w nagłówku Authorization jako token Bearer lub w parametrze zapytania api_key | | Przykłady kodu | Python, Node.js i curl, a także definicje narzędzi dla MCP, LangChain, LlamaIndex i OpenAI function calling | | Płatność | Tylko kryptowalutą: BTC, USDT, USDC, ETH, SOL, LTC (USDT w TRC-20 lub ERC-20, USDC w ERC-20) | | Model płatności | Doładuj od 25 USD, a następnie kup dowolny pakiet kredytów ze swojego salda. Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej | | Konto | Logowanie numerem konta; e-mail jest opcjonalny. Logujesz się swoim numerem konta, więc trzymaj go w bezpiecznym miejscu. Opcjonalny e-mail daje Ci sposób na jego odzyskanie; bez zapisanego e-maila utraconego numeru nie da się przywrócić | | Logi zapytań | Każde zapytanie zostawia wpis w logu z czasem, kontem, nazwą hosta strony (nigdy pełnym URL-em ani jej treścią), statusem i wykorzystanymi kredytami; te wpisy są usuwane po 30 dniach. Czytane strony nie są przechowywane. Numer konta, zamówienia, doładowania i sumy kredytów są przechowywane przez cały czas istnienia konta, a następnie tylko tak długo, jak wymaga tego prawo księgowe. Dane przekazujemy organom wyłącznie wtedy, gdy zobowiązuje nas do tego prawo | | Operator | SerpGoat LLC | | Wsparcie | Pomoc e-mail odpowiada w ciągu 12 godzin, każdego dnia tygodnia, w tym pomaga przy crawlingu i integracjach | --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # O WebReaderAPI > O WebReaderAPI: kto obsługuje API czytnika stron, jak zamienia publiczne strony w Markdown, czego odmawia i jak dotrzeć do człowieka. Bez KYC, kryptowaluty. - URL: https://webreaderapi.com/pl/about/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Małe API z jednym zadaniem: odczytać publiczną stronę internetową dla Twojego oprogramowania i zwrócić jej tekst w formie, której może użyć model językowy. Ta strona opisuje, kto nim zarządza, jak działa i gdzie są jego granice. **Szybka odpowiedź — Czym jest WebReaderAPI i kto nim zarządza?** WebReaderAPI to API czytnika stron dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentu tożsamości. **WebReaderAPI** jest obsługiwane przez SerpGoat LLC. Przedpłacone kredyty zaczynają się od 3,75 USD za 10 000 stron, według stanu na październik 2026, i nigdy nie wygasają. Crawler respektuje robots.txt i identyfikuje się nazwą. ## Jaki problem rozwiązuje WebReaderAPI? Modele językowe czytają tekst, ale strony internetowe to przeważnie coś innego: nawigacja, skrypty, komunikaty o cookies, reklamy, widżety powiązanych postów i stopki. Podawanie modelowi surowego HTML marnuje jego okno kontekstu i grzebie fakty. WebReaderAPI pobiera stronę, znajduje główną treść i zwraca ją jako Markdown, z nagłówkami, listami, tabelami i linkami zachowanymi na miejscu. Dostajesz też tytuł, autora, datę publikacji, język i liczbę słów, gdy strona je podaje. Jedno wywołanie zastępuje krok pobierania, krok przeglądarki i krok czyszczenia w Twoim kodzie. ## Jak działa zapytanie, krok po kroku? 1. Twój kod wysyła URL do `https://webreaderapi.com/api/v1/read` z Twoim kluczem API. 2. Sprawdzamy robots.txt witryny dla naszego tokena i dla wszystkich robotów oraz szukamy sygnału `ai-input=no`. 3. Jeśli strona jest dozwolona, nasz bot pobiera ją z User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. 4. Gdy surowy HTML zawiera za mało tekstu, najpierw renderuje stronę przeglądarka headless (`render=auto`). 5. Wyodrębniamy główną treść, konwertujemy ją do Markdown i zwracamy wraz z metadanymi. 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ą. [Endpoint odczytu](https://webreaderapi.com/pl/docs/read/) dokumentuje każdy parametr. ## Czego WebReaderAPI nigdy nie zrobi? Niektóre ograniczenia są częścią produktu, a nie ustawieniem: - **Nigdy nie czyta strony, której witryna odmówiła.** Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. - **Nigdy nie obchodzi odmowy.** 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. - **Nigdy nie czyta za logowaniem ani za paywallem**, nawet z danymi logowania, które podasz. - **Nigdy nie zatrzymuje Twoich stron.** Tekst wraca do Ciebie, a nasze logi zawierają tylko nazwę hosta. Te zasady kosztują nas niektóre strony, które technicznie moglibyśmy pobrać. Akceptujemy ten kompromis, bo właściciele stron, klienci i asystenci AI muszą móc zaufać narzędziu. ## Kim są klienci? Głównie programiści, którzy dają agentom AI niezawodny sposób czytania sieci, oraz zespoły, które wczytują dokumentację, centra pomocy lub blogi do systemów wyszukiwania informacji. Badacze używają go do zbierania publicznych artykułów w czystej formie, a niektóre narzędzia do budowania widoków do czytania lub streszczeń. [Polityka dopuszczalnego użytkowania](https://webreaderapi.com/pl/acceptable-use/) wymienia, co jest niedozwolone, na przykład zbieranie danych osobowych o osobach prywatnych. Człowiek sprawdza każde zgłoszenie, a konta łamiące zasady są zawieszane. ## Dlaczego kryptowaluta i bez KYC? Bo wielu naszych klientów to indywidualni programiści, małe zespoły i autonomiczne projekty, które wolą nie udostępniać dokumentów tożsamości ani danych karty każdemu API, którego próbują. Logowanie numerem konta; e-mail jest opcjonalny. Doładowujesz od 25 USD w BTC, USDT, USDC, ETH, SOL, LTC, a następnie kupujesz kredyty ze swojego salda. Bez KYC nie oznacza bez zasad. Polityka dopuszczalnego użytkowania dotyczy każdego konta, robots.txt dotyczy każdego zapytania, a my reagujemy na udokumentowane zgłoszenia nadużyć. ## Czego nie twierdzimy? Dziś nie publikujemy żadnych danych o czasie odpowiedzi, dostępności ani wskaźniku skuteczności. Skuteczność zależy od czytanych witryn, a uczciwa liczba wymaga zmierzonej publicznej próbki z metodą i datą. Gdy ją będziemy mieć, pojawi się na [stronie statusu](https://webreaderapi.com/pl/status/). Nie twierdzimy też, że czytamy każdą stronę w sieci. Witryny, które odmawiają robotom, wymagają logowania lub blokują zautomatyzowane zapytania, pozostają poza zasięgiem z założenia. ## Jak mogę dotrzeć do człowieka? Napisz na support@webreaderapi.com w sprawie pytań o API, rozliczenia lub Twoje konto; odpowiada człowiek, codziennie. Właściciele stron i każdy zgłaszający nadużycie mogą napisać na abuse@webreaderapi.com; [strona bota](https://webreaderapi.com/pl/bot/) wyjaśnia, jak zablokować lub spowolnić nasz crawler. Nikt z naszego zespołu nigdy nie poprosi Cię o numer konta ani klucz API. ## O nas: najczęstsze pytania ### Jaka firma obsługuje WebReaderAPI? SerpGoat LLC. Nazwa firmy pojawia się na fakturach w panelu klienta oraz w [regulaminie](https://webreaderapi.com/pl/terms/). ### Czy WebReaderAPI buduje własny indeks wyszukiwania? Nie. Czyta strony przysłane przez klientów, po jednym URL, w partii lub po jednej witrynie naraz. Nie crawluje sieci na własne potrzeby i nie rankinguje stron. ### Czy kod wyodrębniający główną treść jest publiczny? API jest usługą hostowaną, a jego wewnętrzny kod nie jest publikowany. Na zachowanie, na którym możesz polegać, wskazuje [dokumentacja endpointu odczytu](https://webreaderapi.com/pl/docs/read/) i [format odpowiedzi](https://webreaderapi.com/pl/docs/response/). ### Czy mogę wypróbować WebReaderAPI za darmo? Nie, nie ma darmowego planu. Najmniejszy pakiet, 10 000 stron za 3,75 USD, daje to samo API co największy, opłacany z doładowania 25 USD. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Polityka dopuszczalnego użytkowania > Polityka dopuszczalnego użytkowania WebReaderAPI: co możesz czytać przez web reader API, co jest zabronione i jak działamy z nadużyciami. Bez KYC. - URL: https://webreaderapi.com/pl/acceptable-use/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Brak weryfikacji tożsamości nie oznacza braku zasad. Ta polityka mówi, do czego API może służyć, do czego nigdy nie może służyć i co się dzieje, gdy ktoś ją naruszy. **Szybka odpowiedź — Do czego mogę używać WebReaderAPI?** Możesz używać **WebReaderAPI** do czytania publicznych stron internetowych na potrzeby agentów AI, systemów wyszukiwania informacji (retrieval), badań, monitorowania informacji publicznych i narzędzi do czytania. Nie możesz używać go do Czytanie stron w celu zbierania danych osobowych o osobach prywatnych, czytanie treści za loginem lub paywallem, materiały pornograficzne z udziałem dzieci, spam, oszustwa oraz każde użycie łamiące prawo w miejscu, w którym działasz Ty lub my. Każde zapytanie respektuje robots.txt i nigdy nie pomagamy nikomu obejść odmowy ze strony serwisu. Każde zgłoszenie nadużycia czyta człowiek, a konta przyłapane na niewłaściwym korzystaniu z usługi są zawieszane. ## Jakie zastosowania są mile widziane? Te zastosowania odpowiadają temu, do czego usługa powstała: - **Agenci AI i asystenci**, którzy czytają stronę, by odpowiedzieć na pytanie użytkownika. - **Wyszukiwanie informacji w publicznych treściach**, takich jak dokumentacja, centra pomocy, blogi i publiczne raporty. - **Badania** publicznych artykułów, polityk, cen lub ogłoszeń. - **Monitorowanie publicznych stron** pod kątem zmian: regulaminy, informacje o wydaniach, strony produktów, wiadomości. - **Narzędzia dostępności i czytania**, które prezentują stronę jako czysty tekst. - **Archiwizacja i migracja własnych witryn** do innego formatu. ## Jakie zastosowania są zabronione? Następujące działania są niedozwolone na każdym koncie, niezależnie od podanego celu: - Czytanie stron w celu zbierania danych osobowych o osobach prywatnych, czytanie treści za loginem lub paywallem, materiały pornograficzne z udziałem dzieci, spam, oszustwa oraz każde użycie łamiące prawo w miejscu, w którym działasz Ty lub my. - Tworzenie profili osób prywatnych lub zbieranie danych kontaktowych z dowolnej witryny. - Używanie API, jego wyników lub kilku kont do obejścia odmowy ze strony serwisu, rate limit, strony wyzwania lub reguły robots.txt. - Czytanie treści wymagających logowania, subskrypcji lub paywalla, nawet z użyciem własnych danych dostępowych. - Odsprzedawanie surowego dostępu do API jako własnej usługi czytania bez naszej pisemnej zgody. - Wykorzystywanie wyników do spamu, phishingu, podszywania się lub oszustw. - Wysyłanie zapytań mających przeciążyć lub zaszkodzić witrynie. ## Jak robots.txt i decyzje właścicieli witryn mają do mnie zastosowanie? Mają zastosowanie do każdego zapytania automatycznie i nie możesz ich wyłączyć. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. 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. Jeśli potrzebna witryna jest poza zasięgiem, poproś jej właściciela o dostęp lub skorzystaj z oficjalnego feedu albo API oferowanego przez witrynę. [Strona dla botów](https://webreaderapi.com/pl/bot/) pokazuje właścicielom witryn, jak zezwolić naszemu crawlerowi lub mu odmówić. ## Kto odpowiada za sposób wykorzystania treści? Ty. Strony, które czytasz, zachowują prawa swoich właścicieli: prawa autorskie, prawa do baz danych i wszelkie licencje wskazane przez witrynę. WebReaderAPI dostarcza tekst, o który prosiłeś; nie przyznaje Ci prawa do jego ponownego publikowania. Sprawdź warunki i licencję witryn, które czytasz, zanim zapiszesz, opublikujesz lub użyjesz ich treści do trenowania. Ta polityka nie jest poradą prawną; po poradę zwróć się do prawnika w jurysdykcji, w której działasz. ## Co się dzieje, gdy ktoś naruszy tę politykę? Najpierw patrzymy na fakty: każdy raport przed podjęciem działania przegląda człowiek. W zależności od powagi sprawy możemy ostrzec konto, unieważnić jego klucze API, zawiesić je lub zamknąć. Kredyty na koncie zamkniętym z powodu naruszenia przepadają, zgodnie z [regulaminem](https://webreaderapi.com/pl/terms/). Treści związane z wykorzystywaniem seksualnym dzieci zgłaszamy właściwym organom. ## Jak zgłosić nadużycie? Napisz na abuse@webreaderapi.com, podając dotyczący adres URL, datę i godzinę oraz wiersz z logu serwera pokazujący nasz user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Krótkie, rzeczowe zgłoszenie najłatwiej zweryfikować. Nie ujawniamy zgłaszającemu, który klient wysłał zapytanie, ale działamy na podstawie tego, co ustalimy. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Alternatywa dla Firecrawl: kredyty za Markdown za stronę, płatność kryptowalutą > Alternatywa dla Firecrawl na 2026: konwersja stron do Markdown z 0,07 USD/1K stron, kredyty bez wygasania, respektowanie robots.txt, bez KYC, kryptowaluta. - URL: https://webreaderapi.com/pl/alternatives/firecrawl/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Firecrawl to API do czytania, od którego zaczyna się większość artykułów porównawczych. Ta strona zestawia jego publiczne plany z pakietami WebReaderAPI, wymienia to, co Firecrawl robi, a czego my nie robimy, i mapuje jego opcje na nasze endpointy na wypadek przeniesienia. **Szybka odpowiedź — Jaka jest dobra alternatywa dla Firecrawl, za którą mogę zapłacić kryptowalutą?** **WebReaderAPI** zamienia publiczne strony internetowe, PDF-y i całe witryny w Markdown, sprzedawane jako przedpłacone kredyty, które nie wygasają, opłacane kryptowalutą bez KYC. W cenach z tej strony, ustalonych 2026-10-22, 100 000 statycznych stron kosztuje 21,75 USD; plan Standard Firecrawl kosztuje $99 miesięcznie za 100 000 kredytów. Firecrawl renderuje każdą stronę za jeden kredyt i dodaje wyodrębnianie JSON, akcje w przeglądarce oraz darmowy plan, których nie oferujemy. ## Firecrawl i WebReaderAPI w skrócie | | WebReaderAPI (nasze) | Firecrawl | | --- | --- | --- | | Rozliczanie | Pakiety przedpłacone; kredyty nie wygasają | Plany miesięczne; kredyty z planu resetują się co miesiąc; kredyty dokupione osobno zostają do anulowania | | Najmniejsza płatna opcja | 10 000 stron za 3,75 USD | Hobby: 5 000 kredytów za $19 miesięcznie | | Kredyty za stronę | 1 za stronę statyczną, 2 gdy potrzebna jest przeglądarka | 1 za stronę, renderowanie wliczone | | Darmowy plan | Brak | 1 000 kredytów miesięcznie, bez karty; MCP bez klucza w ramach dziennych limitów | | Ekstrakcja ustrukturyzowanego JSON | Niedostępne | Format JSON ze schematem, +4 kredyty za stronę | | Akcje przeglądarki i zrzuty ekranu | Niedostępne | Do 50 akcji na zapytanie; format zrzutu ekranu | | Endpoint mapy witryny | Nie w wersji 1 | Mapa: 1 kredyt za wywołanie | | robots.txt | Zawsze respektowany; brak możliwości obejścia | Respektowany domyślnie; ignoreRobotsTxt tylko w wersji Enterprise | | Płatność | BTC, USDT, USDC, ETH, SOL, LTC | Karty, karty debetowe i PayPal przez Stripe | | Weryfikacja tożsamości | Brak: bez dowodu, bez selfie, bez dokumentów | Brak w jego regulaminie | | Self-hosting | Nie | Rdzeń open source na licencji AGPL-3.0 | *Ceny sprawdzone dnia 22 października 2026.* Dane o Firecrawl z firecrawl.dev i docs.firecrawl.dev, sprawdzone 2026-10-22. ## Jak wypadają ceny za 1 000 stron? To zależy od tego, czy Twoje strony wymagają przeglądarki. Firecrawl nalicza jeden kredyt za stronę w każdym przypadku. WebReaderAPI nalicza jeden kredyt za stronę, której HTML zawiera jej tekst, a dwa, gdy trzeba było uruchomić przeglądarkę; w przypadku `render=auto` przeglądarka uruchamia się tylko wtedy, gdy jest potrzebna. | Strony miesięcznie | Firecrawl (dowolna strona) | WebReaderAPI, strony statyczne | WebReaderAPI, strony wymagające przeglądarki | |---|---|---|---| | 10 000 | $44 (Hobby $19 + 5000 dodatkowych kredytów po $5 za 1000) | 3,75 USD | 2 × 3,75 USD | | 100 000 | $99 (Standard) | 21,75 USD | 2 × 21,75 USD | | 1 000 000 | $749 (Scale; $599 miesięcznie przy rozliczeniu rocznym) | 74,25 USD | 2 × 74,25 USD | Przy cenach z tej strony, ustalonych 2026-10-22, obie nasze kolumny kosztują mniej niż miesięczna cena Firecrawl przy tych trzech wolumenach. Większe znaczenie niż sumy mają dwie różnice: kredyty w planach Firecrawl resetują się co miesiąc, a nasze pakiety zachowują wartość, oraz ekstrakcja JSON w Firecrawl kosztuje łącznie 5 kredytów za stronę, a tej funkcji nie sprzedajemy. ## Kiedy Firecrawl jest lepszym wyborem? Wybierz Firecrawl, gdy potrzebujesz czegoś więcej niż czystego Markdown ze stron publicznych: - **Ekstrakcja ustrukturyzowana.** Jego format JSON zwraca pola zgodne ze schematem, który wyślesz, za dodatkowe 4 kredyty za stronę. My zwracamy tylko Markdown i metadane. - **Akcje przeglądarki.** Klikaj, czekaj, przewijaj i wpisuj przed odczytem, do 50 akcji na zapytanie. My czytamy strony tak, jak się ładują. - **Zrzuty ekranu, mapy witryn i śledzenie zmian.** Wszystko to formaty lub endpointy po stronie Firecrawl. - **Darmowy start.** 1 000 kredytów miesięcznie bez karty oraz dostęp bez klucza przez jego serwer MCP, z dziennym limitem na adres IP. - **Ekosystem.** Jego strona integracji wymienia LangChain, LlamaIndex, CrewAI, n8n, Zapier i agentów kodujących; OpenClaw dostarcza Firecrawl jako swojego wbudowanego dostawcę web_fetch. - **Self-hosting.** Rdzeń jest open source na licencji AGPL-3.0. Firecrawl ogłosił także rundę Series B o wartości $75M 22 września 2026, co finansuje szybki rozwój produktu. ## Kiedy WebReaderAPI jest lepszym wyborem? Wybierz WebReaderAPI, jeśli chcesz prostego readera z przewidywalnymi kosztami i bez karty oraz weryfikacji tożsamości. - **Kryptowaluta, bez KYC.** Doładuj od 25 USD w BTC, USDT, USDC, ETH, SOL, LTC. Logowanie numerem konta; e-mail jest opcjonalny. - **Kredyty, które nie przepadają.** Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. Crawl uruchamiany dwa razy w roku nie płaci za jedenaście bezczynnych miesięcy. - **Błędy nic nie kosztują.** 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ą. Firecrawl nic nie nalicza, gdy nie zwróci dokumentu, ale strona, która odpowiada 403 lub 404, i tak kosztuje go jeden kredyt. - **Jedna zasada dla właścicieli stron.** Nasz crawler sprawdza robots.txt przy każdym odczycie i respektuje `Content-Signal: ai-input=no`, bez ustawienia, które by to wyłączało. Jego User-Agent jest opublikowany na [naszej stronie crawlera](https://webreaderapi.com/pl/bot/). - **Cena za stronę** przy wolumenach powyżej, na dzień 2026-10-22. ## Jak opcje Firecrawl przekładają się na endpointy WebReaderAPI? Odczyty pojedynczych stron i crawlingi przenoszą się bezpośrednio; ekstrakcja, akcje i mapy nie mają odpowiednika. | Firecrawl | WebReaderAPI | Uwaga | |---|---|---| | Scrape jednej strony | `GET` lub `POST /read` | Ta sama idea: jeden URL na wejściu, jeden dokument na wyjściu | | `formats: ["markdown"]` (domyślnie) | `format=markdown` (domyślnie) | Domyślnie tylko główna treść; `main_content=false` dla całej strony | | `formats: ["html"]` | `format=html` | Oczyszczony HTML treści; brak surowego HTML w wersji 1 | | `formats: ["links"]` | `include_links=true` | Linki zwracane jako lista | | `formats: ["json"]` ze schematem | — | Uruchom własny model na naszym Markdown | | Akcje, zrzut ekranu | — | Niedostępne | | `timeout` w ms (domyślnie 60 000) | `timeout` w sekundach (od 5 do 60, domyślnie 30) | | | Cache `maxAge` (domyślnie 2 dni) | — | Nie przechowujemy kopii; każdy odczyt pobiera stronę | | Crawl z `limit` i `maxDiscoveryDepth` | `POST /crawl` z `limit` (do 10 000) i `max_depth` | Wyniki stronicowane kursorem | | Mapa | — | Nie w wersji 1 | | `ignoreRobotsTxt` (Enterprise) | — | robots.txt jest zawsze stosowany | *Python: odczyt, który wysyłałeś jako scrape* ```python 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/changelog", "format": "markdown", "include_links": "true"}, timeout=90, ) if resp.status_code == 403: print("refused by robots.txt or by the site:", resp.json()["error"]["code"]) else: resp.raise_for_status() page = resp.json() print(page["title"], "-", page["credits_used"], "credit(s)") print(len(page.get("links", [])), "links") print(page["markdown"][:400]) ``` ## Czy strony, które Firecrawl mógł odczytać, zadziałają też tutaj? Większość stron publicznych zadziała, z jedną różnicą w polityce. Tryb enhanced Firecrawl ponawia zapytanie przez to, co nazywa enhanced proxies, po odpowiedzi 401, 403 lub 429. WebReaderAPI nie ponawia wokół odmowy: gdy strona mówi nie, otrzymujesz `502 target_refused` z własnym statusem strony i żaden kredyt nie jest zużywany. Przepuść swoje 50 najważniejszych URL przez oba serwisy przez jeden dzień, zanim przeniesiesz ruch produkcyjny. Porównaj Markdown, flagę `rendered` i zużyte kredyty; to pokaże Ci zarówno jakość, jak i realną cenę za Twoje strony. ## Który pakiet zastąpi mój plan Firecrawl? Policz swoje strony miesięcznie i ile z nich wymaga przeglądarki. Obciążenie wielkości Standard, czyli 100 000 stron, mieści się w 100 000 stron, jeśli strony są statyczne, albo w dwóch takich pakietach, jeśli każda strona wymaga przeglądarki. Kredyty nigdy nie wygasają. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 USD/1K stron | | Bulk | 5 000 000 stron | 350 USD | 0,07 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Alternatywa dla Firecrawl: najczęstsze pytania ### Czy istnieje darmowa alternatywa dla Firecrawl? Sam Firecrawl ma darmowy plan: 1 000 kredytów miesięcznie. Narzędzia open source, takie jak Crawl4AI, MarkItDown i Trafilatura, są darmowe do uruchomienia na własnych serwerach; zobacz [Crawl4AI czy hostowane API](https://webreaderapi.com/pl/compare/crawl4ai-vs-api/). WebReaderAPI nie ma darmowego planu: jego najmniejszy pakiet to 10 000 stron za 3,75 USD. ### Czy mogę zapłacić za Firecrawl kryptowalutą? Jego strona z cennikiem wymienia Stripe, z kartami, kartami debetowymi i PayPal, bez opcji kryptowalut. WebReaderAPI przyjmuje tylko BTC, USDT, USDC, ETH, SOL, LTC, bez KYC. ### Czy WebReaderAPI wyodrębnia JSON ze schematem tak jak Firecrawl? Nie. WebReaderAPI zwraca Markdown, tekst lub oczyszczony HTML z metadanymi. Jeśli potrzebujesz pól, przekaż nasz Markdown do wybranego modelu ze swoim schematem; format JSON w Firecrawl robi to za dodatkowe 4 kredyty za stronę. ### Czy kredyty Firecrawl wygasają? Zgodnie z dokumentacją rozliczeń Firecrawl kredyty z planu resetują się każdego miesiąca i domyślnie nie przechodzą na kolejny okres; kredyty kupione dodatkowo pozostają do wykorzystania, ale wygasają, jeśli anulujesz subskrypcję. Kredyty WebReaderAPI nigdy nie wygasają. ### Czy mogę zamiast tego hostować Firecrawl samodzielnie? Tak. Jego rdzeń jest open source na licencji AGPL-3.0, a README mówi, że domyślnie respektuje robots.txt. Usługa hostowana dodaje funkcje, których wersja open source nie zawiera. ## Źródła 1. [Cennik Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Rozliczanie](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Zaawansowany przewodnik po web scrapingu](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 4. [Crawl](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 5. [Tryb rozszerzony](https://docs.firecrawl.dev/features/enhanced-mode.md) — Firecrawl docs (read 2026-10-22) 6. [Integracje](https://docs.firecrawl.dev/integrations.md) — Firecrawl docs (read 2026-10-22) 7. [Premiera Firecrawl bez klucza](https://www.firecrawl.dev/blog/firecrawl-keyless-launch) — Firecrawl (read 2026-10-22) 8. [Przedstawiamy Alexandrię i naszą rundę Series B](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 9. [repozytorium firecrawl/firecrawl](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 10. [Narzędzia webowe](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Alternatywa dla Jina Reader: kredyty za stronę zamiast tokenów > Alternatywa dla Jina Reader: kredyty za stronę zamiast tokenów, od 0,07 USD/1K stron, robots.txt zawsze sprawdzany, bez KYC. Ceny na dzień 2026-10-22. - URL: https://webreaderapi.com/pl/alternatives/jina-reader/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Jina Reader rozsławił trik z prefiksem URL: wstaw r.jina.ai/ przed linkiem i dostajesz Markdown. Ta strona wyjaśnia, jak Jina rozlicza, kiedy jest właściwym narzędziem, a kiedy łatwiej zaplanować cenę za stronę. **Szybka odpowiedź — Jaka jest dobra alternatywa dla Jina Reader?** Jina Reader pobiera opłaty za tokeny wyjściowe: $50 za 1 miliard, $500 za 11 miliardów, z 10 milionami darmowych tokenów na nowy klucz do użytku niekomercyjnego (odczyt 22 października 2026). **WebReaderAPI** pobiera opłatę za stronę, od 0,07 USD/1K stron, więc długa strona kosztuje tyle samo co krótka. Sprawdza robots.txt przy każdym odczycie, sprzedaje kredyty, które nigdy nie wygasają, i przyjmuje kryptowaluty bez KYC. ## Jina Reader i WebReaderAPI w skrócie | | WebReaderAPI (nasze) | Jina Reader | | --- | --- | --- | | Jak wywołujesz | `GET https://webreaderapi.com/api/v1/read?url=…` z kluczem API | Prefiks linku: `https://r.jina.ai/` + URL; klucz opcjonalny | | Jednostka rozliczeniowa | Strony: 1 kredyt, 2 z przeglądarką | Tokeny wyjściowe | | Cena | 3,75 USD za 10 000 stron; od 0,07 USD/1K stron | $50 za 1 mld tokenów; $500 za 11 mld tokenów | | Darmowe użycie | Brak | Bez klucza: 20 zapytań na minutę; 10 mln tokenów na nowy klucz, tylko niekomercyjnie | | Limity zapytań | Limit współbieżności pokazany w panelu | 500 zapytań na minutę z kluczem; 5 000 w wersji premium | | robots.txt | Sprawdzane przy każdym odczycie | Opcjonalny nagłówek `X-Robots-Txt`; domyślnie nie podano | | Crawl całej witryny | `POST /crawl`, do 10 000 stron | Brak podanego endpointu crawl | | PDF | Tak, do 100 stron | Tak | | Płatność | BTC, USDT, USDC, ETH, SOL, LTC | Karty, Google Pay i PayPal przez Stripe | | Właściciel | SerpGoat LLC | Jina AI, część Elastic od października 2025 | *Ceny sprawdzone dnia 22 października 2026.* Dane Jina pochodzą z jina.ai/reader i jej panelu cenowego, odczytane 2026-10-22. ## Jak Jina Reader nalicza opłaty i ile kosztuje jedna strona? Jina liczy tokeny w odpowiedzi. Jej pakiety to 50 USD za 1 miliard tokenów, około 0,05 USD za milion, oraz 500 USD za 11 miliardów, około 0,045 USD za milion. Nieudane zapytania nie są odliczane, a strona żądana dwukrotnie w ciągu 5 minut pochodzi z cache. Koszt strony zależy więc od jej długości, a Jina nie publikuje średniej. Jako **szacunek, przy założeniu 5 000 tokenów na stronę**, 1 000 stron kosztuje około 0,25 USD w pierwszym pakiecie i 0,225 USD w drugim. Krótka notatka prasowa o 2 000 tokenów kosztuje mniej; strona dokumentacji o 20 000 tokenów kosztuje cztery razy więcej. OCR przez jina-ocr-v1 kosztuje 40 razy więcej tokenów. ## Kiedy kredyty za stronę są łatwiejsze do zaplanowania? Gdy wiesz, ile stron przeczytasz, ale nie jak długie są. Crawling strony dokumentacji, lista stron konkurencji do obserwacji lub agent, który czyta pięć linków na zadanie — wszystkie mają liczbę stron, a nie liczbę tokenów. W WebReaderAPI, 100 000 stron kosztują 21,75 USD, niezależnie od długości każdej strony, na dzień 22 października 2026. Strony wymagające przeglądarki zużywają dwa kredyty, a pole `rendered` mówi, kiedy tak się stało. Użyj `max_chars`, aby ograniczyć rozmiar zwracanych danych; chroni to okno kontekstu Twojego modelu, ale nie zmienia ceny. ## Kiedy Jina Reader jest lepszym wyborem? Wybierz Jina Reader, gdy czas konfiguracji liczy się bardziej niż cokolwiek innego, lub gdy Twoje strony są krótkie: - **Bez konfiguracji.** Prefiks URL działa bez klucza przy 20 zapytaniach na minutę, co wystarcza do testów i małych skryptów. - **Krótkie strony.** Przy rozliczaniu tokenów krótka strona kosztuje mniej niż cena za stronę; przy powyższym szacunku 5 000 tokenów Jina kosztuje mniej za stronę niż nasz pakiet 10 000 stron. - **Precyzyjna kontrola przez nagłówki.** `X-Target-Selector`, `X-Remove-Selector`, `X-Token-Budget`, `X-Engine` i inne kształtują każde odczytanie. - **Modele i wyszukiwanie.** Wyniki ReaderLM-v2 i wyszukiwanie `s.jina.ai` pochodzą z tego samego konta. - **Oficjalny serwer MCP**, którego narzędzie `read_url` czyta do pięciu URL-i na wywołanie. - **Open source.** Gałąź Reader na GitHubie jest na licencji Apache-2.0, bez warstwy hostowanego przechowywania. Jina AI jest teraz częścią Elastic, która sfinalizowała przejęcie 9 października 2025. ## Jak nagłówki Jina Reader mapują się na parametry WebReaderAPI? Większość odczytów przenosi się przez zmianę URL i dodanie klucza. | Jina Reader | WebReaderAPI | Uwaga | |---|---|---| | `https://r.jina.ai/https://example.com` | `GET https://webreaderapi.com/api/v1/read?url=https://example.com` | Klucz w nagłówku `Authorization` | | Domyślne wyjście Markdown | `format=markdown` (domyślnie) | Domyślnie główna treść | | `X-Engine: direct` | `render=false` | Odczyt zwykłym HTTP | | Domyślna przeglądarka headless | `render=auto` lub `render=true` | 2 kredyty, gdy uruchamiana jest przeglądarka | | `X-Token-Budget` | `max_chars` | Znaki, nie tokeny | | `X-Target-Selector`, `X-Remove-Selector` | — | Zamiast tego wykrywanie głównej treści | | `X-Proxy` (kraj) | `country` | +10 kredytów, połączenie rezydencjalne | | `X-No-Cache` | — | Nie przechowujemy cache | | `X-Robots-Txt` (opt-in) | — | robots.txt jest zawsze sprawdzany | | Nadpisanie `X-User-Agent` | — | Nasz User-Agent jest stały i publiczny | *Python: od prefiksu r.jina.ai do endpointu read* ```python import os import requests # Before: requests.get("https://r.jina.ai/" + url) url = "https://example.com/guide/install" resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "render": "auto", "max_chars": 30000}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["word_count"], "words, rendered:", page["rendered"], "credits:", page["credits_used"]) print(page["markdown"][:400]) ``` ## Co zmienia się dla stron, które czytasz? W Jina robots.txt jest sprawdzany tylko wtedy, gdy wyślesz nagłówek `X-Robots-Txt`, a Ty możesz nadpisać User-Agent przeglądarki; jej strony nie podają domyślnych wartości dla żadnego z nich. W WebReaderAPI oba są stałe: każde odczytanie sprawdza robots.txt dla `WebReaderAPI` i dla wszystkich robotów, a każde zapytanie niesie `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Oznacza to, że niektóre strony, które Jina może przeczytać, tutaj zostaną odrzucone, bez kosztu dla Ciebie. W zamian właściciele stron mogą zobaczyć, kto czyta ich strony, i zablokować lub zezwolić nam w jednej linii, jak wyjaśnia nasza [strona crawlera](https://webreaderapi.com/pl/bot/). ## Ile kosztuje WebReaderAPI zamiast tokenów? Stała cena za stronę: 10 000 stron za 3,75 USD do 5 000 000 stron za 350 USD, na dzień 22 października 2026. Kredyty nigdy nie wygasają. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 USD/1K stron | | Bulk | 5 000 000 stron | 350 USD | 0,07 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Alternatywa dla Jina Reader: najczęstsze pytania ### Czy Jina Reader jest darmowy? Częściowo. Bez klucza r.jina.ai jest darmowy do podstawowego użytku przy 20 zapytaniach na minutę. Każdy nowy klucz otrzymuje również 10 milionów darmowych tokenów, co strona cenowa Jina ogranicza do użytku niekomercyjnego. Płatne pakiety zaczynają się od 50 USD za 1 miliard tokenów. ### Dlaczego strona w Jina Reader kosztuje więcej, gdy jest długa? Ponieważ Jina rozlicza tokeny w swojej odpowiedzi. Długi artykuł zwraca więcej tokenów niż krótki. WebReaderAPI rozlicza jeden kredyt za stronę, dwa z przeglądarką, niezależnie od długości. ### Czy mogę zapłacić za Jina Reader kryptowalutą? Strony Jina wymieniają Stripe z kartami, Google Pay i PayPal, bez opcji kryptowalut. WebReaderAPI przyjmuje BTC, USDT, USDC, ETH, SOL, LTC, bez KYC. ### Czy WebReaderAPI ma darmowy tryb bez klucza, jak r.jina.ai? Nie. Każde odczytanie wymaga klucza, a klucze są w płatnym pakiecie. Najmniejszy pakiet to 10 000 stron za 3,75 USD. ### Kto jest teraz właścicielem Jina Reader? Elastic. Sfinalizowała przejęcie Jina AI 9 października 2025, a strona prawna Jina mówi, że teraz obowiązują warunki przetwarzania danych Elastic. ## Źródła 1. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 2. [Panel API: cennik](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Informacje prawne](https://jina.ai/legal/) — Jina AI (read 2026-10-22) 4. [repozytorium jina-ai/reader](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) 5. [repozytorium jina-ai/MCP](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 6. [Elastic finalizuje przejęcie Jina AI](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Najlepsze API web reader w 2026: 10 sposobów na zamianę URL-i w Markdown > API web reader i URL to Markdown w 2026: 10 opcji porównanych pod kątem ceny za 1 000 stron, JavaScript, robots.txt, kryptowalut i KYC. Sprawdzone 2026-10-22. - URL: https://webreaderapi.com/pl/best/web-reader-apis/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Dziesięć hostowanych API i narzędzi open source, które zamieniają strony internetowe w Markdown dla modeli, porównanych według tych samych kryteriów na podstawie ich własnych stron. Publikujemy WebReaderAPI, który jest pierwszy na tej liście; każdy wpis mówi, co ta opcja robi lepiej. **Szybka odpowiedź — Jakie jest najlepsze API web reader lub URL to Markdown w 2026?** To zależy od zadania. Na 22 października 2026: **WebReaderAPI** za płatność kryptowalutą, bez KYC, z respektowaniem robots.txt i kredytami, które nigdy nie wygasają, od 0,07 USD/1K stron; Firecrawl za najbardziej kompletny zestaw funkcji w cenie $0.99 za 1 000 stron w planie za $99; Jina Reader za odczyty bez konfiguracji rozliczane w tokenach; Crawl4AI, jeśli wolisz self-hosting na licencji Apache-2.0. ## 10 najlepszych API do czytania stron internetowych w 2026 **Metodologia.** Opublikowane przez WebReaderAPI (SerpGoat LLC). Każdy dostawca jest porównywany według tych samych kryteriów, zaczerpniętych z jego własnej publicznej strony internetowej: cena katalogowa za 1 000 stron dla zwykłych stron i stron renderowanych w przeglądarce headless, darmowy plan i wygasanie kredytów, funkcje jakości Markdown (główna treść, PDF, crawling), polityka robots.txt, akceptowane metody płatności, w tym kryptowaluty, wymagania dotyczące tożsamości lub karty, data sprawdzenia cen. *Ceny sprawdzone dnia 22 października 2026.* ### 1. WebReaderAPI — Nasz produkt API do czytania stron internetowych dla agentów AI z przedpłaconymi kredytami, które nigdy nie wygasają, opłacane kryptowalutą bez KYC; jego crawler respektuje robots.txt i nigdy nie próbuje obejść odmowy. - Najlepsze dla: Płatność kryptowalutą bez dokumentów; agenci i pipeline'y RAG, które chcą kulturalnego crawlowania - Cena: 0,38 USD/1K stron na 10 000 stron, 0,07 USD/1K stron na 1 000 000 stron; strony renderowane w przeglądarce zużywają 2 kredyty - KYC: Brak - Płatność kryptowalutą: BTC, USDT, USDC, ETH, SOL, LTC - Zalety: Kredyty nigdy nie wygasają - Zalety: Nieudane strony i strony z odmową robots są bezpłatne - Zalety: Kod narzędzi dla MCP, LangChain, LlamaIndex, OpenAI, n8n, OpenClaw - Wady: Brak darmowego planu - Wady: Brak ekstrakcji do ustrukturyzowanego JSON i akcji na stronie - Wady: Strony, których witryna odmawia, pozostają odmówione ### 2. Firecrawl Najbardziej znane API do zamiany witryn w dane gotowe dla LLM: scraping, crawling, mapowanie i ekstrakcja, z dużym ekosystemem open-source i MCP. - Najlepsze dla: Zespoły, które potrzebują ustrukturyzowanej ekstrakcji, akcji na stronie i dojrzałego ekosystemu - Cena: $3.80 za 1 000 w planie Hobby ($19 za 5 000); $0.99 w planie Standard ($99 za 100 000); $0.749 w planie Scale ($749 za 1 milion); JavaScript w cenie - KYC: Brak podanych - Płatność kryptowalutą: Nie (karty, PayPal) - Zalety: 1 000 darmowych kredytów miesięcznie, bez karty - Zalety: Domyślnie respektuje robots.txt - Zalety: Rdzeń z możliwością self-hostingu (AGPL-3.0) - Wady: Kredyty w planie odnawiają się co miesiąc - Wady: Ekstrakcja JSON zużywa dodatkowe 4 kredyty na stronę ### 3. Jina Reader Dodaj prefiks r.jina.ai do URL-a i otrzymaj Markdown; rozliczane według tokenów wyjściowych, obecnie część Elastic. - Najlepsze dla: Szybkie odczyty bez konfiguracji; krótkie strony - Cena: $50 za 1 miliard tokenów wyjściowych; $500 za 11 miliardów (koszt na stronę zależy od długości strony) - KYC: Brak podanych - Płatność kryptowalutą: Nie podano - Zalety: Użycie bez klucza: 20 zapytań na minutę - Zalety: 10 milionów darmowych tokenów na nowy klucz (niekomercyjnie) - Wady: Rozliczanie w tokenach sprawia, że długie strony są kosztownie nieprzewidywalne - Wady: robots.txt tylko przez nagłówek wymagający zgody ### 4. Crawl4AI Najpopularniejszy crawler open-source dla LLM, z hostowaną chmurą we wczesnym dostępie. - Najlepsze dla: Zespoły, które chcą self-hostingu i pełnej kontroli - Cena: Darmowy do self-hostingu; Cloud od $10 (Starter), zwykła strona 0,5 kredytu, strona w przeglądarce 1 kredyt - KYC: Bez karty (Cloud) - Płatność kryptowalutą: Nie podano - Zalety: Licencja Apache-2.0 - Zalety: Serwer MCP do self-hostingu - Wady: Self-hosting oznacza serwery i utrzymanie - Wady: check_robots_txt jest domyślnie wyłączone ### 5. Olostep API, które renderuje każdą stronę w przeglądarce, z batchami, crawlingiem i mapami, oraz płatnością kryptowalutą za zapytanie dla agentów. - Najlepsze dla: Strony mocno oparte na JavaScript w dużej skali - Cena: $1,80 za 1 000 na Starter ($9 za 5 000); $0,399 na Scale ($399 za 1 milion), każda strona renderowana - KYC: Karta do doładowań - Płatność kryptowalutą: Za zapytanie, USDC (x402) - Zalety: Najniższa zweryfikowana cena strony w przeglądarce przy 1 milionie miesięcznie - Zalety: Batche, crawling i mapy - Wady: Kredyty w planie odnawiają się co miesiąc ### 6. Exa contents Treść strony z indeksu wyszukiwania Exa w stałej cenie, z płatnością kryptowalutą za zapytanie dla agentów. - Najlepsze dla: Agenci, którzy już korzystają z wyszukiwania Exa - Cena: $1,00 za 1 000 stron, stała cena - KYC: Karta do płatności za zużycie - Płatność kryptowalutą: Za zapytanie, USDC (x402) - Zalety: $10 darmowego kredytu miesięcznie - Zalety: x402 po $0,001 za stronę - Wady: Najpierw cache; brak udokumentowanej opcji przeglądarki ### 7. Tavily Extract Wyodrębnianie z ekosystemu wyszukiwania Tavily, rozliczane za partię URL-i, z trybem zaawansowanym. - Najlepsze dla: Agenci zbudowani wokół wyszukiwania Tavily - Cena: $1,50 za 1 000 podstawowych URL-i na Project ($30); $1,00 na Growth ($500); tryb zaawansowany podwaja cenę - KYC: Brak podanych - Płatność kryptowalutą: Tylko według własnego uznania (warunki) - Zalety: 1 000 kredytów miesięcznie za darmo (5 000 podstawowych URL-i) - Wady: Kredyty odnawiają się co miesiąc - Wady: Zasady dotyczące robots.txt nie są podane ### 8. ScrapingBee Ogólne API do web scrapingu z opcją wyjścia w Markdown i niskimi cenami zwykłych stron przy dużej skali. - Najlepsze dla: Duże ilości zwykłych stron - Cena: $0,099 za 1 000 zwykłych stron przy 1 milionie miesięcznie ($99 Startup); strony w przeglądarce kosztują 5 kredytów - KYC: Karta do płatnych planów - Płatność kryptowalutą: Nie - Zalety: Niska cena zwykłych stron przy dużej skali - Zalety: Wyjście w Markdown i tekście - Wady: Brak przenoszenia kredytów - Wady: Zasady dotyczące robots.txt nie są podane ### 9. ZenRows API do web scrapingu z wyjściem w Markdown w cenie i sklepem dla agentów, który przyjmuje USDC. - Najlepsze dla: Małe obciążenia agentów płatne za użycie - Cena: $0.50 za 1 000 zwykłych stron przez jego sklep dla agentów; $0.199 przy 1 milionie w planach; strony przeglądarkowe kosztują 5 kredytów - KYC: Walidacja e-mail - Płatność kryptowalutą: Tylko agenci, USDC (x402) - Zalety: Markdown bez dodatkowych kosztów - Zalety: 5 000 darmowych kredytów miesięcznie - Wady: Konta nie mogą płacić kryptowalutą - Wady: Kredyty z planu wygasają przy odnowieniu ### 10. Cloudflare Browser Run Usługa przeglądarki Cloudflare z endpointami /markdown i /crawl, rozliczana za czas pracy przeglądarki. - Najlepsze dla: Zespoły, które już korzystają z Cloudflare Workers - Cena: $0.09 za godzinę pracy przeglądarki po 10 wliczonych godzinach, minimum $5 miesięcznie - KYC: Konto Cloudflare - Płatność kryptowalutą: USDC przez Stripe do rozliczeń Cloudflare (jedna strona rozliczeniowa to pomija) - Zalety: /crawl respects robots.txt and always identifies itself as a bot - Zalety: Płać za czas pracy przeglądarki, nie za stronę - Wady: Koszt za stronę zależy od tego, ile czasu zajmuje każda strona *Ujawnienie: tę stronę publikuje WebReaderAPI. Informacje o konkurencji pochodzą z ich publicznych stron internetowych w dacie podanej powyżej i mogły się od tego czasu zmienić.* ## Jak wybrać API do czytania stron internetowych? Zacznij od swoich stron, potem od wolumenu. 1. **Czy Twoje strony wymagają przeglądarki?** Wiadomości, blogi i dokumentacja zwykle nie; aplikacje webowe i niektóre sklepy tak. Oparte na kredytach API do web scrapingu liczą 5 do 10 razy więcej za strony przeglądarkowe, podczas gdy Firecrawl i Olostep wyceniają każdą stronę tak samo. 2. **Ile stron miesięcznie i jak równomiernie?** Plany miesięczne z dużymi limitami pasują do stałego wolumenu; przedpłacone kredyty, które nie wygasają, pasują do agentów i jednorazowego crawlingu. 3. **Czy potrzebujesz ekstrakcji wykraczającej poza Markdown?** Ustrukturyzowany JSON, akcje na stronie i zrzuty ekranu to obszary, w których Firecrawl i duże API do scrapingu przodują. 4. **Jak chcesz traktować właścicieli stron?** Firecrawl, /crawl Cloudflare i WebReaderAPI domyślnie respektują robots.txt; kilka API pozostawia to Tobie lub tego nie podaje. 5. **Jak chcesz płacić?** Większość przyjmuje tylko karty. Scrape.do, Decodo i Scrapeless podają kryptowaluty na kontach; Exa, Olostep i inne przyjmują USDC za zapytanie; WebReaderAPI przyjmuje BTC, USDT, USDC, ETH, SOL, LTC bez KYC. ## Czy zamiast płacić za API, lepiej hostować samodzielnie? Samodzielny hosting jest darmowy pod względem licencji i kosztowny pod względem czasu. Crawl4AI (Apache-2.0), Microsoft MarkItDown (MIT), Trafilatura (Apache-2.0) i Mozilla Readability (Apache-2.0) pokrywają konwersję; nadal utrzymujesz serwery, przeglądarki headless, ponowienia i obsługę robots.txt. Rdzeń Firecrawl także można hostować samodzielnie na licencji AGPL-3.0. Przy kilku tysiącach stron miesięcznie hostowane API zwykle kosztuje mniej niż czas poświęcony na utrzymanie crawlera. Nasza strona [Crawl4AI czy hostowane API](https://webreaderapi.com/pl/compare/crawl4ai-vs-api/) przedstawia ten kompromis. ## Ile kosztuje WebReaderAPI? Przedpłacone kredyty, jeden za zwykłą stronę i dwa za stronę przeglądarkową; kredyty nigdy nie wygasają. Ceny ustalone 22 października 2026. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 USD/1K stron | | Bulk | 5 000 000 stron | 350 USD | 0,07 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Najlepsze API do czytania stron internetowych: najczęstsze pytania ### Co jest lepsze, Firecrawl czy Jina Reader? Firecrawl pasuje do zespołów, które potrzebują crawlingu, ustrukturyzowanej ekstrakcji i przewidywalnej ceny za stronę; Jina Reader pasuje do szybkiego czytania bez konfiguracji, rozliczanego za tokeny. Nasza strona [Firecrawl vs Jina Reader](https://webreaderapi.com/pl/compare/firecrawl-vs-jina-reader/) porównuje je linijka po linijce. ### Które API do czytania stron internetowych respektuje robots.txt? Firecrawl respektuje je domyślnie, z obejściem tylko w wersji Enterprise; /crawl Cloudflare respektuje je bez udokumentowanej możliwości wyłączenia; WebReaderAPI respektuje je przy każdym zapytaniu. Jina czyni to nagłówkiem wymagającym włączenia, a wiele API do scrapingu nie podaje żadnej polityki. ### Czy istnieje darmowe API do konwersji URL do Markdown? Kilka ma darmowe limity: Firecrawl 1 000 kredytów miesięcznie, Tavily 1 000 kredytów miesięcznie, Exa $10 miesięcznie, ZenRows 5 000 kredytów miesięcznie, a Jina 10 milionów tokenów do użytku niekomercyjnego. WebReaderAPI nie ma darmowego planu. ### Czy ten ranking jest niezależny? Nie. Publikuje go WebReaderAPI, który jest sklasyfikowany na pierwszym miejscu. Każda opcja jest opisana na podstawie jej własnych publicznych stron, czytanych 22 października 2026, według tych samych kryteriów, a każdy wpis wymienia, co robi lepiej. ## Źródła 1. [Cennik Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Cennik Jina API](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Crawl4AI](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 4. [Repozytorium Crawl4AI](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 5. [Cennik Olostep](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 6. [Cennik Exa](https://exa.ai/pricing) — Exa (read 2026-10-22) 7. [Kredyty Tavily API](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 8. [Cennik ScrapingBee](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 9. [Cennik ZenRows](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Cennik Browser Run](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Bot WebReaderAPI: user agent, robots.txt i jak go zablokować > Bot WebReaderAPI: jego dokładny user agent, token robots.txt, jak go zablokować lub spowolnić oraz czego nigdy nie robi. Dla właścicieli stron i narzędzi AI. - URL: https://webreaderapi.com/pl/bot/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Jeśli zobaczyłeś naszą nazwę w logach serwera, ta strona wyjaśnia, kim jesteśmy, dlaczego pobraliśmy Twoją stronę i jak nam powiedzieć, żeby tego nie robić. Każda zasada tutaj to zobowiązanie, wokół którego zbudowana jest usługa. **Szybka odpowiedź — Czym jest bot WebReaderAPI i jak go zablokować?** Bot **WebReaderAPI** pobiera publiczne strony, gdy jeden z naszych klientów poprosi API o ich odczytanie. Wysyła user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` i przestrzega reguł robots.txt zapisanych dla tokenu `WebReaderAPI` lub dla wszystkich robotów. Aby zablokować go wszędzie, dopisz do swojego robots.txt `User-agent: WebReaderAPI`, a po nim `Disallow: /`. ## Bot w skrócie | Atrybut | Wartość | | --- | --- | | Nagłówek User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Token robots.txt | `WebReaderAPI` | | robots.txt | Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą | | Sygnały preferencji AI | Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie | | Gdy strona mówi nie | 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 | | Kopie Twoich stron | Żadne nie są przechowywane po wysłaniu odpowiedzi do klienta | | Zadania crawlowania | Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay | | Kontakt | abuse@webreaderapi.com | ## Dlaczego WebReaderAPI pobrało moją stronę? Ponieważ klient API o to poprosił. WebReaderAPI nie buduje własnego indeksu sieci i nie przegląda jej z własnej inicjatywy. Każde pobranie należy do jednego z trzech typów zapytań: - **Pojedynczy odczyt:** aplikacja lub agent AI wysłał Twój URL do `/read`, zwykle dlatego, że człowiek zadał pytanie, na które odpowiada Twoja strona. - **Zadanie wsadowe:** klient przesłał listę do 100 URL-i, a Twój był na niej. - **Zadanie crawlowania:** klient poprosił nas o odczytanie całej witryny, począwszy od jednego adresu i pozostając w obrębie tej domeny. Crawling podąża za Twoim sitemap i Twoim robots.txt. Klient otrzymuje główny tekst strony jako Markdown. Nie przechowujemy jej kopii. ## Jak zablokować bota na całej mojej witrynie? Dodaj grupę dla naszego tokenu do pliku robots.txt. Bot odczytuje `/robots.txt` przed pobraniem strony i cache'uje go przez maksymalnie 24 godziny, więc zmiana zaczyna obowiązywać najpóźniej w ciągu dnia. *robots.txt: odmowa dostępu do wszystkich stron dla WebReaderAPI* ```text User-agent: WebReaderAPI Disallow: / ``` ## Czy mogę zablokować tylko część witryny albo spowolnić bota? Tak. Wymień foldery, które chcesz wykluczyć, pod `Disallow` i ustaw `Crawl-delay` w sekundach dla zadań crawlowania. Reguły zapisane dla wszystkich robotów (`User-agent: *`) również nas dotyczą, gdy nie masz grupy dla naszego tokenu. Gdy ją masz, wygrywa ta grupa, zgodnie z opisem w RFC 9309. *robots.txt: wyklucz dwa foldery i rozłóż w czasie zapytania crawlowania* ```text User-agent: WebReaderAPI Disallow: /account/ Disallow: /drafts/ Crawl-delay: 5 ``` ## Czy bot respektuje sygnały preferencji AI? Tak, te, które witryna deklaruje w robots.txt. Jeśli Twój plik zawiera `Content-Signal: ai-input=no`, traktujemy to jako odmowę wykorzystania Twoich stron jako danych wejściowych do odpowiedzi AI i nie czytamy ich dla naszych klientów. API zwraca wtedy klientowi błąd `blocked_by_site_policy`, który nie zostaje obciążony opłatą. *robots.txt: zezwól wyszukiwarkom, odmów dostępu jako danych wejściowych AI* ```text User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## Co robi bot, gdy moja witryna go odrzuca? Zatrzymuje się i zgłasza Twoją odpowiedź. Status 403 lub 429, strona challenge, formularz logowania lub paywall kończą zapytanie. Klient otrzymuje błąd `target_refused` z Twoim kodem statusu i nie jest za niego obciążany. Bot nigdy nie rozwiązuje challenge'y, nigdy się nie loguje, nigdy nie zmienia user agenta, by wyglądać jak przeglądarka, i nigdy nie ponawia w ukryciu. Jeśli chcesz, abyśmy czytali Twoje strony, zezwól na token w robots.txt i przepuszczaj zapytania; jeśli nie, po Twojej stronie nic więcej nie jest potrzebne. ## Czego WebReaderAPI jeszcze nie obiecuje? Nie publikujemy dziś listy adresów IP, więc identyfikuj bota po jego user agencie i zachowaniu wobec robots.txt, a nie po IP. Strony czytane z opcją `country` wychodzą z adresu w wybranym kraju, nadal z tym samym user agentem. Dodamy nasze zakresy adresów do tej strony, gdy zostaną ustalone, wraz z datą zmiany. ## Jak zgłosić problem z botem? Napisz na abuse@webreaderapi.com, podając datę i godzinę, swoją domenę, pobrany URL i wiersz swojego access logu pokazujący nasz user agent. Każde zgłoszenie czyta człowiek i weryfikuje je z naszymi logami. Jeśli klient używa API wbrew naszej [Polityce dopuszczalnego użytkowania](https://webreaderapi.com/pl/acceptable-use/), jego konto zostaje zawieszone. Aby sprawdzić, czy zapytanie naprawdę pochodzi od nas, porównaj user agent i zachowanie wobec robots.txt z tą stroną. Klient, który ignoruje reguły Twojego robots.txt, używając naszej nazwy, nie jest naszym botem. ## Pytania właścicieli stron ### Czy bot WebReaderAPI to crawler wyszukiwarki? Nie. Nie indeksuje sieci ani nie rankinguje stron. Czyta stronę tylko wtedy, gdy klient API o tę stronę poprosi, w pojedynczym zapytaniu, wsadzie lub crawlowaniu jednej witryny. ### Czy zablokowanie bota wpłynie na moje pozycje w Google lub Bing? Nie. Reguły zapisane dla `WebReaderAPI` dotyczą tylko naszego bota. Crawlery wyszukiwarek kierują się własnymi grupami w Twoim robots.txt. ### Jak szybko zmiana w robots.txt zaczyna obowiązywać? Najpóźniej w ciągu 24 godzin. Bot cache'uje robots.txt przez maksymalnie dobę, zanim odczyta go ponownie. ### Czy bot respektuje Crawl-delay? Tak, w przypadku zadań crawlowania, które czytają wiele stron jednej witryny. Pojedyncze odczytanie to jedno zapytanie i nie jest rozłożone w czasie. ### Czy przechowujecie lub sprzedajecie treść moich stron? Nie. Tekst strony trafia do klienta, który o niego poprosił, i nie jest u nas przechowywany. Nasze logi zawierają nazwę hosta, czas, status i wykorzystane kredyty przez 30 dni. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Historia zmian > Dziennik zmian WebReaderAPI: datowane zmiany w API czytnika stron, cenach, zasadach dla crawlera i politykach. Pierwszy wpis: publikacja strony i dokumentacji. - URL: https://webreaderapi.com/pl/changelog/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Zmiany w API, cenach, zachowaniu crawlera i politykach są wymienione tutaj, od najnowszej. Zmiana obietnicy złożonej w innym miejscu na stronie również się tu pojawia. **Szybka odpowiedź — Co zmieniło się w WebReaderAPI?** 22 października 2026 **WebReaderAPI** opublikowało swoją stronę, dokumentację, ceny i zasady. Samo API nie jest jeszcze otwarte; jego start będzie kolejnym wpisem na tej stronie. Ceny zaczynają się od 3,75 USD za 10 000 stron i spadają do 0,07 USD/1K stron w największym pakiecie. ## 22 października 2026: publikacja strony i dokumentacji - **Strona, ceny i zasady** ruszyły: [cennik](https://webreaderapi.com/pl/pricing/), [regulamin](https://webreaderapi.com/pl/terms/), [prywatność](https://webreaderapi.com/pl/privacy/), [dozwolone użycie](https://webreaderapi.com/pl/acceptable-use/) i [zwroty](https://webreaderapi.com/pl/refunds/). - **Dokumentacja** dla endpointów `/read`, `/batch`, `/crawl` i `/credits`, z kodem dla Python, Node.js i curl. - **Zasady dla crawlera** opublikowane na [stronie bota](https://webreaderapi.com/pl/bot/): user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, token robots.txt `WebReaderAPI`, poszanowanie `ai-input=no`. - **Status API:** start w toku. Dopóki nie pojawi się tu wpis o starcie, nie można kupić klucza API. ## Co liczy się jako zmiana warta datowanego wpisu? Wszystko, na czym mógłby się oprzeć klient lub właściciel strony: - nowy endpoint, parametr lub pole odpowiedzi; - pole zmienione nazwą lub usunięte (co zdarza się tylko w nowej wersji API, takiej jak `/api/v2/`); - cena, zasada naliczania kredytów lub zasada zwrotów; - zmiana w sposobie identyfikowania się crawlera lub traktowania robots.txt; - incydent, który wpłynął na zapytania, wraz z oknem czasowym. ## Jak obsługiwane są zmiany cen? Nowa cena obowiązuje dla pakietów kupionych po jej opublikowaniu tutaj. Kredyty, które już posiadasz, zachowują wartość: są liczone w stronach, a nie w dolarach, i Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. ## Jak stabilna jest wersja 1 API? W obrębie wersji 1 możemy dodawać pola i parametry, nigdy ich nie zmieniamy nazwą ani nie usuwamy. Kod, który odczytuje pola udokumentowane w [formacie odpowiedzi](https://webreaderapi.com/pl/docs/response/), działa dalej. Zmiana łamiąca zgodność trafiłaby do nowej wersji, ogłoszonej tutaj przed uruchomieniem. ## Jak śledzić zmiany? Sprawdzaj tę stronę lub czytaj jej wersję Markdown, którą [llms.txt](https://webreaderapi.com/llms.txt) wymienia wraz z innymi stronami serwisu. Każdy wpis zachowuje datę, więc widzisz, co zmieniło się od Twojej ostatniej wizyty. Pytania kieruj na support@webreaderapi.com. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Crawl4AI czy hostowane API? Kiedy uruchomić własny czytnik stron > Crawl4AI czy hostowane API do konwersji stron internetowych do Markdown? Licencje, ustawienia robots.txt i ceny hostowane sprawdzone 2026-10-22. - URL: https://webreaderapi.com/pl/compare/crawl4ai-vs-api/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Narzędzia open source potrafią zamieniać strony internetowe na Markdown za darmo, na Twoich własnych serwerach. Hostowane API pobierają opłatę za stronę i uruchamiają serwery za Ciebie. Ta strona przedstawia, ile naprawdę kosztuje każdy wybór — od licencji i domyślnych ustawień robots.txt po przeglądarki i utrzymanie. **Szybka odpowiedź — Czy powinienem hostować Crawl4AI samodzielnie, czy użyć hostowanego API czytnika stron?** Hostuj Crawl4AI samodzielnie (Apache-2.0, z wymogiem podania autorstwa), gdy masz stały wolumen i ludzi do obsługi przeglądarek i serwerów; pamiętaj, że jego sprawdzanie robots.txt jest domyślnie wyłączone. Użyj hostowanego API, gdy wolumen jest nierówny lub nie chcesz pracy operacyjnej: Crawl4AI Cloud zaczyna się od $10 za 10 000 kredytów, a **WebReaderAPI** od 3,75 USD za 10 000 stron, z płatnością kryptowalutą bez KYC (22 października 2026). ## Które narzędzia open source zamieniają strony internetowe na Markdown? Główne opcje w październiku 2026, z licencją i domyślnymi ustawieniami podanymi w ich własnych repozytoriach i dokumentacji. | Narzędzie | Licencja | Renderuje JavaScript | robots.txt domyślnie | serwer MCP | | --- | --- | --- | --- | --- | | Crawl4AI | Apache-2.0, plus wymóg podania autorstwa w README | Tak (Playwright) | Wyłączone: `check_robots_txt` domyślnie ustawia False | Tak, na Twoim własnym serwerze | | Firecrawl (samodzielnie hostowany) | Rdzeń AGPL-3.0; SDK i część elementów interfejsu na licencji MIT | Tak (usługa Playwright) | Włączone | Tak (firecrawl-mcp-server, MIT) | | Microsoft MarkItDown | MIT | Nie | Nieudokumentowane | Tak (markitdown-mcp) | | Trafilatura | Apache-2.0 (GPLv3+ przed wersją 1.8.0) | Nie | Jego spider przestrzega standardu Robots Exclusion Standard | Brak informacji | | Mozilla Readability | Apache-2.0 | Nie; wymaga DOM i nie pobiera strony | Nie dotyczy | Nie znaleziono | | Jina Reader (gałąź open source) | Apache-2.0 | Tak (Puppeteer) | Brak informacji | Brak w repozytorium | *Ceny sprawdzone dnia 22 października 2026.* Na podstawie repozytoriów GitHub i dokumentacji wymienionych poniżej, sprawdzonych 2026-10-22. ## Ile naprawdę kosztuje self-hosting czytnika stron internetowych? Oprogramowanie jest darmowe; jego uruchomienie już nie. Zanim porównasz cenę hostowaną z zerem, policz to: - **Serwery i przeglądarki.** Strony statyczne potrzebują niewiele CPU, ale strony JavaScript wymagają przeglądarki headless na każde zapytanie, z odpowiednią ilością pamięci. Szczyty wymagają zapasu mocy, który przez resztę czasu stoi bezczynnie. - **Utrzymanie.** Wersje przeglądarek, reguły wyodrębniania i zależności się zmieniają. Crawl4AI wydało v0.9.5 14 października 2026; MarkItDown 0.1.9 21 października 2026. Ktoś musi testować i wdrażać każdą aktualizację. - **Sieć.** Ruch wychodzący, DNS, limity czasu i ponowienia są po Twojej stronie. Witryny mogą odmówić ruchu z adresów Twoich serwerów, a właściwą odpowiedzią jest wtedy uszanowanie odmowy. - **Polityka.** Crawl4AI pozostawia `check_robots_txt` wyłączone, chyba że je włączysz, i pozwala ustawić lub losować User-Agent. Ustalanie i egzekwowanie własnych zasad robots.txt oraz identyfikacji to część zadania. - **Bezpieczeństwo.** README MarkItDown ostrzega, że wykonuje operacje I/O z uprawnieniami bieżącego procesu i że dane wejściowe należy oczyszczać w niezaufanych środowiskach. Usługa pobierająca dowolne adresy URL musi też odrzucać adresy prywatne i lokalne. ## Ile w porównaniu pobierają hostowani dostawcy czytników? Hostowane API zamieniają te koszty w cenę za stronę. Dwa przykłady z 22 października 2026: | | Crawl4AI Cloud | WebReaderAPI (nasze) | |---|---|---| | Wejście | Starter $10 miesięcznie, 10 000 kredytów | 3,75 USD za 10 000 stron | | Strona statyczna | 0,5 kredytu | 1 kredyt | | Strona z przeglądarką | 1 kredyt ("prawdziwa przeglądarka") | 2 kredyty | | Większe plany | Builder $99 za 125 000 kredytów; Scale $499 za 750 000 | 74,25 USD za 1 000 000 stron; 350 USD za 5 000 000 stron | | Niewykorzystane kredyty | Miesięczne kredyty nie przechodzą na kolejny miesiąc; dodatkowe kredyty nigdy nie wygasają | Nigdy nie wygasają | | Płatność | Karta przez Stripe | BTC, USDT, USDC, ETH, SOL, LTC | | robots.txt | Klienci muszą przestrzegać dyrektyw robots witryn (regulamin) | Sprawdzane przez usługę przy każdym odczycie | Crawl4AI Cloud jest prowadzone przez opiekunów Crawl4AI i oznacza swoje ceny jako "soft launch", które mogą się zmienić. Jego kredyt jest wart $0.001, więc strona statyczna kosztuje $0.50 za 1000 w planie Starter. ## Kiedy warto stawiać na self-hosting? Self-hosting się opłaca, gdy spełnione są trzy warunki: Twój wolumen jest wysoki i stały, już prowadzisz serwery i przeglądarki, oraz potrzebujesz kontroli, której API nie da. - **Własne wyodrębnianie.** Schematy CSS, XPath i LLM Crawl4AI lub własne reguły na bazie Readability albo Trafilatura. - **Rezydencja danych.** Strony nigdy nie opuszczają Twojej infrastruktury. - **Dane wejściowe spoza stron internetowych.** MarkItDown konwertuje Word, Excel, PowerPoint, EPub i inne, czego API czytnika stron internetowych nie robi. - **Dopasowanie licencji.** Narzędzia Apache-2.0 i MIT pozwalają na zamknięte produkty; rdzeń Firecrawl na AGPL-3.0 nakazuje udostępniać zmiany, jeśli oferujesz go jako usługę sieciową. ## Kiedy hostowane API jest lepszym wyborem? Kupuj strony zamiast utrzymywać serwery, gdy Twoje obciążenie jest nierówne, Twój zespół jest mały, albo czytnik jest narzędziem wewnątrz agenta, a nie osobnym produktem. - **Skomplikowany lub sezonowy wolumen.** Crawl dwa razy w roku nie uzasadnia floty przeglądarek. Z WebReaderAPI, Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. - **Agenci.** Hostowany endpoint podłączasz do MCP, LangChain lub narzędzi OpenAI w kilka minut; zobacz [nasz serwer MCP](https://webreaderapi.com/pl/docs/mcp/). - **Polityka, której nie musisz budować.** Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. - **Płatność bez karty.** WebReaderAPI przyjmuje BTC, USDT, USDC, ETH, SOL, LTC bez KYC. ## Czy mogę łączyć jedno i drugie? Tak, i wiele zespołów to robi. Uruchom konwerter open source dla plików, które już masz, takich jak PDF i dokumenty Office z MarkItDown, i wywołuj hostowany czytnik dla bieżących stron internetowych, zwłaszcza stron JavaScript, które w przeciwnym razie wymagałyby własnych przeglądarek. Zachowaj ten sam format wyjściowy po obu stronach, Markdown z adresem URL źródła i tytułem, żeby Twój kod dzielenia na fragmenty i indeksowania nie musiał wiedzieć, skąd pochodzi dokument. Nasz [przewodnik po RAG](https://webreaderapi.com/pl/use-cases/rag/) pokazuje ten format w praktyce. ## Ile kosztuje hostowany czytnik z WebReaderAPI? Kredyty za stronę opłacane kryptowalutą, według stanu na 22 października 2026: 1 kredyt za stronę statyczną, 2 z przeglądarką, nic za strony nieudane lub odrzucone. Kredyty nigdy nie wygasają. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 USD/1K stron | | Bulk | 5 000 000 stron | 350 USD | 0,07 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Self-hosting czytnika stron internetowych: najczęstsze pytania ### Czy Crawl4AI jest darmowe do użytku komercyjnego? Jego README mówi, że jest na licencji Apache-2.0, która pozwala na użytek komercyjny, i dodaje, że użytkownicy muszą podać atrybucję, w formie plakietki lub linijki tekstu. Przeczytaj licencję i README sam, zanim coś wdrożysz. ### Czy Crawl4AI przestrzega robots.txt? Tylko jeśli o to poprosisz. Jego parametr `check_robots_txt` domyślnie ma wartość False; ustaw go na True, aby sprawdzać i cache'ować reguły robots.txt przed crawlingiem. Możesz też ustawić lub losować User-Agent, więc Twoja własna polityka decyduje o jego zachowaniu. ### Czy mogę hostować Firecrawl zamiast Crawl4AI? Tak. Rdzeń Firecrawl jest open source na licencji AGPL-3.0 i domyślnie przestrzega robots.txt. AGPL wymaga publikowania zmian, gdy oferujesz oprogramowanie jako usługę sieciową, co ma znaczenie dla produktów komercyjnych. ### Które narzędzie konwertuje PDF-y i pliki Office? Microsoft MarkItDown, na licencji MIT, konwertuje PDF, Word, PowerPoint, Excel, HTML, EPub i inne formaty do Markdown. Nie renderuje stron z JavaScript. WebReaderAPI odczytuje PDF-y z URL, do 100 stron. ### Ile kosztuje Crawl4AI Cloud? Na 22 października 2026: Starter 10 USD miesięcznie za 10 000 kredytów, Builder 99 USD za 125 000 i Scale 499 USD za 750 000, przy czym statyczna strona to 0,5 kredytu, a strona w przeglądarce 1. Witryna oznacza te ceny jako soft launch, który może się zmienić. ## Źródła 1. [repozytorium unclecode/crawl4ai](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 2. [Parametry Crawl4AI](https://docs.crawl4ai.com/api/parameters/) — Crawl4AI docs (read 2026-10-22) 3. [Self-hosting Crawl4AI](https://docs.crawl4ai.com/core/self-hosting/) — Crawl4AI docs (read 2026-10-22) 4. [crawl4ai na PyPI](https://pypi.org/project/crawl4ai/) — PyPI (read 2026-10-22) 5. [Crawl4AI Cloud](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 6. [repozytorium microsoft/markitdown](https://github.com/microsoft/markitdown) — GitHub (read 2026-10-22) 7. [markitdown na PyPI](https://pypi.org/project/markitdown/) — PyPI (read 2026-10-22) 8. [repozytorium adbar/trafilatura](https://github.com/adbar/trafilatura) — GitHub (read 2026-10-22) 9. [repozytorium mozilla/readability](https://github.com/mozilla/readability) — GitHub (read 2026-10-22) 10. [repozytorium firecrawl/firecrawl](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 11. [repozytorium jina-ai/reader](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Firecrawl vs Jina Reader (2026): który web reader pasuje do Twojego projektu? > Firecrawl vs Jina Reader w 2026: kredyty za stronę vs rozliczanie tokenów, darmowe plany, crawling, wyodrębnianie JSON i płatność. Sprawdzone 2026-10-22. - URL: https://webreaderapi.com/pl/compare/firecrawl-vs-jina-reader/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Firecrawl i Jina Reader to dwie nazwy, które pojawiają się pierwsze, gdy deweloperzy pytają, jak zamienić strony internetowe w Markdown dla modelu. Różnią się rozliczaniem, crawlowaniem i podejściem do robots.txt. Ta strona porównuje je na tych samych faktach, a naszą własną usługę stawia w osobnej, oznaczonej kolumnie. **Szybka odpowiedź — Firecrawl czy Jina Reader: którego powinienem użyć?** Użyj Firecrawl do pełnych pipeline'ów: rozlicza 1 kredyt za stronę z renderingiem w cenie, crawluje i mapuje witryny oraz wyodrębnia JSON według schematu, w planach od 19 do 749 USD miesięcznie (22 października 2026). Użyj Jina Reader do szybkich odczytów: dodaj przed URL prefiks r.jina.ai, płać 50 USD za miliard tokenów wyjściowych albo nic przy 20 zapytaniach na minutę. **WebReaderAPI**, który publikuje tę stronę, sprzedaje kredyty za stronę w kryptowalucie bez KYC. ## Firecrawl vs Jina Reader, z WebReaderAPI dla porównania Każdy wiersz pochodzi ze stron samego dostawcy, odczytanych 22 października 2026. Trzecia kolumna to nasza usługa, publikowana przez konkurenta obu. | | Firecrawl | Jina Reader | WebReaderAPI (nasze) | | --- | --- | --- | --- | | Jednostka rozliczeniowa | Kredyty: 1 za stronę, rendering w cenie | Tokeny wyjściowe | Kredyty: 1 za stronę, 2 z przeglądarką | | Cena wejścia | Hobby: 19 USD miesięcznie za 5000 kredytów | 50 USD za 1 mld tokenów | 3,75 USD za 10 000 stron | | Większe wolumeny | Standard 99 USD za 100 tys.; Scale 749 USD za 1 mln miesięcznie | 500 USD za 11 mld tokenów | 74,25 USD za 1 000 000 stron | | Darmowe użycie | 1000 kredytów miesięcznie, bez karty; MCP bez klucza, z dziennym limitem na IP | Bez klucza przy 20 zapytaniach na minutę; 10 mln tokenów na nowy klucz, niekomercyjnie | Brak | | Niewykorzystane kredyty | Kredyty w planie odnawiają się co miesiąc | Ważność niepokazana w tekście, który mogliśmy odczytać | Nigdy nie wygasają | | Crawling i mapowanie | Crawl (domyślny limit 10 000 stron) i map | Brak podanego endpointu crawl | Crawl do 10 000 stron; bez map | | Ekstrakcja strukturalna | JSON ze schematem, +4 kredyty za stronę | Schemat JSON lub nagłówki instrukcji | Niedostępne | | robots.txt | Respektowany domyślnie; wyłączenie tylko w Enterprise | Nagłówek `X-Robots-Txt` opcjonalny | Zawsze respektowany | | Płatność | Karty, karty debetowe, PayPal (Stripe) | Karty, Google Pay, PayPal (Stripe) | BTC, USDT, USDC, ETH, SOL, LTC | | Open source | Rdzeń na licencji AGPL-3.0 | Gałąź Reader na licencji Apache-2.0 | Nie | | Firma | Firecrawl; 75 mln USD w rundzie Series B 22 września 2026 | Jina AI, część Elastic od października 2025 | SerpGoat LLC | *Ceny sprawdzone dnia 22 października 2026.* Źródła na dole strony. ## Który kosztuje mniej za stronę? To zależy od długości strony i wolumenu, bo oba rozliczają w różnych jednostkach. Firecrawl pobiera opłatę za stronę: 0,99 USD za 1 000 stron w planie Standard, 0,749 USD w planie Scale przy rozliczeniu miesięcznym, z renderowaniem w cenie. Jina rozlicza za token wyjściowy i nie publikuje średniej na stronę. Jako **szacunek, przy założeniu 5 000 tokenów na stronę**, Jina kosztuje około 0,25 USD za 1 000 stron w pakiecie za 50 USD i 0,225 USD w pakiecie za 500 USD. Przy tym założeniu Jina kosztuje mniej za stronę niż Firecrawl przy każdym wolumenie. Dla stron znacznie dłuższych niż 5 000 tokenów, takich jak długie strony dokumentacji, różnica maleje lub się odwraca; dla krótkich stron rośnie. Ekstrakcja JSON w Firecrawl dodaje 4 kredyty za stronę, co zmienia porównanie przy pracy ekstrakcyjnej. ## Który lepiej nadaje się do crawl ingu całej witryny? Firecrawl. Jego endpoint crawl domyślnie podąża za sitemapą, przyjmuje limit stron (domyślnie 10 000) i głębokość odkrywania, a zwraca 402, jeśli Twoje kredyty nie pokrywają limitu. Osobny endpoint map wylicza adresy URL witryny za jeden kredyt na wywołanie. Jina Reader to czytnik pojedynczego URL-a plus endpoint wyszukiwania; jej strony nie opisują funkcji crawlowania. Aby odczytać całą witrynę za pomocą Jina, sam zbierasz adresy URL, na przykład z sitemapy, i wywołujesz Reader raz na stronę. ## Jak traktują robots.txt i właścicieli witryn? Firecrawl domyślnie respektuje robots.txt i tylko klienci Enterprise mogą to wyłączyć; właściciele witryn zezwalają lub odmawiają za pomocą tokenu `FirecrawlAgent`. Jego dokumentacja ostrzega, że ten token może nie być nagłówkiem User-Agent samego pobrania. Jina sprawdza robots.txt, gdy żądanie zawiera nagłówek `X-Robots-Txt`, który wskazuje bota, względem którego ma sprawdzać. Pozwala też wywołującemu nadpisać User-Agent przeglądarki. Jej strony nie podają wartości domyślnej dla żadnego z tych mechanizmów. Oba podejścia pozostawiają dużą część wyboru klientowi; nasze nie, co wyjaśnia następna sekcja. ## Który lepiej pasuje do agentów AI? Oba dobrze obsługują agentów, na różne sposoby. Firecrawl oferuje hostowany serwer MCP, dostęp bez klucza z dziennym limitem na IP oraz długą listę integracji, m.in. z LangChain, LlamaIndex, CrewAI i n8n; OpenClaw dołącza Firecrawl jako swojego dostawcę web_fetch. Jina oferuje oficjalny zdalny serwer MCP, którego narzędzie `read_url` odczytuje do pięciu adresów URL na wywołanie, poświadczenie n8n oraz prefiks URL, którego może użyć każde narzędzie potrafiące wysłać żądanie GET. Dla agenta, który odczytuje kilka stron na zadanie, prefiks Jiny to najprostszy start; dla agenta, który crawluje, mapuje i ekstrahuje, Firecrawl pokrywa więcej. ## Gdzie WebReaderAPI plasuje się między nimi? WebReaderAPI jest bliżej Jiny zakresem, czyli czytnikiem, a bliżej Firecrawl rozliczaniem, za stronę, z endpointem crawl dla całych witryn. Wyróżnia go płatność i polityka, a nie lista funkcji: - **Kryptowaluta bez KYC.** Doładowanie od 25 USD w BTC, USDT, USDC, ETH, SOL, LTC. - **Kredyty, które nigdy nie wygasają**, sprzedawane w pakietach od 3,75 USD. - **Stała polityka wobec witryn.** Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. 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. Robi mniej niż Firecrawl: brak ekstrakcji JSON, akcji w przeglądarce, map i darmowego planu. Szczegóły każdej zmiany znajdziesz na stronach [alternatywa dla Firecrawl](https://webreaderapi.com/pl/alternatives/firecrawl/) i [alternatywa dla Jina Reader](https://webreaderapi.com/pl/alternatives/jina-reader/). ## Co wybrać do mojego przypadku użycia? - **Prototyp lub agent hobbystyczny:** Jina Reader bez klucza albo darmowy plan Firecrawl. - **RAG po stronach dokumentacji:** Firecrawl do crawlowania i map; WebReaderAPI, jeśli chcesz kredyty za stronę, które się nie zużywają, i płatność kryptowalutą. - **Ekstrakcja do ustalonych pól:** format JSON Firecrawl. - **Wiele krótkich stron newsowych lub blogowych:** rozliczanie Jiny za tokeny zwykle kosztuje mniej. - **Ścisłe poszanowanie wyborów właścicieli witryn, egzekwowane przez dostawcę:** WebReaderAPI. - **Brak karty i dokumentów tożsamości:** WebReaderAPI; ani Firecrawl, ani Jina nie wymieniają opcji płatności kryptowalutą na stronach, które czytaliśmy. ## Ile kosztuje trzecia opcja? Pakiety za stronę płatne kryptowalutą, stan na 22 października 2026. Strona wymagająca przeglądarki zużywa dwa kredyty; strony nieudane i strony odrzucone przez robots.txt są bezpłatne. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 USD/1K stron | | Bulk | 5 000 000 stron | 350 USD | 0,07 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Firecrawl vs Jina Reader: najczęstsze pytania ### Czy Jina Reader jest darmowa, a Firecrawl płatny? Oba mają darmowe użycie. Jina Reader działa bez klucza przy 20 żądaniach na minutę, a każdy nowy klucz otrzymuje 10 milionów tokenów do użytku niekomercyjnego. Firecrawl daje 1 000 kredytów miesięcznie bez karty, plus dostęp MCP bez klucza z dziennym limitem na adres IP. ### Który zwraca lepszy Markdown? Nie publikujemy żadnego benchmarku jakości, a strona cennika żadnego z dostawców nie twierdzi, że jest lepszy od drugiego. Zrób własną próbkę: przepuść 50 swoich rzeczywistych adresów URL przez każdą usługę, a potem porównaj nagłówki, tabele i pozostałe menu w wyniku. ### Czy któryś można hostować samodzielnie? Tak. Rdzeń Firecrawl jest open source na licencji AGPL-3.0. Jina publikuje open-source’ową gałąź swojego Readera na licencji Apache-2.0, bez hostowanej warstwy przechowywania. ### Czy Firecrawl lub Jina przyjmują kryptowaluty? Nie na stronach cennika i rozliczeń, które czytaliśmy 22 października 2026: oba wymieniają Stripe, z kartami i PayPal, a Jina także Google Pay. WebReaderAPI przyjmuje BTC, USDT, USDC, ETH, SOL, LTC. ### Czy to porównanie jest neutralne? Napisali je WebReaderAPI, konkurent obu, i mówi o tym na górze. Każdy fakt o Firecrawl i Jina pochodzi z ich własnych stron, wymienionych poniżej z datą odczytu. ## Źródła 1. [Cennik Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Rozliczanie](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Crawl](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 4. [Zaawansowany przewodnik po web scrapingu](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 5. [serwer MCP](https://docs.firecrawl.dev/mcp-server.md) — Firecrawl docs (read 2026-10-22) 6. [Przedstawiamy Alexandrię i naszą rundę Series B](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 7. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 8. [Panel API: cennik](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 9. [repozytorium jina-ai/MCP](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 10. [Elastic finalizuje przejęcie Jina AI](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-22) 11. [Narzędzia webowe](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Porównanie cen API do czytania stron: ile kosztuje 10 tys., 100 tys. i 1 mln stron > Porównanie cen API do czytania stron i konwersji URL do Markdown na 2026-10-22: rachunek za 10 tys., 100 tys. i 1 mln stron w 13 API, strony zwykłe i JS. - URL: https://webreaderapi.com/pl/compare/web-reader-api-pricing/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Ceny kredytów ukrywają rozmiary planów, mnożniki przeglądarki i wygasanie. Ta strona zamienia publiczne ceny katalogowe na miesięczny rachunek dla trzech wolumenów — dla zwykłych stron i dla stron wymagających przeglądarki — a potem wymienia koszty, które strony z cennikami pomijają. **Szybka odpowiedź — Jak wypadają ceny API do czytania stron w 2026 roku?** W dniu 2026-10-22 100 000 stron renderowanych przez przeglądarkę miesięcznie kosztowało 99 USD w ośmiu API, w tym Firecrawl, Olostep i Crawl4AI Cloud; zwykłe strony kosztowały od 29 USD (Scrape.do). Przy 1 mln stron zwykłe strony zaczynają się od około 99 USD, a strony przeglądarkowe od 399 USD (Olostep). **WebReaderAPI** pobiera 21,75 USD za 100 000 zwykłych stron i 43,50 USD, jeśli wszystkie wymagają przeglądarki, płatne kryptowalutą bez KYC. ## Ile kosztuje miesiąc stron w każdym API? Miesięczny rachunek za 10 000, 100 000 i 1 000 000 stron, przy użyciu najtańszego publikowanego planu, stawki za nadwyżkę lub pay-as-you-go. Gdzie dostawca inaczej wycenia strony przeglądarkowe, pokazano obie kwoty (zwykłe / przeglądarka). | API | 10 000 stron | 100 000 stron | 1 000 000 stron | | --- | --- | --- | --- | | WebReaderAPI, zwykłe strony | 3,75 USD | 21,75 USD | 74,25 USD | | WebReaderAPI, strony przeglądarkowe (2 kredyty) | $7.50 | $43.50 | $148.50 | | Firecrawl | $44.00 | $99.00 | $749.00 | | Crawl4AI Cloud, zwykłe / przeglądarka | $10.00 | $50.00 / $99.00 | $395.00 / $667.00 | | Olostep | $29.00 | $99.00 | $399.00 | | Tavily Extract, zwykłe / przeglądarka | $16.00 / $30.00 | $140.00 / $236.00 | $1,300 / $2,900 | | Exa contents | $10.00 | $100.00 | $1,000 | | Linkup fetch, zwykłe / przeglądarka | $10.00 / $50.00 | $100.00 / $500.00 | $1,000 / $5,000 | | ScrapingBee, zwykłe / przeglądarka | $19.00 | $49.00 / $99.00 | $99.00 / $599.00 | | Scrape.do, zwykłe / przeglądarka | $29.00 | $29.00 / $99.00 | $99.00 / $699.00 | | ZenRows, zwykłe / przeglądarka | $5.00 / $25.00 | $39.00 / $99.00 | $199.00 / $549.00 | | Scrapfly, zwykłe / przeglądarka | $30.00 | $30.00 / $100.00 | $100.00 / $560.00 | | Bright Data Web Unlocker | $15.00 | $150.00 | $1,300 | | Diffbot | $299.00 | $299.00 | $899.00 | *Ceny sprawdzone dnia 22 października 2026.* Ceny katalogowe w USD, odczytane 2026-10-22. „—” = nieopublikowane lub niedostępne samoobsługowo przy tym wolumenie. Exa i Parallel nie dokumentują opcji przeglądarki. Pełna metoda i 21 API: [indeks cen URL to Markdown API 2026](https://webreaderapi.com/pl/data/url-to-markdown-price-index-2026/). ## Które koszty pomijają strony z cennikami? 1. **Mnożniki przeglądarki.** Strona z JavaScript kosztuje 5 kredytów w ScrapingBee, ZenRows i Scrape.do, 6 w Scrapfly i 10 w ScraperAPI; Firecrawl i Olostep renderują każdą stronę w jednej cenie. 2. **Progi planów.** Plan za 99 USD kupiony na 20 000 stron nadal kosztuje 99 USD. 3. **Wygasanie.** Większość planów miesięcznych zeruje niewykorzystane kredyty; spokojny miesiąc to stracone pieniądze. 4. **Dodatki do wyodrębniania.** Strukturalne wyodrębnianie JSON kosztuje dodatkowo w kilku API: 4 dodatkowe kredyty za stronę w Firecrawl. 5. **Połączenia premium.** Proxy residential lub „premium” mnożą koszt kredytów w większości API do web scrapingu; WebReaderAPI dolicza 10 kredytów tylko wtedy, gdy wybierzesz kraj. 6. **Nieudane strony.** Sprawdź, czy błędy są rozliczane. WebReaderAPI nic nie pobiera za nieudane strony ani za strony odrzucone przez robots.txt. ## Gdzie plasuje się WebReaderAPI? Przy cenach z tej strony, ustalonych 2026-10-22, WebReaderAPI pobiera 0,38 USD/1K stron za zwykłą stronę przy 10 000 stron, 0,22 USD/1K stron przy 100 000 i 0,07 USD/1K stron przy 1 mln; strona przeglądarkowa zużywa dwa kredyty. Kredyty są przedpłacone, nigdy nie wygasają i są opłacane w BTC, USDT, USDC, ETH, SOL, LTC bez KYC. Nie twierdzimy, że jesteśmy najtańsi przy każdym wolumenie ani dla każdego typu strony. Nasz crawler respektuje robots.txt i nigdy nie próbuje obejść odmowy, więc niektóre strony, które inne narzędzia pobiorą, wrócą jako odrzucone — i bezpłatne. ## Ile kosztuje WebReaderAPI? Pakiety przedpłacone; jeden kredyt za zwykłą stronę, dwa z przeglądarką; kredyty nigdy nie wygasają. Ceny ustalone 2026-10-22. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 USD/1K stron | | Bulk | 5 000 000 stron | 350 USD | 0,07 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Ceny API do czytania stron: najczęstsze pytania ### Które API URL to Markdown jest najtańsze w 2026 roku? Dla zwykłych stron przy 1 mln miesięcznie ScrapingBee (0,099 USD za 1000) i Scrape.do (0,099 USD za 1000) miały najniższe ceny w dniu 2026-10-22. Dla stron przeglądarkowych przy tym wolumenie Olostep podawał 0,399 USD. Odpowiedź zmienia się z wolumenem, więc porównaj przy swoim. ### Czy Firecrawl jest drogi? Przy małych wolumenach tak: 19 USD za 5000 stron w planie Hobby to 3,80 USD za 1000. Przy 100 000 stron (99 USD) i 1 mln (749 USD) plasuje się blisko rynku dla stron renderowanych przez przeglądarkę, ponieważ każda strona Firecrawl jest renderowana. ### Czy płacę za nieudane strony? To zależy od dostawcy; przeczytaj jego stronę rozliczeń. Crawlbase podaje, że nieudane żądania i ponowne próby są bezpłatne. WebReaderAPI nie pobiera opłat za nieudane strony ani za strony odrzucone przez robots.txt. ### Czy mogę zapłacić za API do czytania stron kryptowalutą? Tak, u kilku dostawców. Scrape.do, Decodo Web Data API i Scrapeless podają płatność kryptowalutą na koncie, a Exa contents, Parallel Extract, Linkup fetch, Olostep i inni przyjmują USDC za żądanie przez x402. WebReaderAPI przyjmuje BTC, USDT, USDC, ETH, SOL, LTC bez KYC. ## Źródła 1. [Firecrawl: cennik](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Crawl4AI Cloud: cennik](https://crawl4ai.com/) — Crawl4AI Cloud (read 2026-10-22) 3. [Olostep: cennik](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 4. [Tavily Extract: cennik](https://docs.tavily.com/documentation/api-credits) — Tavily Extract (read 2026-10-22) 5. [Exa contents: cennik](https://exa.ai/pricing) — Exa contents (read 2026-10-22) 6. [Linkup fetch: cennik](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup fetch (read 2026-10-22) 7. [ScrapingBee: ceny](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 8. [Scrape.do: ceny](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 9. [ZenRows: ceny](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Scrapfly: ceny](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 11. [Bright Data Web Unlocker: ceny](https://www.bright.cn/pricing/web-unlocker) — Bright Data Web Unlocker (read 2026-10-22) 12. [Diffbot: ceny](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Kontakt z WebReaderAPI > Kontakt z WebReaderAPI: e-mail wsparcia dla pytań o API i płatności oraz e-mail dla właścicieli stron do zgłaszania nadużyć. - URL: https://webreaderapi.com/pl/contact/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Dwa adresy: jeden dla klientów, drugi dla właścicieli stron i zgłoszeń nadużyć. Oba czyta człowiek. **Szybka odpowiedź — Jak skontaktować się z WebReaderAPI?** Napisz na support@webreaderapi.com w sprawie pomocy z API, swoim kontem lub płatnością; Pomoc e-mail odpowiada w ciągu 12 godzin, każdego dnia tygodnia, w tym pomaga przy crawlingu i integracjach. Właściciele stron i osoby zgłaszające nadużycia crawlera **WebReaderAPI** mogą pisać na abuse@webreaderapi.com. Nasz zespół nigdy nie poprosi Cię o numer konta ani klucz API przez e-mail lub czat. ## Co sprawia, że zgłoszenie do wsparcia jest szybko odpowiadane? Krótka wiadomość z faktami daje najszybszą odpowiedź: - ID zamówienia z historii zamówień, w przypadku pytań o płatności; - czas zapytania, endpoint i kod błędu, w przypadku problemów z API; - URL, który próbowałeś odczytać, jeśli strona nie wróciła zgodnie z oczekiwaniami. Nigdy nie wysyłaj swojego klucza API ani numeru konta e-mailem. ## Prowadzę stronę internetową. Jak się z Wami skontaktować? Napisz na abuse@webreaderapi.com, podając swoją domenę, datę i godzinę oraz jedną linię z logu serwera pokazującą User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Aby zatrzymać nasz crawler bez pisania do nas, dodaj regułę dla `WebReaderAPI` do swojego robots.txt; [strona bota](https://webreaderapi.com/pl/bot/) zawiera gotowe przykłady. Każde zgłoszenie nadużycia czyta człowiek, a konta przyłapane na niewłaściwym korzystaniu z usługi są zawieszane. ## W czym może pomóc wsparcie? Wszystko związane z korzystaniem z API lub Twoim kontem: - strona, która wraca pusta, ucięta lub z niewłaściwą sekcją zachowaną jako główna treść; - kod błędu, którego nie rozumiesz, lub zadanie crawlingu, które zatrzymuje się przedwcześnie; - doładowanie, które nie pojawiło się na Twoim saldzie po potwierdzeniach; - prośba o zwrot zgodnie z [polityką zwrotów](https://webreaderapi.com/pl/refunds/); - wyższy limit współbieżności do użytku produkcyjnego. Wsparcie nie może zmusić strony, by zaakceptowała nasz crawler. Gdy strona nas odmawia, jedyną drogą jest zgoda właściciela strony. ## Jak zgłosić problem z płatnością? Podaj monetę, sieć, wysłaną kwotę i ID transakcji wraz z ID zamówienia z panelu klienta. To wystarczy, aby znaleźć dowolny przelew na blockchainie. Nie dołączaj kluczy prywatnych, seed phrases, numeru konta ani klucza API: nigdy ich nie potrzebujemy, a każdy, kto o nie prosi, to nie my. ## Czy jest czat lub infolinia? Nie. E-mail zachowuje pisemny zapis dla obu stron i pozwala nam odpowiadać precyzyjnie, z logami pod ręką. Stan API sprawdzisz na [stronie statusu](https://webreaderapi.com/pl/status/); najczęstsze pytania znajdziesz w [FAQ](https://webreaderapi.com/pl/faq/). --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Crawl API: zamień całą stronę internetową w pliki Markdown > Crawl API, zamienia stronę w Markdown dla RAG: do 10 000 stron, z sitemap i robots.txt, od 0,07 USD/1K stron. Kryptowaluty. - URL: https://webreaderapi.com/pl/crawl-api/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Podaj URL startowy i limit stron. Crawler podąża za sitemap strony i linkami w obrębie tej samej domeny, odczytuje każdą stronę jako Markdown i zwraca wyniki strona po stronie. Jeden kredyt za stronę. **Szybka odpowiedź — Jak mogę scrawlować całą stronę internetową i otrzymać każdą stronę jako Markdown?** Użyj Crawl API: wysyłasz URL startowy i limit, a ono zwraca każdą stronę witryny jako Markdown. **WebReaderAPI** scrawluje do 10 000 stron na zadanie w obrębie jednej domeny, przestrzega sitemap, robots.txt i Crawl-delay, a pobiera jeden kredyt za odczytaną stronę, od 0,07 USD/1K stron według stanu na październik 2026. Strony odrzucone przez robots.txt są bezpłatne. Bez KYC; płatność kryptowalutą. ## Crawl API w skrócie | Atrybut | Wartość | | --- | --- | | Rozpocznij crawling | `POST https://webreaderapi.com/api/v1/crawl` z `url`, `limit`, `max_depth`, `include_paths`, `exclude_paths` | | Pobierz wyniki | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, paginowane kursorem | | Zakres | Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay | | Wiele osobnych URL-i | `POST https://webreaderapi.com/api/v1/batch`: Do 100 URL-i na jedno zadanie wsadowe | | 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ą | | Właściciele stron | Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą | | Cena | 14,25 USD za 50 000 stron, 50 USD za 500 000 stron | ## Jak działa zadanie crawlowania? Crawling to zadanie działające w tle, ponieważ odczyt setek stron trwa dłużej, niż powinno jedno zapytanie HTTP. 1. **Start:** `POST https://webreaderapi.com/api/v1/crawl` z adresem startowym i Twoimi limitami. Od razu otrzymujesz `job_id`. 2. **Odkrywanie:** crawler odczytuje robots.txt i sitemap witryny, a następnie podąża za linkami w obrębie tej samej domeny, wszerz, aż do `max_depth`. 3. **Odczyt:** każda dozwolona strona jest odczytywana z tymi samymi opcjami co w `/read`: Markdown, główna treść, renderowanie, gdy jest potrzebne. 4. **Zbieranie:** odpytuj `GET https://webreaderapi.com/api/v1/jobs/{job_id}` i przeglądaj wyniki za pomocą kursora, gdy zadanie trwa lub gdy jest już `done`. Zadanie zatrzymuje się na Twoim limicie `limit`, więc nigdy nie płacisz za więcej stron, niż zamówiłeś. *Python: crawluj witrynę dokumentacji do plików Markdown* ```python import os import pathlib import re import time import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} job = requests.post( API + "/crawl", headers=HEADERS, json={"url": "https://docs.example.com/", "limit": 500, "max_depth": 4, "include_paths": ["/guide/*"]}, timeout=60, ).json() out = pathlib.Path("docs_md") out.mkdir(exist_ok=True) cursor, delay = None, 5 while True: params = {"cursor": cursor} if cursor else {} page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() for item in page.get("results", []): if "markdown" in item: name = re.sub(r"[^a-z0-9]+", "-", item["url"].lower()).strip("-")[:120] (out / (name + ".md")).write_text(item["markdown"], encoding="utf-8") cursor = page.get("next_cursor") if page["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) print("credits used:", page.get("credits_used")) ``` ## Które strony odwiedza crawler, a które pomija? Trzyma się domeny adresu startowego i pomija wszystko, czego witryna zabrania robotom. Szczegóły: - **Tylko ta sama domena.** Linki do innych domen są wymieniane w wynikach, ale nie są odczytywane. - **Najpierw robots.txt.** Strony zabronione dla `WebReaderAPI` lub dla wszystkich robotów są pomijane i nie są naliczane. - **Crawl-delay respektowany.** Jeśli witryna go ustawia, crawler czeka tyle między dwiema stronami, więc duża witryna może zająć więcej czasu. - **Twoje filtry.** `include_paths` i `exclude_paths` przyjmują proste wzorce, takie jak `/blog/*`; użyj ich, aby pominąć strony tagów, strony wyszukiwania i archiwa. - **Duplikaty usuwane.** Ta sama strona osiągnięta przez dwa adresy URL, na przykład z parametrami śledzącymi, jest odczytywana raz, gdy witryna deklaruje kanoniczny adres URL. ## Czy powinienem użyć crawlowania czy wsadu? Użyj crawlowania, gdy znasz witrynę, ale nie strony; użyj wsadu, gdy masz już listę adresów URL. Crawling odkrywa strony z sitemap i linków. Wsad odczytuje dokładnie te adresy URL, które wyślesz, do 100 na zadanie, w dowolnej liczbie witryn. Do cotygodniowego odświeżania bazy wiedzy częsty wzorzec to jedno crawlowanie w celu zbudowania indeksu, a następnie wsady stron, których `lastmod` zmienił się w sitemap. Dzięki temu cotygodniowy koszt obejmuje tylko strony, które faktycznie się zmieniły. ## Ile kosztuje crawlownie witryny? Jeden kredyt za odczytaną stronę, dwa za strony, które wymagały przeglądarki. Witryna dokumentacji z 1500 stronami renderowana na serwerze kosztuje 1500 kredytów; ta sama witryna zbudowana jako aplikacja jednostronicowa może kosztować do 3000. Trzy typowe zadania, na październik 2026: podręcznik produktu z 300 stronami mieści się w pakiecie 10 000 stron (3,75 USD); dziesięć witryn dokumentacji po 2000 stron każda mieści się w 50 000 stron (14,25 USD); archiwum z 400 000 stronami mieści się w 500 000 stron (50 USD). Pominięte i nieudane strony są bezpłatne. ## Który pakiet pasuje do crawlowania? Dobierz rozmiar pakietu do liczby stron, a następnie dodaj margines na strony wymagające przeglądarki. Kredyty nigdy nie wygasają, więc reszta posłuży do następnego crawlowania. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Scale | 500 000 stron | 50 USD | 0,10 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Crawl API: najczęstsze pytania ### Ile stron może odczytać jedno crawlowanie? Do 10 000 stron na zadanie, w obrębie domeny adresu startowego. W przypadku większej witryny podziel ją na kilka zadań za pomocą `include_paths`, na przykład po jednym na sekcję. ### Czy crawler korzysta z sitemap? Tak. Odczytuje sitemap wymienioną w robots.txt lub w zwykłym miejscu, a następnie podąża za linkami na odczytywanych stronach. Strony wymienione tylko w sitemap są nadal odczytywane, jeśli robots.txt na to pozwala. ### Czy mogę crawlować witrynę, która blokuje crawery AI? Nie z WebReaderAPI. Jeśli robots.txt zabrania naszemu crawlerowi lub wszystkim robotom, te strony są pomijane i nie są naliczane. Jeśli witryna deklaruje `Content-Signal: ai-input=no`, nie odczytujemy jej dla Ciebie. Nigdy nie próbujemy obejść takich decyzji. ### Czy mogę otrzymać wyniki, gdy crawlowanie nadal trwa? Tak. `GET https://webreaderapi.com/api/v1/jobs/{job_id}` zwraca odczytane dotąd strony wraz z kursorem; kontynuuj stronicowanie, aż zadanie będzie w stanie `done` i nie pozostanie żaden kursor. ### Czy crawlowanie może odczytać więcej stron niż mój limit? Nie. Kredyty są liczone strona po stronie, a zadanie zatrzymuje się, gdy osiągnie ustawiony przez Ciebie limit `limit`. Strony pominięte z powodu robots.txt oraz strony, które zakończyły się niepowodzeniem, nie zużywają kredytów. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Zapłać za web reader API kryptowalutą > Jak zapłacić za WebReaderAPI kryptowalutą: BTC, USDT, USDC, ETH, SOL lub LTC, minimalne doładowanie 25 USD, którą sieć wybrać i co zrobić po wysłaniu. - URL: https://webreaderapi.com/pl/crypto-payments/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Przewodnik krok po kroku, jak doładować saldo WebReaderAPI kryptowalutą i zamienić je na kredyty na strony, wraz z błędami, których należy unikać. **Szybka odpowiedź — Jak zapłacić za WebReaderAPI kryptowalutą?** Doładuj saldo **WebReaderAPI** kwotą co najmniej 25 USD w BTC, USDT, USDC, ETH, SOL, LTC: wyślij dokładną pokazaną kwotę, w pokazanej sieci, a następnie kliknij „Wysłałem płatność”. Doładowanie jest dopasowywane po dokładnej kwocie i księgowane po potwierdzeniu. Następnie kupujesz kredyty na strony z salda, od 3,75 USD za 10 000 stron. Bez KYC. ## Jakimi monetami mogę płacić? Sześć monet, jedno saldo. USDT działa w TRC-20 lub ERC-20, USDC w ERC-20; strona płatności pokazuje adres i sieć dla wybranej monety. - Bitcoin (BTC) - Tether (USDT) — TRC-20 or ERC-20 - USD Coin (USDC) — ERC-20 - Ethereum (ETH) - Solana (SOL) - Litecoin (LTC) ## Jak działa doładowanie kryptowalutą, krok po kroku? Pięć kroków od pustego konta do działającego klucza API. Jedyny czas oczekiwania to potwierdzenie w blockchainie. 1. **Wybierz kwotę i monetę** — Wpisz co najmniej 25 USD i wybierz BTC, USDT, USDC, ETH, SOL lub LTC. Strona płatności przelicza kwotę w dolarach na tę monetę. 2. **Wyślij dokładną kwotę** — Skopiuj adres i pokazaną kwotę, a następnie wyślij je w sieci wskazanej na stronie: jeden przelew, dokładna kwota, bez zaokrągleń. 3. **Kliknij „Wysłałem płatność”** — Powiedz stronie, że przelew jest w drodze. Jeśli poprosi o ID transakcji, wklej je, aby przelew był łatwiejszy do znalezienia. 4. **Poczekaj na potwierdzenie sieci** — Doładowanie jest dopasowywane po dokładnej kwocie i księgowane po potwierdzeniu przez sieć. Bitcoin potrzebuje więcej czasu niż USDT na Tronie lub SOL na Solanie. 5. **Kup pakiet kredytów** — Zapłać za dowolny pakiet z salda. Jeśli zacząłeś od pakietu, zostaje on kupiony po zaksięgowaniu doładowania, a Twój klucz API pojawia się w panelu. ## Której monety i której sieci powinienem użyć? Użyj monety, którą już masz, w sieci wskazanej na stronie płatności. Stablecoin (USDT lub USDC) utrzymuje kwotę w dolarach, więc cena, którą widzisz, to cena, którą płacisz. Opłaty sieciowe i czasy potwierdzenia różnią się w zależności od łańcucha; tabela w powyższych krokach podaje zwykły czas potwierdzenia dla każdej sieci. Jeśli masz USDT na kilku łańcuchach, wybierz ten, którego opłata jest mniejsza dla Twojej kwoty. Opłatę ponosi nadawca i nie jest ona częścią Twojego doładowania. ## Dlaczego obowiązuje minimalne doładowanie? Ponieważ każda płatność kosztuje nas weryfikację i księgowanie, niezależnie od jej wysokości. Minimum wynosi 25 USD; z salda można następnie kupić dowolny pakiet, w tym pakiet 10 000 stron za 3,75 USD. To, czego nie wydasz, pozostaje na saldzie bez daty końcowej. Jeśli kupiony pakiet kosztuje mniej niż minimum, nadwyżkę można odzyskać w ciągu 30 dni, w USDT lub USDC, o ile nie została wydana. ## Co się dzieje po wysłaniu płatności? Kliknij „Wysłałem płatność” na stronie płatności. Dopasowujemy przelew po jego dokładnej kwocie, czekamy na potwierdzenia wymagane przez sieć i księgujemy środki na Twoim saldzie. Jeśli zacząłeś od pakietu, zostaje on kupiony z salda po zaksięgowaniu doładowania, a Twój klucz API jest gotowy w panelu. Jeśli zamknąłeś kartę, otwórz strefę klienta: oczekujące i zaksięgowane doładowania pojawiają się w historii zamówień. ## Co jeśli wyślę niewłaściwą kwotę lub użyję niewłaściwej sieci? Innej kwoty nie da się dopasować samodzielnie, a przelew w innej sieci może w ogóle nie dotrzeć na adres. Zanim wyślesz, sprawdź trzy rzeczy: monetę, sieć i dokładną kwotę. Jeśli doszło do pomyłki, napisz na support@webreaderapi.com, podając ID transakcji i ID zamówienia. Nie wysyłaj numeru konta ani klucza API. Środki wysłane w sieci, której nie pokazano na stronie płatności, mogą być nie do odzyskania. ## Czy płatność kryptowalutą można zwrócić? Zwroty trafiają na Twoje saldo, a nie z powrotem do Twojego portfela, co pozwala uniknąć drugiej opłaty sieciowej. Pakiet wykorzystany w mniej niż 20% w ciągu 72 godzin lub pakiet, który nigdy nie działał, jest zwracany w formie kredytów. [Polityka zwrotów](https://webreaderapi.com/pl/refunds/) podaje dokładne warunki i trzy przykłady. ## Co mogę kupić po zaksięgowaniu salda? Dowolny pakiet: 10 000 stron za 3,75 USD, 50 000 stron za 14,25 USD lub 100 000 stron za 21,75 USD, a większe na [stronie cen](https://webreaderapi.com/pl/pricing/). Kredyty nigdy nie wygasają. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 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ą Ceny w USD, ustalone 2026-10-22. Każdy pakiet jest opłacany z Twojego salda kryptowalutowego. ## Płatność kryptowalutą: najczęstsze pytania ### Czy do płatności potrzebuję karty lub dokumentu tożsamości? Nie. WebReaderAPI przyjmuje wyłącznie kryptowaluty i nie prosi o żadne dokumenty tożsamości. Logowanie numerem konta; e-mail jest opcjonalny. ### Czy cena jest stała, gdy rozpoczynam płatność? Strona płatności pokazuje kwotę w wybranej przez Ciebie monecie dla tej płatności. Wyślij dokładnie tę kwotę; stablecoin utrzymuje ją równą cenie w dolarach. ### Czy mogę płacić za kredyty za każde zapytanie zamiast doładowywać? Nie. Płatności przechodzą przez przedpłacone saldo, a każde odczytanie zużywa z niego kredyty. Saldo i kredyty nigdy nie wygasają. ### Gdzie widzę swoje płatności? W historii zamówień w strefie klienta, wraz ze statusem, monetą, siecią i ID transakcji każdego doładowania. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Indeks cen API URL to Markdown 2026: ile kosztuje 1000 stron w 21 API > Cennik API URL-to-Markdown i czytnika stron 2026: 21 API, koszt za 1000 stron przy 3 wolumenach, KYC dla kryptowalut. Stan na 2026-10-22. - URL: https://webreaderapi.com/pl/data/url-to-markdown-price-index-2026/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Publiczne ceny katalogowe 21 API, które zamieniają strony internetowe na Markdown lub tekst dla modeli, znormalizowane do kosztu 1000 stron przy trzech miesięcznych wolumenach, dla zwykłych stron i dla stron renderowanych w przeglądarce. Opublikowane przez WebReaderAPI, które jest jednym z API w tabeli. **Szybka odpowiedź — Ile kosztuje API URL-to-Markdown za 1000 stron w 2026?** W 21 API, których ceny katalogowe odczytaliśmy 2026-10-22, odczyt 100 000 zwykłych stron miesięcznie kosztuje medianę 0,99 USD za 1000, a 1,00 USD, gdy strony wymagają przeglądarki. Przy 1 milionie stron miesięcznie mediany spadają do 0,774 USD i 0,899 USD. **WebReaderAPI**, które publikuje ten indeks, pobiera 0,22 USD/1K stron za zwykłe strony przy 100 000. ## Indeks w sześciu liczbach - **$2.00** mediana za 1000 zwykłych stron przy 10 000 miesięcznie (21 API) - **$0.99** mediana za 1000 zwykłych stron przy 100 000 miesięcznie (21 API) - **$0.774** mediana za 1000 zwykłych stron przy 1 mln miesięcznie (20 API) - **$1.00** mediana za 1000 stron renderowanych w przeglądarce przy 100 000 miesięcznie (18 API) - **$0.899** mediana za 1000 stron renderowanych w przeglądarce przy 1 mln miesięcznie (17 API) - **3 + 7** API, które podają płatność kryptowalutą na koncie, oraz API przyjmujące USDC za zapytanie (x402) ## Jak powstał ranking? Przeczytaliśmy publiczne strony cennikowe każdego dostawcy w dniu 2026-10-22 i zachowaliśmy wyłącznie kwoty tam podane; wszystkie źródła są wymienione na dole. „Strona” to jeden URL odczytany i zwrócony jako Markdown lub tekst, z domyślnym proxy dostawcy i bez płatnych dodatków. - **Zwykła strona:** bez renderowania JavaScript. **Strona w przeglądarce:** najpierw renderowana w przeglądarce headless; dostawcy, którzy zawsze renderują (Firecrawl, Olostep, Diffbot), mają tę samą cenę w obu tabelach. - **Cena przy wolumenie:** najtańszy publikowany sposób kupienia tylu stron miesięcznie u jednego dostawcy (plan, plan plus publikowany nadwyżkowy cennik lub pay as you go), podzielony przez liczbę wykorzystanych stron. Plan za $99 wykorzystany na 100 000 stron liczy się jako $0.99 za 1000, nawet jeśli obejmuje więcej. - **Mnożniki kredytów są uwzględnione**, na przykład 5 kredytów za stronę w przeglądarce w ScrapingBee, ZenRows i Scrape.do. - **Darmowe plany są wymienione, ale bez ceny.** API rozliczane za tokeny, czas pracy przeglądarki, wolumen danych lub moc obliczeniową oraz jedno API, którego wyniku Markdown nie mogliśmy potwierdzić, są wymienione osobno. WebReaderAPI pokazano dla odniesienia i nie jest liczone do median. ## Cena za 1000 zwykłych stron według miesięcznego wolumenu Strony statyczne, odczytywane bez przeglądarki. „—” oznacza, że cena nie jest publikowana lub nie jest samoobsługowa przy tym wolumenie. | API | 10 tys. stron miesięcznie | 100 tys. stron miesięcznie | 1 mln stron miesięcznie | | --- | --- | --- | --- | | WebReaderAPI (przedpłacone, nie wygasa) | 0,38 USD/1K stron | 0,22 USD/1K stron | 0,07 USD/1K stron | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $1.60 | $1.40 | $1.30 | | Exa contents | $1.00 | $1.00 | $1.00 | | Parallel Extract | $1.00 | $1.00 | $1.00 | | Linkup fetch | $1.00 | $1.00 | $1.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.49 | $0.099 | | ScraperAPI | $4.90 | $0.49 | $0.149 | | ZenRows | $0.50 | $0.39 | $0.199 | | Scrapfly | $3.00 | $0.30 | $0.10 | | Scrape.do | $2.90 | $0.29 | $0.099 | | Crawlbase | $2.10 | $0.764 | $0.349 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $1.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.49 | $0.249 | | Scrapeless | $1.00 | $0.90 | $0.80 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.50 | $0.395 | *Ceny sprawdzone dnia 22 października 2026.* Ceny katalogowe w USD, odczytane 2026-10-22. Nasze ceny: strona cennikowa WebReaderAPI z tego samego dnia. ## Cena za 1000 stron renderowanych w przeglądarce według miesięcznego wolumenu Strony wymagające JavaScript, renderowane w przeglądarce headless. API, które nie dokumentują opcji przeglądarki, są pominięte w tej tabeli. | API | 10 tys. stron miesięcznie | 100 tys. stron miesięcznie | 1 mln stron miesięcznie | | --- | --- | --- | --- | | WebReaderAPI (2 kredyty za stronę) | $0.75/1000 stron | $0.435/1000 stron | $0.148/1000 stron | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $3.00 | $2.36 | $2.90 | | Linkup fetch | $5.00 | $5.00 | $5.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.99 | $0.599 | | ScraperAPI | $4.90 | $1.49 | $0.975 | | ZenRows | $2.50 | $0.99 | $0.549 | | Scrapfly | $3.00 | $1.00 | $0.56 | | Scrape.do | $2.90 | $0.99 | $0.699 | | Crawlbase | — | $0.99 | $0.599 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $5.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.99 | $0.999 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.99 | $0.667 | *Ceny sprawdzone dnia 22 października 2026.* ## Dlaczego ceny API tak bardzo się różnią? Cztery rzeczy wyjaśniają większość rozpiętości. 1. **Typ produktu.** Ogólne API do web scrapingu (ScrapingBee, Scrape.do, ZenRows, Scrapfly) są wyceniane pod wolumen i przy 1 mln miesięcznie osiągają około $0.10 za 1000 zwykłych stron. Czytniki nastawione na AI (Exa, Parallel, Linkup) pobierają stałe $1.00 i dodają funkcje wyszukiwania. 2. **Mnożniki przeglądarki.** Strona w przeglądarce kosztuje od 2 do 10 razy więcej niż zwykła strona w API opartych na kredytach; API ze stałą ceną pobierają tyle samo za obie. 3. **Progi planów.** Wielu dostawców sprzedaje plany miesięczne z dużym limitem, więc mali użytkownicy płacą za niewykorzystane strony: mediana przy 10 000 zwykłych stron miesięcznie to $2.00. 4. **Wygasanie.** Większość planów zeruje niewykorzystane kredyty co miesiąc; ScrapeGraphAI, Crawlbase i Crawl4AI Cloud zachowują kupione kredyty bez miesięcznego resetu. ## Darmowe plany, wygasanie, kryptowaluty, weryfikacja tożsamości i robots.txt Co każdy dostawca podaje na stronach, które przeczytaliśmy. „Nie podano” oznacza, że strony o tym nie mówiły. | API | Darmowy plan | Kredyty nie wygasają | Płatność kryptowalutą | Weryfikacja tożsamości | robots.txt | | --- | --- | --- | --- | --- | --- | | WebReaderAPI | Brak | Nigdy | BTC, USDT, USDC, ETH, SOL, LTC | Brak: bez dowodu, bez selfie, bez dokumentów | Respektowany; nigdy nie omijany | | Firecrawl | 1000 kredytów miesięcznie, bez karty | Kredyty w planie odnawiają się co miesiąc | Nie (karty, PayPal) | Brak podanych | Respektowane domyślnie; zmiana tylko w Enterprise | | Tavily Extract | 1000 kredytów miesięcznie (5000 podstawowych URL-i) | Reset co miesiąc | Tylko według własnego uznania (warunki) | Brak podanych | Nie podano | | Exa contents | 10 USD kredytu miesięcznie | Darmowe kredyty resetują się co miesiąc | Za zapytanie, USDC (x402) | Karta do płatności za zużycie | Podane dla jego indeksującego crawlera, nie dla pobrań użytkownika | | Parallel Extract | 5000 zapytań miesięcznie | Darmowe kredyty wygasają co miesiąc | Za zapytanie, USDC (x402) | Karta dla miesięcznego kredytu | Podane dla jego indeksującego crawlera, nie dla pobrań użytkownika | | Linkup fetch | 20 USD miesięcznie (profesjonalny e-mail) | Nie podano | Za zapytanie, USDC (x402) | Profesjonalny e-mail dla darmowego kredytu | Crawling je respektuje; dla pobierania nie podano | | Olostep | Próba na 500 zapytań | Plan miesięczny; doładowania ważne 6 miesięcy | Za zapytanie, USDC (x402) | Karta do doładowań | Narzędzia, by je respektować; domyślne zachowanie nie podano | | ScrapeGraphAI | 500 kredytów | Kredyty z planu nie przechodzą na kolejny okres; doładowania nigdy nie wygasają | Tylko agenci (MPP) | Nie podano | Klient musi przestrzegać (regulamin) | | Diffbot | 10 000 kredytów miesięcznie | Limit resetuje się w każdym okresie | Nie podano | Bez karty dla darmowego planu | Crawl stosuje się domyślnie; dla Extract nie podano | | ScrapingBee | 1000 kredytów | Bez przenoszenia na kolejny okres | Nie | Karta do płatnych planów | Nie podano | | ScraperAPI | 5000 kredytów na 7 dni | Wygasają w każdym okresie rozliczeniowym | Nie | Brak podanych | Nie podano | | ZenRows | 5000 kredytów miesięcznie | Przy odnowieniu | Konta: nie; agenci: USDC (x402) | Walidacja e-mail | Nie podano | | Scrapfly | 1000 kredytów jednorazowo | Bez przenoszenia na kolejny okres | Nie podano | KYC dla każdego klienta | Crawler API respektuje je domyślnie; można wyłączyć | | Scrape.do | 1000 kredytów miesięcznie | Nie podano | Tak (monety nie podano) | Brak podanych | Nie podano | | Crawlbase | 1000 kredytów | Płatność za użycie: nic nie wygasa | Nie podano | Brak podanych | Nie podano | | Bright Data Web Unlocker | 5000 kredytów miesięcznie | Darmowe kredyty resetują się co miesiąc | Nie | Karta dla kont z osobistym e-mailem; KYC firmowe dla stron zabronionych w robots | Honorowane domyślnie | | Oxylabs Web Scraper API | 5 USD kredytu jednorazowo | Koniec cyklu | Nie | KYC dla każdego klienta | Brak informacji | | Decodo Web Data API | Do 10 000 zapytań miesięcznie | Niewykorzystane kwoty wygasają co miesiąc | Tak (przez CoinGate) | Automatyczna weryfikacja, potem KYC | Nie podano | | Scrapeless | Okres próbny, wielkość nieokreślona | Minimalna kwota przedpłacona nie jest blokowana | Tak (monety nie podano) | Brak dla podstawowych pakietów | Nie podano | | Hyperbrowser Fetch | 5 000 kredytów | Kupione kredyty: 12 miesięcy | Za zapytanie, USDC (x402) | Nie podano | Nie podano | | Steel scrape | 30 USD jednorazowo (90 dni) | Kredyt startowy 90 dni | Za zapytanie, USDC (x402) | Bez karty | Regulamin zabrania naruszania go | | Crawl4AI Cloud | 1000 kredytów miesięcznie | Kupione kredyty nigdy nie wygasają | Nie podano | Bez karty | Regulamin wymaga ich przestrzegania | *Ceny sprawdzone dnia 22 października 2026.* ## Jakie są główne wnioski? - **Zwykłe strony są tanie przy dużej skali.** Przy 1 milionie stron miesięcznie ScrapingBee (0,099 USD), Scrape.do (0,099 USD) i Scrapfly (0,10 USD) podają najniższe ceny zwykłych stron. - **Strony w przeglądarce kosztują więcej.** Przy 1 milionie miesięcznie Olostep (0,399 USD), ZenRows (0,549 USD) i Scrapfly (0,56 USD) podają najniższe ceny stron w przeglądarce. - **Najbardziej znany reader nie jest najtańszy.** Firecrawl podaje 0,99 USD za 1000 stron przy 100 000 stron i 0,749 USD przy 1 milionie, przy renderowaniu każdej strony. - **Kryptowaluty na kontach to rzadkość.** Scrape.do, Decodo Web Data API i Scrapeless podają płatność kryptowalutą; Exa contents, Parallel Extract, Linkup fetch, Olostep, ZenRows, Hyperbrowser Fetch i Steel scrape przyjmują USDC za każde zapytanie przez x402. - **robots.txt często pozostawia się klientowi.** Dostawcy deklarujący domyślne respektowanie robots.txt, przynajmniej w swoich produktach do crawlingu: Firecrawl, Diffbot, Scrapfly, Bright Data Web Unlocker. Wiele nie mówi nic. - **KYC to wyjątek.** Oxylabs i Scrapfly pytają o nie każdego klienta; Decodo najpierw przeprowadza automatyczną weryfikację. ## API rozliczane inaczej (poza medianami) Te rozliczają się za tokeny, czas przeglądarki, wolumen danych lub moc obliczeniową albo nie potwierdziły wyjścia w Markdown, więc cena za stronę zależy od Twoich stron. | API | Cena | Uwaga | | --- | --- | --- | | Jina Reader | 50 USD za 1 miliard tokenów wyjściowych; 500 USD za 11 miliardów | Rozliczane za token: koszt za stronę zależy od długości strony. 10 milionów darmowych tokenów na nowy klucz, wyłącznie do użytku niekomercyjnego. | | Cloudflare Browser Run | $0.09 za godzinę pracy przeglądarki po 10 wliczonych godzinach, minimum $5 miesięcznie | Rozliczane za czas przeglądarki; endpointy /markdown, /content i /crawl. | | Spider | 1 USD za GB treści plus moc obliczeniowa | Rozliczane za wolumen danych; publikowane przez niego stawki za stronę to jego własne szacunki. | | Apify Website Content Crawler | Jednostki obliczeniowe (0,13 USD za jednostkę w Business) | Rozliczane za moc obliczeniową; publikowane przez niego stawki za stronę to jego własne szacunki. | | Zyte API | 0,13 USD za 1000 statycznych zapytań (website tier 1, pay as you go); 1,01 USD z przeglądarką | Cena zależy od tieru, który Zyte przypisuje każdej witrynie; wyjście w Markdown niepodane na stronach, które czytaliśmy. | *Ceny sprawdzone dnia 22 października 2026.* ## Czy mogę ponownie wykorzystać te dane? Tak. Tabele na tej stronie są publikowane na licencji Creative Commons Attribution 4.0 (CC BY 4.0): kopiuj i adaptuj je z linkiem do tej strony i datą 2026-10-22. Ceny czytamy ponownie co najmniej raz w miesiącu. Jeśli jakaś liczba jest błędna, napisz na support@webreaderapi.com ze stroną, która pokazuje właściwą; poprawiamy ją i odnotowujemy zmianę w [changelogu](https://webreaderapi.com/pl/changelog/). ## Indeks cen: najczęstsze pytania ### Które API do konwersji URL do Markdown kosztuje najmniej? To zależy od wolumenu i od JavaScript. Na dzień 2026-10-22 najniższe ceny zwykłych stron przy 1 milionie stron miesięcznie miały ScrapingBee (0,099 USD) i Scrape.do (0,099 USD) za 1000; najniższa cena strony w przeglądarce przy tym wolumenie to Olostep (0,399 USD). ### Ile kosztuje Firecrawl za stronę? Firecrawl pobiera 1 kredyt za stronę z uwzględnieniem JavaScript: 19 USD za 5 000 kredytów w Hobby, 99 USD za 100 000 w Standard i 749 USD za 1 milion w Scale, odczytane na jego stronie cennika 2026-10-22. Ekstrakcja JSON dodaje 4 kredyty za stronę. ### Dlaczego Jina Reader nie ma w głównych tabelach? Jina rozlicza według tokenów wyjściowych (50 USD za 1 miliard tokenów w najmniejszym pakiecie), więc cena za stronę zależy od długości Twoich stron. Znajdziesz ją w tabeli API rozliczanych w inny sposób. ### Czy WebReaderAPI liczy siebie w medianach? WebReaderAPI publikuje ten indeks i pojawia się w pierwszych wierszach tylko jako odniesienie. Mediany uwzględniają pozostałych dostawców. ### Jak często indeks jest aktualizowany? Co najmniej raz w miesiącu oraz gdy wymieniony dostawca zmieni swoje publiczne ceny. Data u góry pokazuje ostatnie pełne sprawdzenie. ## Źródła 1. [Firecrawl: cennik](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Tavily Extract: cennik](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 3. [Exa contents: cennik](https://exa.ai/pricing) — Exa (read 2026-10-22) 4. [Parallel Extract: cennik](https://parallel.ai/pricing) — Parallel (read 2026-10-22) 5. [Linkup fetch: cennik](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup (read 2026-10-22) 6. [Olostep: cennik](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 7. [ScrapeGraphAI: cennik](https://scrapegraphai.com/pricing) — ScrapeGraphAI (read 2026-10-22) 8. [Diffbot: ceny](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) 9. [ScrapingBee: ceny](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 10. [ScraperAPI: cennik](https://www.scraperapi.com/pricing/) — ScraperAPI (read 2026-10-22) 11. [ZenRows: ceny](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 12. [Scrapfly: ceny](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 13. [Scrape.do: ceny](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 14. [Crawlbase: cennik](https://crawlbase.com/pricing) — Crawlbase (read 2026-10-22) 15. [Bright Data Web Unlocker: ceny](https://www.bright.cn/pricing/web-unlocker) — Bright Data (read 2026-10-22) 16. [Oxylabs Web Scraper API: cennik](https://oxylabs.io/pricing/web-scraper-api) — Oxylabs (read 2026-10-22) 17. [Decodo Web Data API: cennik](https://help.decodo.com/docs/web-data-api-billing) — Decodo (read 2026-10-22) 18. [Scrapeless: cennik](https://www.scrapeless.com/en/pricing) — Scrapeless (read 2026-10-22) 19. [Hyperbrowser Fetch: cennik](https://hyperbrowser.ai/docs/pricing.md) — Hyperbrowser (read 2026-10-22) 20. [Steel scrape: cennik](https://docs.steel.dev/overview/pricinglimits) — Steel (read 2026-10-22) 21. [Crawl4AI Cloud: cennik](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 22. [Jina Reader: cennik](https://jina.ai/api-dashboard/pricing/) — Jina Reader (read 2026-10-22) 23. [Cloudflare Browser Run: cennik](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare Browser Run (read 2026-10-22) 24. [Spider: cennik](https://spider.cloud/pricing) — Spider (read 2026-10-22) 25. [Apify Website Content Crawler: cennik](https://apify.com/apify/website-content-crawler) — Apify Website Content Crawler (read 2026-10-22) 26. [Zyte API: cennik](https://www.zyte.com/pricing/) — Zyte API (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Szybki start URL to Markdown API: pierwsza strona w dwie minuty > Szybki start URL to Markdown API: zdobądź klucz, odczytaj stronę przez curl, Python lub Node.js i sprawdź kredyty. Od 0,07 USD/1K stron, bez KYC. - URL: https://webreaderapi.com/pl/docs/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Jeden endpoint, jeden parametr: wyślij URL do `/read` i otrzymaj główną treść strony z powrotem jako Markdown. Ta strona prowadzi Cię od pustego salda do działającego wywołania, a następnie wskazuje wszystko inne. **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 | Atrybut | Wartość | | --- | --- | | 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. 1. **Doładuj kryptowalutą** — Wyślij co najmniej 25 USD w BTC, USDT, USDC, ETH, SOL, LTC. Logowanie numerem konta; e-mail jest opcjonalny. 2. **Kup pakiet kredytów** — 10 000 stron za 3,75 USD wystarczy, żeby przetestować każdą opcję na własnych URL-ach. 3. **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: odczyt jednej strony* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" ``` *Python: odczyt jednej strony i zapis* ```python 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"]) ``` *Node.js 18+: odczyt jednej strony* ```javascript 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](https://webreaderapi.com/pl/docs/response/) 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](https://webreaderapi.com/pl/docs/read/) 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](https://webreaderapi.com/pl/docs/errors/) wyjaśnia, które błędy warto ponowić, a które są ostateczne. ## Dokąd dalej? - [Przeczytaj referencję endpointów](https://webreaderapi.com/pl/docs/read/) — Każdy parametr /read, z przykładami - [Batch i crawling](https://webreaderapi.com/pl/docs/crawl/) — Do 100 URL-i na batch albo cała strona - [Format odpowiedzi](https://webreaderapi.com/pl/docs/response/) — Każde pole odpowiedzi - [Błędy i robots.txt](https://webreaderapi.com/pl/docs/errors/) — Kody, przyczyny i zasady ponawiania - [Python](https://webreaderapi.com/pl/docs/python/) — requests, async httpx, chunking pod RAG - [Node.js](https://webreaderapi.com/pl/docs/node/) — fetch, mała pula, odpytywanie crawla - [curl i jq](https://webreaderapi.com/pl/docs/curl/) — Przepisy na terminal - [serwer MCP](https://webreaderapi.com/pl/docs/mcp/) — Narzędzie read_url dla Claude i Cursor - [LangChain i LlamaIndex](https://webreaderapi.com/pl/docs/langchain/) — Loadery i narzędzia dla RAG - [wywoływanie funkcji OpenAI](https://webreaderapi.com/pl/docs/openai/) — Schemat i pętla narzędzia read_url - [n8n](https://webreaderapi.com/pl/docs/n8n/) — Narzędzie HTTP Request dla AI Agenta - [OpenClaw](https://webreaderapi.com/pl/docs/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. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Batch i crawl API: czytaj wiele URL-i lub całą witrynę > Dokumentacja Batch i crawl API: przeczytaj do 100 URL-i na zadanie lub witrynę do 10 000 stron, z zachowaniem robots.txt. Bez KYC, płatność kryptowalutą. - URL: https://webreaderapi.com/pl/docs/crawl/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Dwa endpointy uruchamiają zadania w tle: `/batch` dla listy do 100 URL-i, `/crawl` dla jednej witryny. Oba zwracają ID zadania; strony odbierasz z `/jobs/{job_id}`, po jednej stronie wyników naraz. **Szybka odpowiedź — Jak scrawlować witrynę do Markdown za pomocą WebReaderAPI?** Wyślij URL startowy do `POST https://webreaderapi.com/api/v1/crawl` z parametrem strony `limit`. **WebReaderAPI** czyta witrynę w tle, tylko w obrębie tej samej domeny, zgodnie z jej sitemap, robots.txt i Crawl-delay, do 10 000 stron na zadanie. Odbieraj strony Markdown z zadania, po jednej stronie wyników naraz. Każde odczytanie strony kosztuje 1 kredyt (2 z przeglądarką), od 0,07 USD/1K stron stan na październik 2026. Bez KYC; płatność kryptowalutą. ## Zadania w skrócie | Atrybut | Wartość | | --- | --- | | Batch | Do 100 URL-i na jedno zadanie wsadowe: `POST https://webreaderapi.com/api/v1/batch` | | Crawl | Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay: `POST https://webreaderapi.com/api/v1/crawl` | | Wyniki | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, potem `?cursor=…` po następną stronę wyników | | Rozliczanie | Każde odczytanie strony jest rozliczane jak wywołanie `/read`; strony pominięte przez robots.txt i nieudane strony nic nie kosztują | | Zakres crawlu | Jedna domena; linki do innych domen są wymieniane, ale nie czytane | | Anulowanie zadania | Niedostępne w v1: ustaw `limit` na największą liczbę stron, za którą jesteś gotów zapłacić | ## Uruchom zadanie batch `POST /api/v1/batch` Czyta w tle do 100 URL-i z tymi samymi opcjami. Opcje używają nazw i wartości z [/read](https://webreaderapi.com/pl/docs/read/). Odpowiedzią jest ID zadania; wartości są przykładowe. Uwierzytelnianie: klucz API w nagłówku `Authorization: Bearer API_KEY`. **Treść zapytania** | Pole | Typ | Wymagane | Opis | | --- | --- | --- | --- | | `urls` | array of strings | Tak | Od 1 do 100 adresów URL http lub https. Duplikaty są odczytywane raz. | | `options` | object | Nie | Dowolny parametr `/read` oprócz `url`: `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout`. | *Przykład: three articles as Markdown* ```json { "urls": [ "https://example.com/blog/post-1", "https://example.com/blog/post-2", "https://example.org/news/launch" ], "options": { "format": "markdown", "max_chars": 50000 } } ``` **Odpowiedź** `202 Accepted` ```json { "job_id": "job_5c1e8a90d2" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/batch', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ urls: ['https://example.com/blog/post-1', 'https://example.com/blog/post-2'], options: { format: 'markdown' } }), }); console.log((await res.json()).job_id); ``` ## Rozpocznij zadanie crawlowania `POST /api/v1/crawl` Odczytuje jedną witrynę od URL startowego, wszerz. Crawler pozostaje w domenie URL startowego, używa sitemapy wskazanej w robots.txt lub znalezionej pod `/sitemap.xml` i respektuje robots.txt oraz Crawl-delay. Wartości są przykładowe. Uwierzytelnianie: klucz API w nagłówku `Authorization: Bearer API_KEY`. **Treść zapytania** | Pole | Typ | Wymagane | Opis | | --- | --- | --- | --- | | `url` | string | Tak | Strona startowa, np. strona główna witryny z dokumentacją. | | `limit` | integer | Nie | Maksymalna liczba stron do odczytania, do 10 000. Zadanie kończy się po osiągnięciu tej liczby. | | `max_depth` | integer | Nie | Maksymalna liczba kroków po linkach od URL startowego. | | `include_paths` | array of strings | Nie | Proste wzorce ścieżek do zachowania, np. `/docs/*`. | | `exclude_paths` | array of strings | Nie | Proste wzorce ścieżek do pominięcia, np. `/blog/tag/*`. | | `options` | object | Nie | Dowolny parametr `/read` oprócz `url`, stosowany do każdej strony. | *Przykład: the docs section of a site, 500 pages at most* ```json { "url": "https://docs.example.com/", "limit": 500, "max_depth": 3, "include_paths": [ "/docs/*" ], "exclude_paths": [ "/docs/archive/*" ], "options": { "format": "markdown" } } ``` **Odpowiedź** `202 Accepted` ```json { "job_id": "job_8b27f41c0e" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/crawl" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/crawl", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 500, include_paths: ['/docs/*'] }), }); console.log((await res.json()).job_id); ``` ## Pobierz status zadania i wyniki `GET /api/v1/jobs/{job_id}` Zwraca status zadania oraz kolejne gotowe wyniki. Każdy element `results` to albo pełna odpowiedź `/read`, albo `{url, error}` dla strony, której nie udało się odczytać. Gdy `next_cursor` występuje, wywołaj ponownie z `cursor` ustawionym na tę wartość; gdy go nie ma, nie ma jeszcze kolejnych gotowych wyników. Wartości są przykładowe. Uwierzytelnianie: klucz API w nagłówku `Authorization: Bearer API_KEY`. **Parametry** | Nazwa | W | Typ | Wymagane | Opis | | --- | --- | --- | --- | --- | | `job_id` | path | string | Tak | ID zwrócone przez `/batch` lub `/crawl`. | | `cursor` | query | string | Nie | Wartość `next_cursor` z poprzedniego wywołania, aby pobrać kolejne wyniki. | **Odpowiedź** `200` ```json { "job_id": "job_8b27f41c0e", "status": "running", "results": [ { "url": "https://docs.example.com/docs/install", "final_url": "https://docs.example.com/docs/install", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Install", "markdown": "# Install\n\nRun the installer...", "word_count": 418 }, { "url": "https://docs.example.com/docs/private", "error": { "code": "blocked_by_robots", "message": "robots.txt disallows this page for WebReaderAPI." } } ], "next_cursor": "c_000002", "credits_used": 1 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -d cursor=c_000002 ``` *Python* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"cursor": "c_000002"}, timeout=30, ) job = resp.json() print(job["status"], len(job["results"]), job.get("next_cursor")) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e?cursor=c_000002', { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const job = await res.json(); console.log(job.status, job.results.length, job.next_cursor); ``` ## Jak czekać na zakończenie zadania? Odpytuj `/jobs/{job_id}` i zachowuj kursor. Przetwarzaj otrzymane wyniki, a następnie wywołaj ponownie z `cursor` ustawionym na `next_cursor`. Gdy `next_cursor` nie występuje, a `status` to `done`, masz już wszystko; gdy go nie ma, a zadanie nadal jest w stanie `running`, odczekaj i zapytaj ponownie z tym samym kursorem. Zacznij odpytwać co 2 sekundy i podwajaj czas oczekiwania do 30 sekund, dopóki nie pojawi się nic nowego. Crawl, który respektuje Crawl-delay witryny, może potrwać, więc długie oczekiwanie jest normalne i nic nie kosztuje. *Python: odpytuj zadanie i zapisuj każdą stronę jako plik .md* ```python import os import pathlib import re import time import requests JOBS = "https://webreaderapi.com/api/v1/jobs" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def save_job(job_id, folder="pages"): out = pathlib.Path(folder) out.mkdir(exist_ok=True) cursor, wait, saved = None, 2, 0 while True: params = {"cursor": cursor} if cursor else {} job = requests.get(f"{JOBS}/{job_id}", headers=HEADERS, params=params, timeout=30).json() for item in job["results"]: if "error" in item: print("skipped", item["url"], item["error"]["code"]) continue name = re.sub(r"[^a-z0-9]+", "-", item["final_url"].lower()).strip("-")[:120] (out / f"{name}.md").write_text(item["markdown"], encoding="utf-8") saved += 1 if job.get("next_cursor"): cursor, wait = job["next_cursor"], 2 continue if job["status"] == "done": return saved time.sleep(wait) wait = min(wait * 2, 30) if __name__ == "__main__": print(save_job("job_8b27f41c0e"), "pages saved") ``` ## Które strony odczytuje crawl? Crawl zaczyna się od Twojego URL i posuwa się na zewnątrz o jeden krok po linkach naraz, wszerz, do `max_depth`. Odczytuje też sitemapę witryny, z adresu podanego w robots.txt lub z `/sitemap.xml`, aby znaleźć strony, do których prowadzi niewiele linków. - **Tylko ta sama domena.** Linki do innych domen są wymieniane w wynikach, gdy poprosisz o `include_links`, ale nie są odczytywane. - **Filtry ścieżek.** `include_paths` i `exclude_paths` przyjmują proste wzorce, np. `/blog/*`. - **Jedna kopia na stronę.** Gdy witryna deklaruje kanoniczny URL, strona osiągnięta przez kilka adresów jest odczytywana raz. - **Twardy limit.** Zadanie kończy się po odczytaniu `limit` stron. ## Jak crawl respektuje witrynę? Każde zapytanie niesie User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, a crawler przestrzega reguł robots.txt dla `WebReaderAPI` lub dla wszystkich robotów, gdy żaden go nie wskazuje. Zablokowane strony są pomijane i pojawiają się w `results` z błędem `blocked_by_robots`; nic nie kosztują. Gdy robots.txt ustawia `Crawl-delay`, crawler czeka tyle między dwoma zapytaniami do witryny. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. 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. ## Ile kosztuje crawl? Każda odczytana strona kosztuje tyle, co wywołanie `/read`: 1 kredyt, 2, jeśli strona wymagała przeglądarki, plus 10 z `country`. Pominięte i nieudane strony są darmowe. Pole `credits_used` zadania sumuje to, co zostało już rozliczone. Witryna z dokumentacją licząca 500 stron odczytana bez przeglądarki zużywa około 500 kredytów, co pakiet 10 000 stron (3,75 USD) pokrywa wielokrotnie. Ponieważ zadania nie można anulować w v1, `limit` to Twój limit wydatków: ustaw go na maksymalną liczbę stron, za które jesteś gotowy zapłacić. ## Batch i crawl: najczęstsze pytania ### Czy używać /batch czy wielu wywołań /read? Użyj `/batch`, gdy masz już URL-e i nie potrzebujesz każdej odpowiedzi od razu. Oszczędza Ci zarządzania współbieżnością i ponawianiem. Użyj `/read`, gdy agent potrzebuje jednej strony teraz. ### Jak długo przechowywane są wyniki zadań? Odbieraj je, gdy tylko będą gotowe. Wyniki czekają, aż je pobierzesz; po dostarczeniu nie jest przechowywana żadna kopia treści strony, więc zapisz to, czego potrzebujesz, po swojej stronie. ### Czy crawl może podążać za linkami do innych witryn? Nie. Crawl odczytuje jedną domenę. Inne domeny pojawiają się jako linki, gdy o nie poprosisz, a te URL-e możesz wysłać do `/batch`, jeśli chcesz je odczytać. ### Czy mogę zatrzymać rozpoczęty crawl? Nie w v1. Zadanie zatrzymuje się na `limit` stronach, więc wybierz limit odpowiadający Twojemu budżetowi. Strony już odczytane pozostają rozliczone; strony nigdy nieodczytane nic nie kosztują. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Konwersja strony internetowej do Markdown za pomocą curl i jq > Zamieniaj strony w Markdown z terminala przez curl i jq: zapisz stronę, wylistuj linki, uruchom batch i sprawdź kredyty. Od 0,07 USD/1K stron, bez KYC. - URL: https://webreaderapi.com/pl/docs/curl/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Wszystko, co robi API, mieści się w jednej linii powłoki. Te przepisy używają curl do wywołania API i jq do wybierania pól z JSON, z wersją dla PowerShell na Windows na końcu. **Szybka odpowiedź — Jak przekonwertować stronę internetową do Markdown z wiersza poleceń?** Uruchom `curl -sG https://webreaderapi.com/api/v1/read --data-urlencode "url=…"` ze swoim kluczem w nagłówku `Authorization: Bearer`, a następnie przekaż odpowiedź do `jq -r .markdown`. **WebReaderAPI** zwraca główną treść strony jako Markdown wraz z metadanymi. Jedna zwykła strona zużywa 1 kredyt, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## Jak skonfigurować terminal? Zainstaluj curl i jq, które ma już większość systemów Linux i macOS, i wyeksportuj swój klucz raz na sesję. Każdy z poniższych przepisów odczytuje go z `$WEBREADER_API_KEY`, więc klucz nigdy nie pojawia się w historii powłoki jako część polecenia. Użyj `-G` z `--data-urlencode` do zapytań GET: curl sam zakoduje adres strony, co ma znaczenie, bo adresy zawierają własne `?`, `&` i `=`. *Ustaw klucz i zapisz jedną stronę jako plik .md* ```bash export WEBREADER_API_KEY="your-key" curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq -r '.markdown' > compost.md ``` ## Jak sprawdzić, co zwróciło wywołanie i ile kosztowało? Poproś jq o metadane zamiast treści. `final_url` pokazuje, dokąd prowadziły przekierowania, `rendered` mówi, czy użyto przeglądarki, a `credits_used` to koszt wywołania. Jeśli odpowiedź jest błędem, ten sam filtr wypisuje pola `null`; wypisz `.error`, aby odczytać kod i komunikat. *Tylko metadane albo błąd, jeśli wystąpił* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq '.error // {title, final_url, rendered, credits_used, word_count}' ``` ## Jak wylistować linki ze strony? Dodaj `include_links=true` i zamień listę `links` na wiersze rozdzielone tabulatorami. To daje szybką mapę linków wychodzących ze strony, którą możesz posortować, przefiltrować za pomocą grep lub przekazać do zadania wsadowego. *Linki jako tekst i URL, po jednym w wierszu* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/docs/" \ -d include_links=true \ | jq -r '.links[] | "\(.text)\t\(.url)"' | sort -u ``` ## Jak odczytać stronę z JavaScript lub PDF? Dodaj `-d render=true` dla strony, która buduje treść za pomocą JavaScript; kosztuje wtedy 2 kredyty. PDF nie wymaga niczego specjalnego: wyślij jego URL, a tekst wróci w `markdown`. Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron. *Wyrenderowana strona, potem PDF* ```bash curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/app/changelog" -d render=true \ | jq -r '.markdown' > changelog.md curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/files/annual-report.pdf" \ | jq -r '.markdown' > annual-report.md ``` ## Jak uruchomić zadanie wsadowe z powłoki? Wyślij treść JSON ze swoimi URL-ami do `/batch`, zachowaj `job_id`, a potem odczytaj zadanie. Mała pętla czeka, aż zadanie będzie `done`, i wypisuje tytuł lub kod błędu każdej strony. W przypadku długich zadań śledź `next_cursor`, jak pokazano na [stronie batch i crawl](https://webreaderapi.com/pl/docs/crawl/). *Partia trzech URL-i, potem czekanie na wynik* ```bash JOB=$(curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/a", "https://example.com/b", "https://example.com/c"]}' \ | jq -r '.job_id') until [ "$(curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq -r '.status')" = "done" ]; do sleep 5 done curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" \ | jq -r '.results[] | "\(.url)\t\(.title // .error.code)"' ``` ## Jak sprawdzić swoje kredyty? Wywołaj `/credits`; jest bezpłatne. Zwraca `credits_remaining`, `credits_used_today` i Twoje `concurrency_limit`. Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. *Pozostałe kredyty* ```bash curl -s "https://webreaderapi.com/api/v1/credits" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq '.credits_remaining' ``` ## Jaka jest wersja dla PowerShell na Windows? `Invoke-RestMethod` sam parsuje JSON, więc jq nie jest potrzebne. Zbuduj zapytanie za pomocą `[uri]::EscapeDataString`, aby zakodować adres strony, i przekaż klucz w tabeli nagłówków. *PowerShell: zapisz jedną stronę* ```powershell $headers = @{ Authorization = "Bearer $env:WEBREADER_API_KEY" } $target = [uri]::EscapeDataString('https://example.com/guides/compost') $page = Invoke-RestMethod -Uri "https://webreaderapi.com/api/v1/read?url=$target" -Headers $headers $page.markdown | Out-File -Encoding utf8 compost.md "$($page.title): $($page.word_count) words, $($page.credits_used) credit(s)" ``` ## curl: najczęstsze pytania ### Dlaczego mój URL ze znakiem & nie działa? Bo powłoka lub curl go rozdziela. Ujmij cały argument `url=…` w cudzysłowy i przekaż go z `--data-urlencode`, jak w powyższych przepisach; curl zakoduje wtedy `&`, `?` i `=` wewnątrz adresu strony. ### Jak zobaczyć status HTTP błędu? Dodaj `-w '\n%{http_code}\n'`, aby wypisać go po treści, lub `-i`, aby zobaczyć wszystkie nagłówki. `error.code` w treści to stabilna wartość do testowania w skryptach. ### Czy nieudane wywołanie jest płatne? 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ą. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Błędy, odmowy robots.txt i ponowienia > Kody błędów WebReaderAPI: odmowy robots.txt i witryny, przekroczenia limitu czasu i błędy kredytów, które warto ponowić i dlaczego żaden nie jest rozliczany. - URL: https://webreaderapi.com/pl/docs/errors/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Każdy błąd ma status HTTP, stabilny `code` i czytelny `message`. Żaden z nich nie zużywa kredytu. Niektóre warto ponowić; odmowy pochodzące z witryny są ostateczne i nigdy ich nie obchodzimy. **Szybka odpowiedź — Co oznaczają kody błędów WebReaderAPI i które warto ponowić?** Błędy **WebReaderAPI** występują w trzech grupach i żaden nigdy nie jest rozliczany. Problemy z zapytaniem (`invalid_url`, `invalid_api_key`, `insufficient_credits`) wymagają poprawki po Twojej stronie. Decyzje witryny (`blocked_by_robots`, `blocked_by_site_policy`, `target_refused`) są ostateczne. Przejściowe awarie (`fetch_failed`, `fetch_timeout`, `concurrency_limit`) można ponowić z backoffem. Kredyty zaczynają się od 0,07 USD/1K stron, płatne kryptowalutą bez KYC. ## Które kody błędów może zwrócić API? Treść to zawsze `{"error": {"code", "message"}}`, plus `target_status`, gdy odmowa pochodziła z witryny. | HTTP | `code` | Przyczyna | Ponowić? | | --- | --- | --- | --- | | 400 | `invalid_url` | Nie jest to http ani https, adres jest zbyt długi albo to prywatny, lokalny lub chmurowy adres metadanych | Nie: popraw URL | | 400 | `invalid_parameter` | Parametr ma wartość poza swoją listą lub zakresem | Nie: popraw zapytanie | | 401 | `invalid_api_key` | Klucz brakuje, jest błędny lub unieważniony | Nie: sprawdź klucz | | 402 | `insufficient_credits` | Na Twoim saldzie nie ma już kredytów | Po zakupie pakietu | | 403 | `blocked_by_robots` | robots.txt strony nie zezwala na tę stronę dla WebReaderAPI ani dla wszystkich robotów | Nie: ostatecznie | | 403 | `blocked_by_site_policy` | Strona deklaruje `Content-Signal: ai-input=no` | Nie: ostatecznie | | 422 | `unsupported_content` | Typ, którego nie odczytujemy (wideo, archiwum), albo plik zbyt duży | Nie | | 429 | `concurrency_limit` | Zbyt wiele Twoich zapytań działa jednocześnie | Tak, z backoffem | | 502 | `target_refused` | Strona odmówiła: 403, 429, strona wyzwania lub ściana logowania; jej status jest w `target_status` | Nie: ostatecznie | | 502 | `fetch_failed` | Błąd DNS, TLS lub połączenia albo strona odpowiedziała 404 lub 410 | Raz lub dwa razy, z backoffem | | 504 | `fetch_timeout` | Strona nie odpowiedziała w ciągu `timeout` | Tak, z backoffem lub dłuższym timeoutem | ## Dlaczego robots.txt i odmowy strony są ostateczne? Bo to decyzja właściciela strony, a WebReaderAPI jest zbudowany tak, by ją respektować. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. Gdy strona odrzuca zapytanie w inny sposób — przez 403, 429, stronę wyzwania lub formularz logowania — otrzymujesz `target_refused` i własny status strony w `target_status`. 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. Ponowna próba tego samego URL-a minutę później zwykle da tę samą odpowiedź, więc traktuj te kody jako wynik, a nie błąd: zapisz je w logach i idź dalej. ## Jak sprawdzić, dlaczego strona została odrzucona? Otwórz `/robots.txt` strony i poszukaj grupy, która wymienia `WebReaderAPI`, albo grupy `*`, która dotyczy wszystkich robotów. Linia `Disallow` pasująca do ścieżki wyjaśnia `blocked_by_robots`. Linia taka jak `Content-Signal: ai-input=no` wyjaśnia `blocked_by_site_policy`. Trzymamy kopię każdego robots.txt przez maksymalnie 24 godziny. Jeśli strona właśnie otworzyła sekcję dla robotów, zmiana może zacząć obowiązywać dopiero po upływie dnia. Właściciele stron mogą przeczytać, jak zachowuje się nasz crawler i jak go dozwolić lub zablokować, na [naszej stronie o crawlerze](https://webreaderapi.com/pl/bot/). ## Jak ponawiać przejściowe błędy? Ponawiaj tylko `concurrency_limit`, `fetch_timeout` i raz lub dwa razy `fetch_failed`. Przed każdą nową próbą odczekaj i za każdym razem podwajaj czas oczekiwania, z odrobiną losowego jittera, żeby równolegli workerzy nie ponawiali jednocześnie. Zatrzymaj się po 4 lub 5 próbach. W przypadku `concurrency_limit` lepszym rozwiązaniem jest wysyłanie mniejszej liczby zapytań naraz: Każde konto ma limit liczby stron czytanych jednocześnie; Twój dashboard go pokazuje, a support może go podnieść. W przypadku `fetch_timeout` zwiększ `timeout` do 60 sekund, zanim ponowisz próbę dla wolnej strony. Ponowienia nic nie kosztują, bo nieudana próba nigdy nie jest rozliczana. *Python: ponawiaj tylko błędy, które mogą się zmienić* ```python import os import random import time import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} RETRY = {"concurrency_limit", "fetch_timeout", "fetch_failed"} FINAL = {"blocked_by_robots", "blocked_by_site_policy", "target_refused", "unsupported_content"} def read_page(url, attempts=5, **options): wait = 1.0 for attempt in range(1, attempts + 1): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code == 200: return resp.json() error = resp.json().get("error", {}) code = error.get("code", "unknown") if code in FINAL: return {"url": url, "skipped": code, "target_status": error.get("target_status")} if code not in RETRY or attempt == attempts or (code == "fetch_failed" and attempt >= 3): raise RuntimeError(f"{code}: {error.get('message')}") time.sleep(wait + random.uniform(0, wait / 2)) wait = min(wait * 2, 30) raise RuntimeError("unreachable") if __name__ == "__main__": print(read_page("https://example.com/blog/first-post", max_chars=20000).get("title")) ``` *Node.js: ta sama zasada z wykładniczym backoffem* ```javascript const RETRY = new Set(['concurrency_limit', 'fetch_timeout', 'fetch_failed']); const FINAL = new Set(['blocked_by_robots', 'blocked_by_site_policy', 'target_refused', 'unsupported_content']); const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); export async function readPage(url, options = {}, attempts = 5) { let wait = 1000; for (let attempt = 1; attempt <= attempts; attempt++) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const body = await res.json(); if (res.ok) return body; const code = body.error?.code ?? 'unknown'; if (FINAL.has(code)) return { url, skipped: code, target_status: body.error.target_status }; if (!RETRY.has(code) || attempt === attempts) throw new Error(`${code}: ${body.error?.message}`); await sleep(wait + Math.random() * (wait / 2)); wait = Math.min(wait * 2, 30000); } } ``` ## Co z błędami wewnątrz batcha lub crawlu? Zadanie nie zatrzymuje się, bo jedna strona zawiodła. Ta strona pojawia się w `results` jako `{url, error}` z tymi samymi kodami co powyżej i nic nie kosztuje. Crawling, który napotka `blocked_by_robots` w sekcji, po prostu czyta resztę witryny. Na końcu zadania policz kody błędów. Wiele `target_refused` w jednej witrynie oznacza, że witryna nie akceptuje zautomatyzowanych czytników; wiele `fetch_timeout` oznacza, że jest wolna, a dłuższy `timeout` w opcjach zadania może pomóc. ## Błędy: najczęstsze pytania ### Czy płacę za stronę blokowaną przez robots.txt? 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ą. To samo dotyczy każdego innego błędu na tej stronie. ### Czy możecie odczytać stronę, która blokuje wasz crawler, jeśli o to poproszę? Nie. Respektujemy wybór właściciela witryny, a polityka jest taka sama dla każdego klienta. Jeśli jesteś właścicielem witryny, dodaj regułę dla `WebReaderAPI` w swoim robots.txt; [strona crawlera](https://webreaderapi.com/pl/bot/) pokazuje jak. ### Dlaczego dostaję fetch_failed dla strony, która istnieje? Witryna mogła być niedostępna, wolno akceptować połączenie TLS lub zwracać 404 zautomatyzowanym klientom. Ponów próbę raz lub dwa z backoffem. Jeśli nadal się nie udaje, sprawdź adres w przeglądarce. ### Co mój agent powinien powiedzieć użytkownikowi po odmowie? Coś prostego, np. że witryna nie pozwala na zautomatyzowane odczytywanie tej strony. Następnie pozwól modelowi skorzystać z innych źródeł. Zwrócenie kodu błędu jako wyniku narzędzia wystarcza większości modeli. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # LangChain i LlamaIndex: loader stron internetowych i narzędzie read_url > Loader stron LangChain i LlamaIndex: read_url, loader dokumentów i mały indeks RAG z crawlingu w Pythonie. Bez KYC, płatność kryptowalutą. - URL: https://webreaderapi.com/pl/docs/langchain/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Dwa sposoby użycia API w stosie AI w Pythonie: ładowanie stron jako dokumentów do wyszukiwania lub danie agentowi narzędzia `read_url`. Te same 20 linii kleju obsługują LangChain i LlamaIndex. **Szybka odpowiedź — Jak załadować strony internetowe do LangChain lub LlamaIndex jako czysty Markdown?** Wywołaj endpoint `/read` **WebReaderAPI** i opakuj każdą odpowiedź w `Document`: Markdown jako zawartość, `final_url` i tytuł jako metadane. Dla agentów udostępnij to samo wywołanie jako narzędzie `read_url`. Strony kosztują 1 kredyt każda, 2 z przeglądarką, od 0,07 USD/1K stron na dzień października 2026. Nie potrzebujesz żadnego naszego pakietu. Bez KYC; płatność kryptowalutą. ## Dlaczego dokumenty Markdown, a nie surowy HTML? Bo wyszukiwanie działa na tekście, a Markdown zachowuje strukturę, która ma znaczenie, i odrzuca resztę. Nagłówki zostają, więc splitter może ciąć na zmianach tematu. Listy i tabele zostają, więc kroki i specyfikacje trzymają się razem. Nawigacja, bannery cookies i reklamy znikają, więc nie zanieczyszczają Twoich embeddingów i nie marnują tokenów. Metadane pochodzą z tego samego wywołania: `final_url` jako źródło do cytowania, `title`, `published_at` i `language` do filtrowania. *reader.py: wspólny helper (zapisz go obok swojego kodu)* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} class PageError(Exception): pass def read_page(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) body = resp.json() if resp.status_code != 200: raise PageError(body["error"]["code"]) return body ``` ## Jak zbudować loader dokumentów LangChain? Zamień każdą stronę w `langchain_core.documents.Document`, a następnie podziel ją według nagłówków za pomocą `MarkdownHeaderTextSplitter` z pakietu `langchain-text-splitters`. Każdy fragment zachowuje ścieżkę nagłówków w metadanych, a Ty dodajesz URL źródła, aby każda odpowiedź mogła wskazać swoją stronę. Pominięte strony, takie jak te odrzucone przez robots.txt, zgłaszają `PageError` z kodem; zaloguj je i kontynuuj. *LangChain: ładowanie i dzielenie stron* ```python from langchain_core.documents import Document from langchain_text_splitters import MarkdownHeaderTextSplitter from reader import PageError, read_page splitter = MarkdownHeaderTextSplitter(headers_to_split_on=[("#", "h1"), ("##", "h2"), ("###", "h3")]) def load_pages(urls): chunks = [] for url in urls: try: page = read_page(url) except PageError as exc: print("skipped", url, exc) continue for part in splitter.split_text(page["markdown"]): part.metadata.update({"source": page["final_url"], "title": page.get("title", "")}) chunks.append(part) return chunks docs = load_pages(["https://example.com/docs/install", "https://example.com/docs/configure"]) print(len(docs), "chunks", isinstance(docs[0], Document) if docs else "") ``` ## Jak dać agentowi LangChain narzędzie read_url? Udekoruj funkcję za pomocą `@tool` z `langchain_core.tools`. Docstring staje się opisem narzędzia, który czyta model, więc napisz, co narzędzie zwraca i kiedy go używać. Zwracaj czysty tekst: linię tytułu, źródło i Markdown, przycięty za pomocą `max_chars` do rozmiaru Twojego modelu. Powiąż narzędzie z dowolnym modelem czatu, który obsługuje tool calling, lub przekaż je do konstruktora agenta. Model wywołuje wtedy `read_url` z URL-em z rozmowy lub z wyniku wyszukiwania. *LangChain: narzędzie read_url* ```python import os from langchain.chat_models import init_chat_model from langchain_core.tools import tool from reader import PageError, read_page @tool def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown, with its title and source URL.""" try: page = read_page(url, max_chars=max_chars) except PageError as exc: return "Could not read the page: " + str(exc) return "# " + (page.get("title") or url) + "\nSource: " + page["final_url"] + "\n\n" + page["markdown"] model = init_chat_model(os.environ.get("CHAT_MODEL", "openai:gpt-4.1-mini")).bind_tools([read_url]) reply = model.invoke("Summarise https://example.com/blog/first-post in three bullet points.") print(reply.tool_calls) ``` ## Jak zrobić to samo w LlamaIndex? LlamaIndex używa własnej klasy `Document` z `text` i `metadata` oraz `FunctionTool.from_defaults` do zamiany funkcji w narzędzie. Helper pozostaje ten sam. Zbuduj indeks z dokumentów za pomocą `VectorStoreIndex.from_documents`, który używa modelu embeddingów wskazanego w ustawieniach LlamaIndex. *LlamaIndex: indeks crawlingu i narzędzie read_url* ```python import os import time import requests from llama_index.core import Document, VectorStoreIndex from llama_index.core.tools import FunctionTool from reader import HEADERS, PageError, read_page def crawl_pages(start_url, limit=200): job = requests.post("https://webreaderapi.com/api/v1/crawl", headers=HEADERS, json={"url": start_url, "limit": limit}, timeout=30).json() pages, cursor = [], None while True: params = {"cursor": cursor} if cursor else {} res = requests.get("https://webreaderapi.com/api/v1/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=30).json() pages += [r for r in res["results"] if "error" not in r] cursor = res.get("next_cursor") if not cursor and res["status"] == "done": return pages if not cursor: time.sleep(5) pages = crawl_pages("https://docs.example.com/") docs = [Document(text=p["markdown"], metadata={"source": p["final_url"], "title": p.get("title", "")}) for p in pages] index = VectorStoreIndex.from_documents(docs) print(index.as_query_engine().query("How do I install the product?")) def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown.""" try: return read_page(url, max_chars=max_chars)["markdown"] except PageError as exc: return "Could not read the page: " + str(exc) read_tool = FunctionTool.from_defaults(fn=read_url, name="read_url") print(os.environ.get("CHAT_MODEL", "set CHAT_MODEL for your agent"), read_tool.metadata.name) ``` ## Jak duży crawling potrzebuje mały indeks RAG? Mniejszy, niż myślisz. Dokumentacja produktu to często kilkaset stron, a crawling z `include_paths` ustawionym na sekcję dokumentacji czyta tylko je. Przy 1 kredycie za stronę witryna z dokumentacją licząca 300 stron kosztuje około 300 kredytów; 10 000 stron (3,75 USD) odświeża ją wiele razy. Ponawiaj crawling zgodnie z harmonogramem dopasowanym do częstotliwości zmian źródła i porównuj `final_url` i `word_count` z poprzednim przebiegiem, aby ponownie osadzić tylko zmienione strony. Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. ## LangChain i LlamaIndex: najczęstsze pytania ### Czy istnieje pakiet WebReaderAPI dla LangChain lub LlamaIndex? Nie. Helper i narzędzie na tej stronie to cała integracja, więc możesz je dowolnie dostosować. WebReaderAPI to zwykłe API HTTPS, które może wywołać dowolny klient HTTP w Pythonie. ### Której wersji LangChain to wymaga? Dowolnej niedawnej z `langchain_core`, `langchain-text-splitters` i `init_chat_model`. Dekorator narzędzia i klasa `Document` są stabilne w ostatnich wydaniach. ### Jak uniknąć ponownego odczytu stron, które się nie zmieniły? Zapisuj `final_url`, `word_count` i datę każdego odczytu. Odczytuj ponownie zgodnie z harmonogramem i ponownie osadzaj stronę tylko wtedy, gdy zmieni się jej liczba słów lub hash treści. Każdy ponowny odczyt kosztuje kredyt, więc wybierz rytm dopasowany do źródła. ### Co jeśli niektóre strony są odrzucane? Zgłaszają `PageError` z kodem takim jak `blocked_by_robots` i nic nie kosztują. 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. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Serwer MCP do czytania stron internetowych dla Claude, Cursor i innych klientów MCP > Serwer MCP do czytania stron dla Claude Desktop i klientów: narzędzie read_url w Pythonie w 40 liniach zwraca czysty Markdown. Bez KYC, płatność kryptowalutą. - URL: https://webreaderapi.com/pl/docs/mcp/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Daj dowolnemu klientowi MCP narzędzie `read_url`, które zamienia link w czysty Markdown. Serwer to jeden krótki plik Pythona, który uruchamiasz na własnej maszynie; Twój klucz API pozostaje w jego środowisku. **Szybka odpowiedź — Jak dodać czytnik stron internetowych do Claude Desktop lub Cursor przez MCP?** Uruchom mały serwer MCP, który udostępnia narzędzie `read_url` wywołujące **WebReaderAPI**, a następnie zarejestruj go w ustawieniach MCP swojego klienta, umieszczając klucz w `env`. Model może wtedy czytać dowolną publiczną stronę jako czysty Markdown. Każde odczytanie strony kosztuje 1 kredyt, a 2 z przeglądarką, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## Serwer MCP w skrócie | Atrybut | Wartość | | --- | --- | | Język | Python 3.10+, z pakietami `mcp` i `httpx` | | Transport | stdio: klient uruchamia serwer jako lokalny proces | | Narzędzie | `read_url(url, max_chars)` → tytuł, źródłowy URL, a następnie Markdown strony | | Dlaczego nie web_fetch | Claude Code i OpenClaw mają już wbudowane narzędzie o tej nazwie | | Klucz | Odczytywany z `WEBREADER_API_KEY` w środowisku serwera | | 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ą | ## Dlaczego narzędzie read_url, a nie web_fetch? Bo dwa narzędzia o tej samej nazwie mylą zarówno klienta, jak i model. Claude Code i OpenClaw zawierają już narzędzie o nazwie `web_fetch`. Odmienna nazwa, `read_url`, i jasny opis pozwalają modelowi wybrać nasze narzędzie, gdy potrzebuje głównej treści strony, w tym stron z JavaScriptem i PDF-ów. Narzędzie zwraca tekst, nie JSON. Modele lepiej radzą sobie z krótkim nagłówkiem i Markdownem niż z zagnieżdżonymi polami, a nagłówek trzyma źródłowy URL w zasięgu wzroku, dzięki czemu odpowiedź może go zacytować. *webreader_mcp.py* ```python import os import httpx from mcp.server.fastmcp import FastMCP API = "https://webreaderapi.com/api/v1/read" KEY = os.environ["WEBREADER_API_KEY"] mcp = FastMCP("webreaderapi") @mcp.tool() def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown. Use it when the user gives a link or when a page must be read to answer. max_chars caps the length of the returned text (1,000 to 500,000). """ params = {"url": url, "max_chars": max(1000, min(int(max_chars), 500000))} try: resp = httpx.get(API, params=params, headers={"Authorization": "Bearer " + KEY}, timeout=75) except httpx.HTTPError as exc: return "Network error while reading the page: " + str(exc) body = resp.json() if resp.status_code != 200: err = body.get("error", {}) return "Could not read the page: " + err.get("code", str(resp.status_code)) + ". " + err.get("message", "") title = body.get("title") or url return "# " + title + "\nSource: " + body.get("final_url", url) + "\n\n" + body.get("markdown", "") if __name__ == "__main__": mcp.run() ``` ## Jak zainstalować i przetestować serwer? Utwórz środowisko wirtualne, zainstaluj `mcp` i `httpx`, i zapisz plik powyżej. Pakiet `mcp` to oficjalny Python SDK Model Context Protocol; `FastMCP` zamienia otypowaną funkcję Pythona w narzędzie, używając docstringa jako jego opisu. Zanim podłączysz go do klienta, uruchom plik raz z terminala z ustawionym kluczem. Czeka w ciszy na klienta na stdin, co oznacza, że wystartował poprawnie; zatrzymaj go przez Ctrl+C. *Instalacja* ```bash python -m venv .venv . .venv/bin/activate pip install "mcp[cli]" httpx WEBREADER_API_KEY="your-key" python webreader_mcp.py ``` ## Jak zarejestrować go w Claude Desktop? Otwórz ustawienia deweloperskie Claude Desktop, edytuj `claude_desktop_config.json` i dodaj wpis w `mcpServers`. Użyj ścieżek bezwzględnych: Pythona ze swojego środowiska wirtualnego i pliku serwera. Umieść klucz w `env`, aby nigdy nie pojawił się w argumentach narzędzia ani w rozmowie. Uruchom ponownie Claude Desktop, a `read_url` pojawi się na liście narzędzi. Cursor czyta tę samą strukturę `mcpServers` ze swojego własnego pliku konfiguracji MCP, a Claude Code może zarejestrować to samo polecenie swoim poleceniem `claude mcp add`. W przypadku OpenClaw zobacz [stronę OpenClaw](https://webreaderapi.com/pl/docs/openclaw/). *claude_desktop_config.json* ```json { "mcpServers": { "webreaderapi": { "command": "/home/you/webreader/.venv/bin/python", "args": ["/home/you/webreader/webreader_mcp.py"], "env": { "WEBREADER_API_KEY": "your-key" } } } } ``` ## Jak utrzymać strony w kontekście modelu? Zmniejsz `max_chars`. Domyślne 20 000 znaków wystarcza na większość artykułów i nie pozwala długiej stronie zapełnić kontekstu. Model czytający kilka stron w jednej odpowiedzi radzi sobie lepiej z 8 000 do 12 000 znaków na stronę. Poproś model, aby czytał strony, których potrzebuje, a nie każdy link, który widzi. Krótkie zdanie w instrukcjach projektu, takie jak „czytaj najwyżej trzy strony na pytanie”, kontroluje zarówno koszt, jak i kontekst. ## Co się dzieje, gdy witryna odmówi odczytu? Narzędzie zwraca krótki komunikat z kodem błędu, takim jak `blocked_by_robots` lub `target_refused`, i nic nie jest naliczane. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. 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. Model może wtedy powiedzieć, że strona nie jest dostępna dla zautomatyzowanych czytników, i użyć innego źródła. ## Serwer MCP: najczęstsze pytania ### Czy istnieje oficjalny pakiet MCP WebReaderAPI? Nie. Plik na tej stronie to cała integracja: 40 linii, które możesz przeczytać, zmienić i uruchomić samodzielnie. Niczego nie trzeba instalować od nas, a Twój klucz nie opuszcza Twojej maszyny poza wywołaniami naszego API. ### Czy model może przeszukiwać internet za pomocą tego serwera? Nie. `read_url` czyta stronę, której adres Ty lub model już macie. Połącz go z dowolnym narzędziem wyszukiwania oferowanym przez klienta; model wyszukuje, a potem czyta strony, które mają znaczenie. ### Ile kosztuje uruchomienie asystenta z tym serwerem? Jeden kredyt za odczytanie strony, dwa, gdy potrzebna jest przeglądarka. Asystent czytający 50 stron dziennie zużywa około 1500 kredytów miesięcznie, a 10 000 stron (3,75 USD) pokrywa to na około sześć miesięcy. ### Czy serwer działa offline? Nie. Przy każdej stronie wywołuje `https://webreaderapi.com/api/v1/read`, więc potrzebuje dostępu do internetu i ważnego klucza. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Czytaj strony internetowe w agentach AI n8n z WebReaderAPI > Czytaj strony w agentach AI n8n: HTTP Request zamienia URL w czysty Markdown, a workflow działa z harmonogramem. Bez KYC, płatność kryptowalutą. - URL: https://webreaderapi.com/pl/docs/n8n/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Węzeł HTTP Request w n8n może działać jako narzędzie dla węzła AI Agent. Wskaż mu `/read`, pozwól modelowi wypełnić URL, a agent odczyta dowolną publiczną stronę jako czysty Markdown, bez instalowania community node. **Szybka odpowiedź — Jak pozwolić agentowi AI w n8n czytać strony internetowe?** Podłącz węzeł HTTP Request do AI Agent w n8n jako narzędzie, ustaw metodę na `GET https://webreaderapi.com/api/v1/read` z poświadczeniem Header Auth zawierającym Twój klucz **WebReaderAPI** i pozwól modelowi zdefiniować parametr `url`. Włącz Optimize Response, aby zachować tylko `title`, `final_url` i `markdown`. Każda strona kosztuje 1 kredyt, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## Których ustawień HTTP Request mam użyć? Nazwy opcji zgodne z dokumentacją węzła HTTP Request w n8n, sprawdzoną 2026-10-22. | Ustawienie | Wartość | | --- | --- | | Umiejscowienie | Podłączone do węzła **AI Agent** jako narzędzie | | Method | `GET` | | URL | `https://webreaderapi.com/api/v1/read` | | Uwierzytelnianie | Generic credentials → **Header Auth** | | Poświadczenie Header Auth | Name `Authorization`, Value `Bearer `, a po nim Twój klucz API | | Send Query Parameters | Włączone, **Using Fields Below** | | Parametr `url` | Zdefiniowany przez model (patrz niżej) | | Parametr `max_chars` | Stała wartość, np. `15000` | | Optimize Response | Włączone · typ odpowiedzi **JSON** · Include Fields **Selected**: `title`, `final_url`, `markdown` | ## Dlaczego użyć węzła HTTP Request jako narzędzia? Bo robi już wszystko, czego potrzebuje to API: jedno zapytanie GET, jeden nagłówek i dwa parametry zapytania. n8n dokumentuje, że węzeł HTTP Request może działać jako zwykły węzeł lub być podłączony do agenta AI jako narzędzie, oraz że niektóre opcje istnieją tylko w formie narzędzia. Nie ma niczego naszego do instalowania ani aktualizowania, a klucz znajduje się w magazynie poświadczeń n8n, a nie w workflow. Daj n8n własny klucz, żeby jego użycie było widoczne osobno od Twoich innych skryptów i żebyś mógł go unieważnić samodzielnie. Twórz wiele kluczy API, na przykład po jednym na agenta lub projekt, i unieważniaj dowolny z nich ze swojego dashboardu. ## Jak model wybiera URL do odczytu? Pozwól modelowi zdefiniować parametr `url`. n8n pokazuje przycisk obok kwalifikujących się pól parametrów, który przekazuje wartość modelowi, a wyrażenie możesz też napisać samodzielnie funkcją `$fromAI()` w n8n. Przyjmuje ona klucz, opis, typ i opcjonalną wartość domyślną, na przykład klucz `url`, opis "The http or https address of the page to read" i typ `string`. n8n dokumentuje, że `$fromAI()` działa tylko w narzędziach podłączonych do węzła AI Agent. Opis narzędzia napisz też prostymi słowami, np. "Reads a public web page and returns its main content as Markdown", żeby agent wiedział, kiedy je wywołać. ## Po co włączać Optimize Response? Bo wszystko, co zwraca narzędzie, trafia do kontekstu modelu. Optimize Response to opcja dostępna tylko dla narzędzi, która ogranicza dane przekazywane modelowi. Przy typie odpowiedzi JSON możesz uwzględnić tylko wybrane pola; zachowaj `title`, `final_url` i `markdown`, a resztę odrzuć. Ogranicz długość po naszej stronie parametrem `max_chars`, który przycina Markdown, zanim opuści API. Typy odpowiedzi HTML i Text węzła mają własną opcję Truncate Response, ale przy naszej odpowiedzi JSON `max_chars` to prostsza kontrola. ## Jak użyć API w workflow z harmonogramem? Użyj węzła HTTP Request jako zwykłego węzła, nie narzędzia, za Schedule Trigger. Podaj mu stały `url`, np. changelog albo stronę z cennikiem, którą śledzisz, i przekaż pole `markdown` do następnego węzła: pliku, bazy danych, wiadomości na czacie lub porównania z poprzednim uruchomieniem. Każde uruchomienie czyta jedną stronę na URL. Obserwowanie 20 stron raz dziennie zużywa około 600 kredytów miesięcznie dla stron bez przeglądarki, więc 10 000 stron (3,75 USD) wystarczy na ponad rok. Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. ## Co się dzieje, gdy witryna odmówi odczytu? Węzeł otrzymuje odpowiedź z błędem o kodzie takim jak `blocked_by_robots` lub `target_refused` i nic nie jest rozliczane. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. W agencie pozwól narzędziu zwrócić błąd, żeby model mógł go wyjaśnić lub spróbować innego źródła; w workflow z harmonogramem kieruj błędy do gałęzi, która je loguje. [Strona błędów](https://webreaderapi.com/pl/docs/errors/) wymienia każdy kod. ## Czy mogę przetestować zapytanie przed zbudowaniem workflow? Wykonaj to samo zapytanie w terminalu za pomocą curl, jak pokazano w [przepisach curl](https://webreaderapi.com/pl/docs/curl/). Jeśli tam działa, a w n8n nie, przyczyna leży w ustawieniach węzła, najczęściej w wartości poświadczenia bez prefiksu `Bearer ` lub w pustym parametrze `url`. ## n8n: najczęstsze pytania ### Czy potrzebuję community node dla WebReaderAPI? Nie. Wbudowany węzeł HTTP Request wystarczy, jako narzędzie dla AI Agent lub jako zwykły węzeł w dowolnym workflow. ### Czy agent może czytać strony JavaScript lub PDF-y? Tak. API decyduje, kiedy potrzebna jest przeglądarka (`render=auto`) i odczytuje PDF-y jako tekst. Wyrenderowana strona zużywa 2 kredyty; Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron. ### Jak powstrzymać agenta przed czytaniem zbyt wielu stron? Napisz w wiadomości systemowej agenta, ile stron może odczytać, i ustaw `max_chars` na rozsądną wartość. Każdy odczyt to jedno wywołanie narzędzia, więc każdy limit na wywołania narzędzi agenta ogranicza też liczbę stron. ### Jak zapłacić za kredyty? Doładuj saldo z 25 USD w BTC, USDT, USDC, ETH, SOL, LTC, a następnie kup pack. WebReaderAPI nie wymaga dokumentu tożsamości, selfie ani dokumentów firmowych. ## Źródła 1. [Węzeł HTTP Request](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) — n8n docs (read 2026-10-22) 2. [Dane uwierzytelniające HTTP Request](https://docs.n8n.io/integrations/builtin/credentials/httprequest/) — n8n docs (read 2026-10-22) 3. [Węzeł AI Agent](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/) — n8n docs (read 2026-10-22) 4. [Pozwól AI określić parametry narzędzia przez $fromAI()](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/) — n8n docs (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Konwersja strony internetowej do Markdown w Node.js > Konwertuj strony do Markdown w Node.js przez natywny fetch, z pulą współbieżności i pętlą odpytywania. Od 0,07 USD/1K stron, bez KYC, płatność kryptowalutą. - URL: https://webreaderapi.com/pl/docs/node/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Node.js 18 i nowsze mają wbudowany `fetch`, więc nie potrzebujesz żadnej zależności. Trzy przepisy: odczyt jednej strony, odczyt listy z małą pulą współbieżności i śledzenie zadania crawlingu aż do jego zakończenia. **Szybka odpowiedź — Jak przekonwertować stronę internetową do Markdown w Node.js?** Użyj wbudowanego `fetch` w Node.js 18+: wywołaj `https://webreaderapi.com/api/v1/read?url=…` z kluczem w nagłówku `Authorization` i odczytaj `markdown` z odpowiedzi JSON. **WebReaderAPI** zwraca główną treść strony wraz z tytułem, autorem i datą. Jedna strona kosztuje 1 kredyt, 2 z przeglądarką, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## Czego potrzebuję? Node.js 18 lub nowszy, dla globalnego `fetch`, oraz klucz API w zmiennej środowiskowej `WEBREADER_API_KEY`. Przykłady to moduły ES: zapisz je z rozszerzeniem `.mjs` lub ustaw `"type": "module"` w swoim `package.json`, aby działał top-level `await`. Komentarze JSDoc opisują kształt odpowiedzi, więc edytory takie jak VS Code dają autouzupełnianie bez etapu kompilacji TypeScript. *read.mjs: jedna strona* ```javascript /** * @typedef {Object} Page * @property {string} url * @property {string} final_url * @property {number} status_code * @property {boolean} rendered * @property {number} credits_used * @property {string} [title] * @property {string} [author] * @property {string} [published_at] * @property {string} [language] * @property {string} [markdown] * @property {number} word_count */ /** @returns {Promise} */ export async function readPage(url, options = {}) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, signal: AbortSignal.timeout(75_000), }); const body = await res.json(); if (!res.ok) throw Object.assign(new Error(body.error.message), { code: body.error.code }); return body; } const page = await readPage('https://example.com/docs/getting-started', { max_chars: '20000' }); console.log(page.title, page.word_count, 'words,', page.credits_used, 'credit(s)'); ``` ## Jak odczytać listę URL-i bez przekraczania limitu? Uruchom stałą liczbę workerów, które pobierają URL-e ze wspólnej kolejki. To prostsze niż `Promise.all` na całej liście, które uruchomiłoby wszystkie zapytania naraz i przekroczyło `429 concurrency_limit`. Każde konto ma limit liczby stron czytanych jednocześnie; Twój dashboard go pokazuje, a support może go podnieść. Poniższa pula trzyma błędy obok wyników, więc jedna odrzucona strona nie zatrzymuje przebiegu. Odrzucenia takie jak `blocked_by_robots` są ostateczne i bezpłatne; policz je i idź dalej. *pool.mjs: lista URL-i, po 8 naraz* ```javascript import { readPage } from './read.mjs'; export async function readAll(urls, workers = 8) { const queue = [...urls]; const results = []; async function worker() { while (queue.length) { const url = queue.shift(); try { const page = await readPage(url, { max_chars: '50000' }); results.push({ url, page }); } catch (err) { results.push({ url, error: err.code ?? err.name }); } } } await Promise.all(Array.from({ length: workers }, worker)); return results; } const urls = Array.from({ length: 30 }, (_, i) => `https://example.com/blog/post-${i + 1}`); for (const r of await readAll(urls)) console.log(r.url, '->', r.error ?? r.page.title); ``` ## Jak śledzić zadanie crawlingu w Node.js? Uruchom zadanie przez `POST https://webreaderapi.com/api/v1/crawl`, a następnie odczytuj `https://webreaderapi.com/api/v1/jobs/{job_id}` w pętli. Przekazuj `cursor` za każdym razem, gdy wróci `next_cursor`; gdy nie ma kursora, a status to `done`, zadanie jest zakończone. Odczekaj między pustymi odpytaniami i podwajaj czas oczekiwania aż do 30 sekund, ponieważ crawling, który respektuje Crawl-delay witryny, może być wolny. [Strona batch i crawl](https://webreaderapi.com/pl/docs/crawl/) opisuje, jak crawling wybiera strony i jak `limit` ogranicza to, co odczytuje. *crawl.mjs: uruchom crawling i zbierz każdą stronę* ```javascript const headers = { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }; const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); const start = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 300, include_paths: ['/docs/*'] }), }); const { job_id } = await start.json(); const pages = []; let cursor = ''; let wait = 2000; for (;;) { const url = `https://webreaderapi.com/api/v1/jobs/${job_id}${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ''}`; const job = await (await fetch(url, { headers })).json(); pages.push(...job.results.filter((r) => !r.error)); if (job.next_cursor) { cursor = job.next_cursor; wait = 2000; continue; } if (job.status === 'done') break; await sleep(wait); wait = Math.min(wait * 2, 30000); } console.log(pages.length, 'pages read, job', job_id); ``` ## Jak przekazać wynik do modelu? Wyślij Markdown, a nie cały JSON. Pole `markdown` to treść, którą powinien czytać model; metadane lepiej zachować do cytowań. Poprzedź ją tytułem i `final_url`, aby model mógł podać źródło, i utrzymuj `max_chars` w rozmiarze mieszczącym się w kontekście modelu, np. 20 000 znaków na stronę. [Strona OpenAI function calling](https://webreaderapi.com/pl/docs/openai/) pokazuje pełną pętlę narzędzia w Pythonie; ta sama funkcja `readPage` powyżej może służyć jako treść narzędzia w agencie Node.js. ## Node.js: najczęstsze pytania ### Czy to działa w Deno, Bun lub w przeglądarce? Deno i Bun obsługują ten sam `fetch` i moduły ES. Nie wywołuj API ze strony przeglądarki: klucz byłby widoczny dla każdego odwiedzającego. Wywołuj je ze swojego serwera. ### Czy jest pakiet npm? Nie. Funkcje na tej stronie to cała integracja. WebReaderAPI to zwykły HTTPS i JSON, więc zachowujesz kontrolę nad ponowieniami, timeoutami i logowaniem. ### Jak obsłużyć 429 concurrency_limit? Zmniejsz liczbę workerów lub ponów po krótkim oczekiwaniu, które za każdym razem się podwaja. Błąd 429 nic nie kosztuje, a [strona błędów](https://webreaderapi.com/pl/docs/errors/) ma gotową funkcję backoffu. ### Ile kosztuje odczyt 10 000 stron? Około 10 000 kredytów dla zwykłych stron, więcej, jeśli część wymaga przeglądarki. 10 000 stron kosztują 3,75 USD; Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # OpenAI function calling: narzędzie read_url dla Twojego modelu > OpenAI function calling z narzędziem read_url: schemat JSON i pętla w Pythonie, która zamienia linki w czysty Markdown dla modelu. Bez KYC, płatność krypto. - URL: https://webreaderapi.com/pl/docs/openai/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Opisz jedną funkcję, `read_url`, i uruchom ją, gdy model o to poprosi. Model wybiera, które strony czytać; Twój kod wywołuje API i zwraca Markdown. Ten sam schemat działa z innymi modelami, które obsługują tool calling. **Szybka odpowiedź — Jak pozwolić modelowi OpenAI czytać strony internetowe za pomocą function calling?** Zadeklaruj funkcję `read_url` na liście `tools`, a następnie uruchom pętlę: gdy model zwróci tool call, wywołaj endpoint `/read` w **WebReaderAPI** z adresem URL i odeślij Markdown jako wiadomość `tool`. Każda strona kosztuje 1 kredyt, 2 z przeglądarką, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## Jak wygląda schemat read_url? Wystarczą dwa parametry: `url` do odczytania, wymagany, oraz opcjonalny `max_chars`, który pozwala modelowi skrócić długą stronę. Opis jest najważniejszą częścią: mówi modelowi, co zwraca narzędzie i kiedy go użyć. Trzymaj go rzeczowo i krótko. Nazywamy narzędzie `read_url`, a nie `web_fetch`, żeby uniknąć kolizji z narzędziami, które niektóre środowiska uruchomieniowe agentów już udostępniają pod tą nazwą. *Definicja narzędzia* ```json { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL. Use it when the user gives a link or when a page must be read to answer.", "parameters": { "type": "object", "properties": { "url": { "type": "string", "description": "The http or https address of the page." }, "max_chars": { "type": "integer", "description": "Most characters to return, 1000 to 500000. Default 20000." } }, "required": ["url"], "additionalProperties": false } } } ``` ## Jak działa pętla tool calling? Wyślij rozmowę z listą `tools`. Jeśli odpowiedź zawiera tool calls, uruchom każde z nich, dołącz wynik jako wiadomość z rolą `tool` i pasującym `tool_call_id`, a następnie ponownie zapytaj model. Gdy odpowiedź wraca bez tool call, jest to odpowiedź końcowa. Ogranicz liczbę rund. Trzy lub cztery w zupełności wystarczą na pytanie o kilka stron, a limit chroni Cię przed modelem, który wciąż prosi o więcej. *Python: pełna pętla z pakietem openai* ```python import json import os import requests from openai import OpenAI READ_URL = { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL.", "parameters": { "type": "object", "properties": { "url": {"type": "string", "description": "The http or https address of the page."}, "max_chars": {"type": "integer", "description": "Most characters to return. Default 20000."}, }, "required": ["url"], "additionalProperties": False, }, }, } def read_url(url, max_chars=20000): resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "max_chars": max_chars}, timeout=75, ) body = resp.json() if resp.status_code != 200: return "Could not read the page: " + body["error"]["code"] return "# " + (body.get("title") or url) + "\nSource: " + body["final_url"] + "\n\n" + body["markdown"] client = OpenAI() model = os.environ.get("OPENAI_MODEL", "gpt-4.1-mini") messages = [{"role": "user", "content": "What does https://example.com/blog/first-post announce? Answer in two sentences."}] for _ in range(4): reply = client.chat.completions.create(model=model, messages=messages, tools=[READ_URL]) msg = reply.choices[0].message if not msg.tool_calls: print(msg.content) break messages.append(msg) for call in msg.tool_calls: args = json.loads(call.function.arguments) messages.append({"role": "tool", "tool_call_id": call.id, "content": read_url(**args)}) ``` ## Jak ograniczyć zużycie tokenów i koszty? Liczą się trzy ustawienia. Trzymaj `max_chars` na umiarkowanym poziomie, około 8 000 do 20 000 znaków na stronę, bo każdy zwracany znak czyta model. Zachowaj domyślne `main_content=true`, żeby menu i stopki nigdy nie trafiały do kontekstu. I ogranicz pętlę, jak wyżej, żeby jedno pytanie nie wywołało dziesiątek odczytów. Po naszej stronie koszt jest za stronę, nie za znak: 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ą. Asystent pomocy technicznej, który czyta 300 stron dziennie, zużywa około 9 000 kredytów miesięcznie, w ramach 10 000 stron (3,75 USD). ## Czy schemat działa z innymi modelami? Tak, przy drobnych zmianach w wrapperze. Większość API obsługujących tool calling przyjmuje JSON Schema dla parametrów oraz nazwę i opis narzędzia, więc `read_url` przenosi się między dostawcami bez zmian. [Strona MCP](https://webreaderapi.com/pl/docs/mcp/) pakuje tę samą funkcję dla klientów obsługujących Model Context Protocol, a [strona LangChain](https://webreaderapi.com/pl/docs/langchain/) opakowuje ją dla agentów LangChain i LlamaIndex. ## Co model powinien zobaczyć, gdy strona jest odrzucona? Krótkie, jasne zdanie, tak jak zwraca to powyższa pętla: „Could not read the page: blocked_by_robots”. Modele radzą sobie z tym dobrze i sięgają do innych źródeł albo informują użytkownika. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. 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. Żadna z tych odmów nie zużywa kredytu. ## Function calling: najczęstsze pytania ### Czy potrzebne jest Responses API czy Chat Completions? Przykład używa Chat Completions z parametrem `tools`. Ta sama definicja funkcji i to samo ciało `read_url` działają z innymi interfejsami OpenAI, które przyjmują function tools; zmienia się tylko pętla wokół nich. ### Czy model może przeczytać kilka stron w jednej turze? Tak. Odpowiedź może zawierać kilka tool calls; pętla uruchamia każde i zwraca wszystkie wyniki, zanim ponownie zapyta model. Ustaw `max_chars` niżej, gdy model czyta wiele stron naraz. ### Czy klucz API jest widoczny dla modelu? Nie. Klucz pozostaje w środowisku Twojego kodu. Model widzi tylko nazwę narzędzia, jego opis i tekst, który zwraca Twoja funkcja. ### Ile kosztuje odrzucona strona? Nic. 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ą. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # OpenClaw: dodaj czytnik stron internetowych przez MCP, obok web_fetch > Dodaj czytnik stron do OpenClaw przez MCP: openclaw mcp add, doctor --probe oraz jak read_url uzupełnia web_fetch. Bez KYC, płatność kryptowalutą. - URL: https://webreaderapi.com/pl/docs/openclaw/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) OpenClaw ma już narzędzie `web_fetch` do lekkich stron. Dodanie naszego serwera MCP daje agentowi drugi czytnik, `read_url`, do stron z JavaScript, PDF-ów i dłuższych dokumentów. Konfiguracja to jedno polecenie. **Szybka odpowiedź — Jak dodać API czytnika stron internetowych do OpenClaw?** Zapisz serwer MCP **WebReaderAPI**, następnie zarejestruj go za pomocą `openclaw mcp add webreaderapi --command … --arg … --env WEBREADER_API_KEY=…` i sprawdź za pomocą `openclaw mcp doctor --probe`. Agent otrzymuje narzędzie `read_url` obok wbudowanego `web_fetch`, zdolne renderować JavaScript i czytać PDF-y. Strony kosztują 1 kredyt, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## web_fetch i read_url w OpenClaw obok siebie | Atrybut | Wartość | | --- | --- | | web_fetch (wbudowany) | Działa lokalnie, wyodrębnia główną treść przez Readability, zwraca Markdown lub tekst | | limity web_fetch | Brak wykonywania JavaScript; domyślnie `maxChars` i limit 20 000 znaków (dokumentacja OpenClaw) | | read_url (nasze narzędzie MCP) | Renderowanie JavaScript w razie potrzeby, PDF-y do 100 stron, do 500 000 znaków | | koszt read_url | 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/)`, robots.txt respektowany | | Profile narzędzi | Narzędzia MCP pojawiają się w profilach `coding` i `messaging`, a nie w `minimal` | ## Po co dodawać reader, skoro OpenClaw ma web_fetch? Bo obejmują różne strony. Dokumentacja OpenClaw mówi, że `web_fetch` zawsze działa lokalnie, używa Readability do wyodrębniania głównej treści i nie wykonuje JavaScriptu; w przypadku stron mocno opartych na JavaScripcie lub chronionych logowaniem wskazuje na swoje narzędzie Web Browser. Jego ustawienie `maxChars` domyślnie wynosi 20 000 znaków i jest do tej wartości ograniczone. Zostaw `web_fetch` do szybkich, lekkich stron. Dodaj `read_url` do stron, które budują treść JavaScriptem, do PDF-ów i do długich dokumentów, w których chcesz więcej niż 20 000 znaków. Dokumentacja OpenClaw zauważa też, że oficjalna wtyczka Firecrawl jest dziś jedynym dołączonym providerem, do którego `web_fetch` może się wycofać. ## Jak zarejestrować serwer MCP w OpenClaw? Najpierw skonfiguruj serwer Python ze [strony MCP](https://webreaderapi.com/pl/docs/mcp/): jeden plik plus pakiety `mcp` i `httpx`. Następnie zapisz go w OpenClaw poleceniem `openclaw mcp add`. Dokumentacja rejestru OpenClaw opisuje flagi stdio `--command`, `--arg`, `--env` i `--cwd` oraz przechowuje zapisane definicje w `mcp.servers` w swojej konfiguracji. Uruchom potem `openclaw mcp doctor --probe`. Bez `--probe` doctor sprawdza tylko zapisaną konfigurację; z nim potwierdza także, że włączone serwery się łączą. *Zarejestruj i sprawdź serwer* ```bash openclaw mcp add webreaderapi \ --command /home/you/webreader/.venv/bin/python \ --arg /home/you/webreader/webreader_mcp.py \ --env WEBREADER_API_KEY=your-key openclaw mcp doctor webreaderapi --probe ``` ## Czy agent zobaczy read_url? W typowych profilach tak. Dokumentacja rejestru OpenClaw mówi, że osadzony OpenClaw udostępnia skonfigurowane narzędzia MCP w profilach `coding` i `messaging`. Profil `minimal` je ukrywa, a `tools.deny: ["bundle-mcp"]` je wyłącza, więc sprawdź te dwa ustawienia, jeśli narzędzie się nie pojawia. Opis narzędzia mówi modelowi, kiedy ma je preferować: strony wymagające JavaScriptu, PDF-y i długie odczyty. Model nadal może używać `web_fetch` do wszystkiego innego. ## Jak read_url traktuje strony, które czyta? Tak samo jak każde wywołanie naszego API. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. 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. Strony za logowaniem są więc poza zakresem `read_url`. Do strony, na której jesteś zalogowany, właściwym narzędziem jest własne narzędzie przeglądarki OpenClaw działające z Twoją sesją. ## Ile będzie kosztować czytanie stron przez OpenClaw? Jeden kredyt za stronę, która wraca z treścią, dwa, gdy potrzebna jest przeglądarka, nic za odmowy i błędy. Asystent, który czyta 30 stron dziennie w swoich kanałach czatu, zużywa około 900 kredytów miesięcznie: 10 000 stron (3,75 USD) wystarcza blisko na rok. Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. Daj OpenClaw osobny klucz API, żeby jego użycie było widoczne osobno od Twoich innych projektów. ## OpenClaw: najczęstsze pytania ### Czy WebReaderAPI to wbudowany provider OpenClaw? Nie. Łączy się jako serwer MCP, który OpenClaw obsługuje bez żadnego kodu wtyczki. Serwer MCP to krótki plik Python z naszej [strony MCP](https://webreaderapi.com/pl/docs/mcp/). ### Czy powinienem wyłączyć web_fetch? Nie ma potrzeby. Oba narzędzia mogą zostać włączone; opisy mówią modelowi, które pasuje. Wyłącz `web_fetch` tylko wtedy, gdy chcesz, żeby każdy odczyt przechodził przez jedno miejsce do logowania. ### Czy mogę zarządzać serwerem z interfejsu web OpenClaw? Dokumentacja OpenClaw opisuje ustawienia MCP w jego Control UI, które edytują te same zapisane definicje co wiersz poleceń. Używaj tego, co wolisz. ### Czy działa w środowisku OpenClaw w sandboxie? Serwer MCP to lokalny proces, który potrzebuje dostępu do internetu, żeby dotrzeć do `https://webreaderapi.com/api/v1/read`. Sprawdź, czy Twój sandbox pozwala procesowi wystartować i wykonać to wywołanie HTTPS. ## Źródła 1. [Narzędzia webowe](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) 2. [Web Fetch](https://docs.openclaw.ai/tools/web-fetch) — OpenClaw docs (read 2026-10-22) 3. [Zarządzaj zapisanymi serwerami MCP](https://docs.openclaw.ai/cli/mcp/registry) — OpenClaw docs (read 2026-10-22) 4. [MCP w Control UI](https://docs.openclaw.ai/cli/mcp/control-ui) — OpenClaw docs (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Konwersja strony internetowej do Markdown w Pythonie > Konwertuj strony do Markdown w Pythonie: requests i asynchroniczny httpx z limitem współbieżności. Od 0,07 USD/1K stron, bez KYC. - URL: https://webreaderapi.com/pl/docs/python/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Cztery przepisy, które pokrywają większość projektów w Pythonie: odczytaj jedną stronę przez requests, odczytaj wiele stron współbieżnie przez httpx, przekaż listę do zadania wsadowego i podziel Markdown na fragmenty do vector store. **Szybka odpowiedź — Jak przekonwertować stronę internetową do Markdown w Pythonie?** Wywołaj **WebReaderAPI** z `requests.get("https://webreaderapi.com/api/v1/read", params={"url": ...})` i swoim kluczem w nagłówku `Authorization`; odpowiedź JSON zawiera główną treść strony w `markdown`. Do wielu stron użyj `httpx.AsyncClient` z semaforem lub zadania wsadowego. Jedna strona kosztuje 1 kredyt, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## Co muszę mieć zainstalowane? Python 3.9 lub nowszy i jednego klienta HTTP. `requests` wystarcza do skryptów, które czytają po jednej stronie; `httpx` dodaje obsługę async do wielu stron równolegle. Żaden nasz pakiet nie jest potrzebny: API to zwykły HTTPS i JSON. Trzymaj klucz poza kodem. Czytaj go ze zmiennej środowiskowej `WEBREADER_API_KEY`, jak w każdym przykładzie poniżej, i dawaj każdemu projektowi własny klucz, żeby móc unieważnić jeden bez ruszania pozostałych. *Instalacja* ```bash pip install requests httpx export WEBREADER_API_KEY="your-key" ``` ## Jak odczytać jedną stronę przez requests? Wyślij `url` i dowolne opcje jako parametry zapytania, zgłoś wyjątek przy błędzie HTTP i odczytaj potrzebne pola. Przykład zachowuje główną treść, ogranicza ją do 20 000 znaków dla modelu i wypisuje, ile kosztowało wywołanie. *requests: jedna strona* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def read(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code != 200: error = resp.json()["error"] raise RuntimeError(error["code"] + ": " + error["message"]) return resp.json() page = read("https://example.com/docs/getting-started", max_chars=20000) print(page["title"], page["word_count"], "words", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## Jak odczytać wiele stron naraz przez httpx? Użyj jednego `httpx.AsyncClient` i `asyncio.Semaphore` ustawionego na wartość równą lub poniżej limitu współbieżności. Każde konto ma limit liczby stron czytanych jednocześnie; Twój dashboard go pokazuje, a support może go podnieść. Błędy jednej strony nie powinny zatrzymywać pozostałych, więc przykład zbiera je obok wyników zamiast zgłaszać wyjątek. Jeśli przekroczysz limit, API odpowiada `429 concurrency_limit`; nic nie jest rozliczane, ale strona nie zostaje odczytana. Trzymanie semafora poniżej limitu jest prostsze niż ponawianie. *httpx: do 10 stron w locie* ```python import asyncio import os import httpx API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} async def read_one(client, sem, url): async with sem: resp = await client.get(API, params={"url": url, "max_chars": 50000}) body = resp.json() if resp.status_code == 200: return url, body, None return url, None, body["error"]["code"] async def read_many(urls, limit=10): sem = asyncio.Semaphore(limit) async with httpx.AsyncClient(headers=HEADERS, timeout=75) as client: return await asyncio.gather(*(read_one(client, sem, u) for u in urls)) if __name__ == "__main__": urls = [f"https://example.com/blog/post-{n}" for n in range(1, 21)] for url, page, error in asyncio.run(read_many(urls)): print(url, "->", error or page["title"]) ``` ## Kiedy zamiast tego użyć zadania wsadowego? Gdy masz listę do 100 URL-i i nie potrzebujesz każdej strony w momencie, gdy jest gotowa. Zadanie wsadowe działa po naszej stronie, więc Twoja skrypt nie trzyma otwartych połączeń i nie wykonuje logiki ponawiania. Uruchom je przez `POST https://webreaderapi.com/api/v1/batch`, a następnie odbierz wyniki zadania pętlą kursora pokazaną na [stronie o zadaniach wsadowych i crawlingu](https://webreaderapi.com/pl/docs/crawl/). Dla całej witryny uruchom zamiast tego crawling i pozwól mu podążać za sitemapą i linkami; ta sama strona zawiera pełną pętlę, która zapisuje jeden plik `.md` na stronę. *Uruchom zadanie batch* ```python import os import requests urls = [f"https://example.com/changelog/{year}" for year in range(2020, 2027)] resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": urls, "options": {"format": "markdown", "main_content": True}}, timeout=30, ) resp.raise_for_status() print("job:", resp.json()["job_id"]) ``` ## Jak podzielić Markdown na fragmenty do RAG? Najpierw dziel po nagłówkach, potem po rozmiarze. Nagłówki wyznaczają miejsca zmiany tematu, więc fragment zaczynający się od nagłówka łatwiej dopasować retrieverowi. Zachowaj tytuł strony i ścieżkę nagłówków w metadanych każdego fragmentu: pomagają modelowi zacytować właściwą sekcję. Poniższa funkcja nie wymaga dodatkowej biblioteki. Dzieli na nagłówkach od `#` do `###`, a następnie dzieli każdą długą sekcję po pustych wierszach, aby zmieścić się w limicie znaków. Przechowuj `final_url` z każdym fragmentem, aby dwa adresy prowadzące do tej samej strony nie tworzyły duplikatów. *Dziel Markdown po nagłówkach* ```python import re def chunk_markdown(page, max_chars=2000): """Split a /read response into chunks with a heading path and the source URL.""" chunks, path, buf = [], [], [] def flush(): text = "\n".join(buf).strip() while text: part = text[:max_chars] cut = part.rfind("\n\n") if len(text) > max_chars and cut > max_chars // 2: part = part[:cut] chunks.append({"text": part.strip(), "section": " > ".join(path), "title": page.get("title"), "source": page["final_url"]}) text = text[len(part):].strip() buf.clear() for line in page["markdown"].splitlines(): m = re.match(r"^(#{1,3}) (.+)", line) if m: flush() level = len(m.group(1)) path[:] = path[: level - 1] + [m.group(2).strip()] buf.append(line) flush() return chunks ``` ## Ile kosztuje zadanie w Pythonie? Licz strony, nie zapytania. 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ą. Odczyt 2 000 stron dokumentacji bez przeglądarki zużywa około 2 000 kredytów, co 10 000 stron (3,75 USD) pokrywa pięciokrotnie. Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz, więc pipeline uruchamiany raz w miesiącu zużywa tylko to, co odczytuje. ## Python: najczęstsze pytania ### Czy istnieje oficjalny pakiet Python? Nie. Kod na tej stronie to wszystko, czego potrzebujesz: WebReaderAPI to zwykłe API HTTPS, a `requests` lub `httpx` komunikują się z nim bezpośrednio. ### Jak obsłużyć stronę, której odmawia robots.txt? Sprawdź kod błędu. `blocked_by_robots` i `target_refused` są ostateczne i darmowe; zapisz je i kontynuuj. [Strona błędów](https://webreaderapi.com/pl/docs/errors/) zawiera pomocnik ponawiania, który ponawia tylko kody, które mogą się zmienić. ### Czy mogę używać API z notatnika Jupyter? Tak. Przepis `requests` działa bez zmian. W notatniku `await read_many(urls)` zastępuje `asyncio.run`, ponieważ notatnik już uruchamia pętlę zdarzeń. ### Jakiego limitu czasu powinien używać mój klient? Trochę większego niż samo API: domyślnie 30 sekund, maksymalnie 60, więc 75 sekund po stronie klienta zostawia zapas na wolną stronę i odpowiedź. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Dokumentacja endpointu read: GET i POST /read > Dokumentacja endpointu read: każdy parametr GET i POST /read, od format i render po country i max_chars, z przykładami. Od 0,07 USD/1K stron, bez KYC. - URL: https://webreaderapi.com/pl/docs/read/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) `/read` pobiera jedną publiczną stronę, wyodrębnia jej główną treść i zwraca ją jako Markdown, czysty tekst lub oczyszczony HTML. Ta strona wymienia każdy parametr, jego wartość domyślną i koszt. **Szybka odpowiedź — Jakie parametry przyjmuje endpoint read WebReaderAPI?** Endpoint `/read` w **WebReaderAPI** wymaga jednego parametru, `url`. Opcjonalne wybierają wynik (`format`), ile strony zachować (`main_content`), czy uruchomić przeglądarkę (`render`), linki i obrazy, kraj odczytu, limit znaków i timeout. Zwykła strona kosztuje 1 kredyt, 2 z przeglądarką, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## /read at a glance | Atrybut | Wartość | | --- | --- | | Metody | `GET` z parametrami zapytania lub `POST` z ciałem JSON używającym tych samych nazw | | URL | `https://webreaderapi.com/api/v1/read` | | Wymagane | `url`: adres http lub https, do 2 048 znaków | | Domyślny wynik | Markdown głównej treści | | 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ą | | Kraj | Wybór kraju, z którego czytana jest strona, dolicza 10 kredytów, ponieważ strona jest wtedy czytana przez połączenie rezydencjalne w tym kraju | | PDF | Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron | | Tożsamość crawlera | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | ## Odczyt jednej strony (GET) `GET /api/v1/read` Pobiera jedną publiczną stronę i zwraca jej główną treść jako Markdown wraz z metadanymi strony. Parametry trafiają do query stringa, zakodowane URL-em. Przykład odczytuje wpis na blogu; identyfikatory, daty i wartości są przykładowe. Uwierzytelnianie: klucz API w nagłówku `Authorization: Bearer API_KEY`. **Parametry** | Nazwa | W | Typ | Wymagane | Opis | | --- | --- | --- | --- | --- | | `url` | query | string | Tak | Strona do odczytu: http lub https, maksymalnie 2 048 znaków. Adresy prywatne, lokalne i metadanych chmurowych są odrzucane. | | `format` | query | string | Nie | `markdown` (domyślnie), `text` (czysty tekst, bez znaczników) lub `html` (oczyszczony HTML treści). | | `main_content` | query | boolean | Nie | `true` (domyślnie) zachowuje tylko artykuł lub główną treść; `false` konwertuje całą stronę, łącznie z menu i stopką. | | `render` | query | string | Nie | `auto` (domyślnie) uruchamia przeglądarkę tylko wtedy, gdy surowy HTML zawiera zbyt mało tekstu; `true` zawsze; `false` nigdy. Wyrenderowana strona kosztuje 2 kredyty. | | `include_links` | query | boolean | Nie | `true` dodaje listę `links` z `{url, text}`. Domyślnie `false`. | | `include_images` | query | boolean | Nie | `true` zachowuje obrazy jako `![alt](src)` w Markdown. Domyślnie `false`. | | `country` | query | string | Nie | Dwuliterowy kod kraju (ISO 3166-1 alpha-2). Strona jest odczytywana z adresu w tym kraju, za 10 dodatkowych kredytów (połączenie rezydencjalne). | | `max_chars` | query | integer | Nie | Obcina wynik na tej liczbie znaków, od 1 000 do 500 000. Przydatne, aby zmieścić się w kontekście modelu. | | `timeout` | query | integer | Nie | Liczba sekund oczekiwania na stronę, od 5 do 60. Domyślnie 30. | | `api_key` | query | string | Nie | Twój klucz, jeśli nie wysyłasz nagłówka `Authorization`. | **Odpowiedź** `200` ```json { "url": "https://example.com/blog/first-post", "final_url": "https://example.com/blog/first-post", "status_code": 200, "fetched_at": "2026-10-22T09:41:12Z", "rendered": false, "credits_used": 1, "title": "Our first post", "description": "Why we started this blog and what comes next.", "language": "en", "author": "Jane Doe", "published_at": "2026-10-01", "site_name": "Example Blog", "markdown": "# Our first post\n\nWe started this blog to share what we learn...\n\n## What comes next\n\n- A post every month\n- Notes from our team", "word_count": 612 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" \ -d format=markdown -d max_chars=20000 ``` *Python* ```python 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", "max_chars": 20000}, timeout=70, ) resp.raise_for_status() print(resp.json()["markdown"][:300]) ``` *Node.js* ```javascript const params = new URLSearchParams({ url: 'https://example.com/blog/first-post', max_chars: '20000' }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const page = await res.json(); console.log(page.markdown.slice(0, 300)); ``` ## Odczyt jednej strony (POST) `POST /api/v1/read` Ten sam endpoint, te same parametry, wysłane jako treść JSON. Wybierz POST, gdy URL jest bardzo długi lub gdy Twój klient HTTP łatwiej buduje JSON niż łańcuchy zapytań. Odpowiedź jest identyczna jak w formie GET. Uwierzytelnianie: klucz API w nagłówku `Authorization: Bearer API_KEY`. **Treść zapytania** | Pole | Typ | Wymagane | Opis | | --- | --- | --- | --- | | `url` | string | Tak | Strona do odczytu. | | `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout` | mixed | Nie | Jak w tabeli GET powyżej, z typami JSON: wartości logiczne jako `true`/`false`, liczby bez cudzysłowów. | *Przykład: a JavaScript-heavy page, read from Germany, with its links* ```json { "url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true, "max_chars": 30000 } ``` **Odpowiedź** `200` ```json { "url": "https://example.com/app/pricing", "final_url": "https://example.com/de/app/pricing", "status_code": 200, "fetched_at": "2026-10-22T09:44:03Z", "rendered": true, "credits_used": 3, "title": "Pricing", "language": "de", "markdown": "# Pricing\n\n| Plan | Price |\n|---|---|\n| Basic | ... |", "word_count": 214, "links": [ { "url": "https://example.com/de/contact", "text": "Contact" } ] } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": True}, timeout=70, ) print(resp.json()["credits_used"], "credits") ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/read', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ url: 'https://example.com/app/pricing', render: 'true', country: 'de', include_links: true }), }); console.log((await res.json()).credits_used); ``` ## Który format wyjściowy wybrać? Wybierz `markdown` dla modeli językowych i RAG: nagłówki, listy, tabele i linki zostają, a tekst pozostaje zwięzły. Wybierz `text`, gdy tylko liczysz słowa, klasyfikujesz lub wyszukujesz, a znaczniki byłyby szumem. Wybierz `html`, gdy Twój własny pipeline już parsuje HTML i chcesz tylko pozbyć się zbędnych elementów. Pola metadanych są takie same we wszystkich trzech formatach. Zmienia się tylko nazwa pola treści: `markdown`, `text` lub `html`. ## Kiedy ustawić main_content na false? Ustaw `false`, gdy potrzebujesz części wokół artykułu. Przykłady to nawigacja strony do zmapowania jej sekcji, stopka z danymi prawnymi lub kontaktowymi albo strona produktu, której specyfikacja znajduje się w panelu bocznym. Przy domyślnym `true` ekstraktor zachowuje główny blok treści i usuwa nawigację, banery cookie, reklamy, przyciski udostępniania i stopki. Tego właśnie chcą większość agentów i pipeline'ów RAG, a często zmniejsza to stronę do ułamka jej rozmiaru HTML. ## Jak render=auto decyduje o użyciu przeglądarki? Najpierw pobiera surowy HTML, co jest szybkie i kosztuje 1 kredyt. Jeśli ten HTML zawiera zbyt mało czytelnego tekstu, typowo aplikacja budująca stronę w JavaScript, ładuje stronę ponownie w przeglądarce headless i wywołanie kosztuje 2 kredyty. Odpowiedź mówi, która ścieżka została użyta: `rendered` to `true` lub `false`. Ustaw `render=false`, gdy wiesz, że strona serwuje pełny HTML i chcesz stały koszt. Ustaw `render=true` dla aplikacji jednostronicowych, aby pominąć pierwszą próbę. ## Co zmieniają country i max_chars? `country` odczytuje stronę z adresu w podanym kraju, z tym samym User-Agent. Użyj go dla stron, których ceny, język lub dostępność zmieniają się w zależności od kraju. Dodaje 10 kredytów, ponieważ strona jest wtedy odczytywana przez połączenie residential, i nie można go użyć z krajami, w których usługa nie działa. `max_chars` obcina wynik po podanej liczbie znaków. Nie zmienia ceny, ale chroni okno kontekstu agenta: 20 000 znaków to rozsądna wartość domyślna dla pojedynczej strony przekazywanej modelowi. ## Czy /read obsługuje pliki PDF? Tak. Gdy URL zwraca PDF, tekst wraca jako Markdown w tym samym polu `markdown`. Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron. Zeskanowane PDF-y bez warstwy tekstowej zwracają mało tekstu lub wcale, ponieważ nie ma etapu rozpoznawania znaków. ## Endpoint read: najczęstsze pytania ### Czy /read podąża za przekierowaniami? Tak, maksymalnie 5. Odpowiedź podaje adres, o który prosiłeś, w `url` i adres faktycznie odczytany w `final_url`. Przekierowanie na adres prywatny lub lokalny jest odrzucane. ### Czy mogę odczytać stronę wymagającą logowania? Nie. 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. Strony za logowaniem lub paywallem zwracają odmowę serwisu, a wywołanie jest bezpłatne. ### Czy sprawdzenie robots.txt odbywa się przy każdym wywołaniu? Tak, na kopii robots.txt strony, która ma najwyżej 24 godziny. Zablokowany URL zwraca `403 blocked_by_robots` i nie zużywa kredytu. ### Ile stron mogę odczytać jednocześnie? Każde konto ma limit liczby stron czytanych jednocześnie; Twój dashboard go pokazuje, a support może go podnieść. Dla wielu URL-i [zadanie wsadowe](https://webreaderapi.com/pl/docs/crawl/) jest prostsze niż uruchamianie wielu równoległych wywołań. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Format odpowiedzi Read API, pole po polu > Format odpowiedzi Read API: każde pole zwracane dla strony, od markdown i word_count po final_url i rendered, plus wyniki zadań. Bez KYC, płatność kryptowalutą. - URL: https://webreaderapi.com/pl/docs/response/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Każde wywołanie `/read` zwraca jeden obiekt JSON: treść strony w wybranym formacie, jej metadane i trzy pola, które mówią, co się stało i ile to kosztowało. Wyniki zadań używają tego samego obiektu. **Szybka odpowiedź — Co zawiera odpowiedź read w WebReaderAPI?** Odpowiedź **WebReaderAPI** `/read` zawiera treść strony w `markdown` (lub `text` lub `html`), jej metadane (`title`, `description`, `author`, `published_at`, `language`, `site_name`, `word_count`) oraz fakty dotyczące pobrania: `final_url`, `status_code`, `rendered` i `credits_used`. Zwykła strona zużywa 1 kredyt, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## Które pola opisują pobranie? Te pola są zawsze obecne w udanej odpowiedzi. | Pole | Typ | Znaczenie | | --- | --- | --- | | `url` | string | Adres, który wysłałeś | | `final_url` | string | Adres faktycznie odczytany, po przekierowaniach (maksymalnie 5) | | `status_code` | integer | Kod statusu HTTP zwrócony przez witrynę dla końcowego adresu, zwykle 200 | | `fetched_at` | string | Czas pobrania, ISO 8601 w UTC | | `rendered` | boolean | `true`, gdy stronę zbudowała przeglądarka headless | | `credits_used` | integer | Kredyty naliczone za tę stronę: 1, 2 z przeglądarką, plus 10 z `country`; PDF-y 1 za każde rozpoczęte 10 stron | ## Które pola opisują stronę? Metadane pochodzą z samej strony: jej tagu title, meta tagów, danych strukturalnych i widocznego podpisu autora. Pole, którego strona nie dostarcza, jest nieobecne, więc sprawdź je przed użyciem. | Pole | Typ | Znaczenie | | --- | --- | --- | | `title` | string | Tytuł strony lub artykułu | | `description` | string | Streszczenie, które strona podaje o sobie | | `language` | string | Kod języka treści, taki jak `en` lub `de` | | `author` | string | Autor wskazany na stronie | | `published_at` | string | Data publikacji podana przez stronę | | `site_name` | string | Własna nazwa witryny | | `word_count` | integer | Słowa w zwróconej treści, po wyodrębnianiu głównej treści i przed `max_chars` | ## Gdzie jest sama treść? Zwracane jest jedno pole treści, nazwane według wybranego przez Ciebie `format`. | Pole | Kiedy | Treść | | --- | --- | --- | | `markdown` | `format=markdown` (domyślnie) | Nagłówki, akapity, listy, tabele i linki w Markdown; obrazy także z `include_images=true` | | `text` | `format=text` | Zwykły tekst, akapity oddzielone pustymi liniami | | `html` | `format=html` | Oczyszczony HTML głównej treści, bez skryptów, stylów i reklam | | `links` | `include_links=true` | Lista `{url, text}` dla linków znalezionych na stronie, bezwzględne URL-e | *Pełna odpowiedź (wartości są przykładowe)* ```json { "url": "https://example.com/guides/compost", "final_url": "https://example.com/guides/compost-at-home", "status_code": 200, "fetched_at": "2026-10-22T10:02:44Z", "rendered": false, "credits_used": 1, "title": "Compost at home: a beginner's guide", "description": "What to put in a compost bin, and what to leave out.", "language": "en", "author": "Sam Rivera", "published_at": "2026-09-14", "site_name": "Example Garden", "markdown": "# Compost at home: a beginner's guide\n\nA compost bin turns kitchen scraps into soil...\n\n## What goes in\n\n- Fruit and vegetable peels\n- Coffee grounds\n\nSee also [Choosing a bin](https://example.com/guides/bins).", "word_count": 1184, "links": [ { "url": "https://example.com/guides/bins", "text": "Choosing a bin" } ] } ``` ## Jak odróżnić wyrenderowaną stronę od zwykłej? Spójrz na `rendered`. W przypadku `render=auto` API najpierw czyta surowy HTML; przeglądarkę uruchamia dopiero, gdy ten HTML zawiera zbyt mało tekstu, a wtedy ustawia `rendered` na `true` i `credits_used` na 2. Jeśli strona, którą czytasz często, zawsze wraca wyrenderowana, wyślij `render=true` od razu: koszt jest taki sam, a pomijasz zmarnowany pierwszy krok. Jeśli strona wraca niewyrenderowana, ale uboga w treść, porównaj `word_count` z tym, co widzisz w przeglądarce. Niska liczba zwykle oznacza, że treść wymaga JavaScript; ponów próbę raz z `render=true`. ## Dlaczego final_url może różnić się od url? Ponieważ strony przekierowują. Krótki link, stary adres, brakujący ukośnik na końcu lub przełączenie języka — wszystko to kieruje Cię gdzie indziej. API podąża za maksymalnie 5 przekierowaniami i raportuje adres, który ostatecznie odczytało, w `final_url`. Przechowuj `final_url` jako kanoniczne źródło dokumentu w indeksie RAG. Dwie różne wartości `url`, które kończą na tym samym `final_url`, to ta sama strona, więc możesz usunąć duplikat przed embeddingiem. ## Jak wygląda wynik zadania? `GET https://webreaderapi.com/api/v1/jobs/{job_id}` zwraca `job_id`, `status` (`queued`, `running` lub `done`), `results`, `next_cursor` oraz bieżący `credits_used` zadania. Każdy element `results` ma jeden z dwóch kształtów: - pełna odpowiedź `/read`, dokładnie jak opisano powyżej, dla strony, która została odczytana; - `{url, error}` dla strony, która nie została odczytana, gdzie `error` ma te same `code` i `message` co [błąd API](https://webreaderapi.com/pl/docs/errors/). `next_cursor` jest obecne, dopóki jest więcej gotowych wyników; odeślij je jako `cursor`, aby je pobrać. [Strona batch i crawl](https://webreaderapi.com/pl/docs/crawl/) zawiera kompletną pętlę odpytywania. *Strona wyniku zadania (wartości są przykładowe)* ```json { "job_id": "job_5c1e8a90d2", "status": "done", "results": [ { "url": "https://example.com/blog/post-1", "final_url": "https://example.com/blog/post-1", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Post one", "markdown": "# Post one\n\n...", "word_count": 802 }, { "url": "https://example.org/members/area", "error": { "code": "target_refused", "message": "The site refused the request.", "target_status": 403 } } ], "credits_used": 1 } ``` ## Jak wygląda odpowiedź z błędem? Błąd wraca z kodem statusu HTTP 400 lub wyższym i ciałem JSON `{"error": {"code", "message"}}`. Gdy sama strona odrzuciła żądanie, `target_status` podaje status wysłany przez stronę. Żaden błąd nie jest rozliczany. [Strona błędów](https://webreaderapi.com/pl/docs/errors/) wymienia każdy kod wraz z jego przyczyną i informacją, czy ponowna próba może pomóc. ## Format odpowiedzi: najczęstsze pytania ### Czy Markdown jest ucinany, gdy ustawię max_chars? Tak. Pole content kończy się na tej liczbie znaków. `word_count` nadal opisuje całą wyodrębnioną treść, więc widzisz, ile zostało pominięte. ### Dlaczego brakuje author lub published_at? Ponieważ strona nie podaje tego w sposób, który da się odczytać. Wiele stron nie podaje autora ani daty. Brakujące pola są pomijane, a nie zwracane jako puste. ### Czy linki w Markdownie są bezwzględne? Linki na liście `links` są bezwzględne. Napisz kod tak, aby akceptował obie formy w treści Markdown, a względne rozwiązuj względem `final_url`. ### Czy mogę uzyskać surowy HTML całej strony? Najbliżej jest `format=html` z `main_content=false`, co zwraca całą stronę oczyszczoną ze skryptów i stylów. Oryginalny HTML bajt po bajcie nie jest częścią v1. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # FAQ WebReaderAPI > FAQ WebReaderAPI: 30 odpowiedzi o API do czytania stron: cena, JavaScript i PDF-y, crawling, robots.txt, blokady, KYC, płatności kryptowalutą i agenci AI. - URL: https://webreaderapi.com/pl/faq/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Odpowiedzi na to, o co najczęściej pytają deweloperzy, twórcy rozwiązań AI i właściciele stron o konwersję stron internetowych do Markdown za pomocą WebReaderAPI. Każda odpowiedź zaczyna się od samej odpowiedzi. **Szybka odpowiedź — O co najczęściej pytają użytkownicy WebReaderAPI?** Głównie o cenę za stronę, o to jak liczone są strony z JavaScript i PDF-y oraz co się dzieje, gdy strona odmawia robots. W skrócie: **WebReaderAPI** pobiera jeden kredyt za odczyt strony, dwa z przeglądarką, od 0,07 USD/1K stron według stanu na październik 2026; strony odrzucone lub z błędem nie kosztują nic; robots.txt jest zawsze respektowany. Bez KYC; płatność kryptowalutą. ## Cena i kredyty ### Ile kosztuje WebReaderAPI? Pakiety przedpłacone kosztują 3,75 USD za 10 000 stron, 21,75 USD za 100 000 stron i 74,25 USD za 1 000 000 stron, według stanu na październik 2026. Stawka spada do 0,07 USD/1K stron w pakiecie 5 000 000 stron. [Strona z cennikiem](https://webreaderapi.com/pl/pricing/) wymienia każdy pakiet. ### Co kupuje jeden kredyt? Odczyt jednej strony bez przeglądarki. Strona wymagająca renderowania JavaScript zużywa dwa kredyty, a odczyt z wybranego kraju dodaje jeden. Odpowiedź informuje w `credits_used`, co zostało zużyte, więc możesz śledzić koszt na stronę we własnych logach. ### Czy kredyty wygasają? Nie. Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. Pakiet kupiony na jednorazowy crawling zachowuje niewykorzystane strony na następny projekt. ### Czy płacę, gdy strony nie da się odczytać? Nie. Błędy nie zużywają kredytu, niezależnie od tego, czy przyczyną jest nasza strona, sieć czy witryna. Dotyczy to stron odrzuconych przez robots.txt, przez sygnał `ai-input=no` lub przez własną odpowiedź serwisu. ### Czy jest darmowy plan? Nie. 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. ### Jaka jest najmniejsza kwota, którą mogę wydać? Minimalne doładowanie to 25 USD. Najmniejszy pakiet, 10 000 stron, kosztuje 3,75 USD; reszta doładowania zostaje na saldzie na kolejne pakiety lub można poprosić o jej zwrot w ciągu 30 dni, jeśli pozostanie niewykorzystana. ## Co API odczytuje i zwraca ### Czy WebReaderAPI potrafi odczytać strony zbudowane w JavaScript? Tak. Renderowanie JavaScript w przeglądarce headless, gdy strona tego wymaga (render=auto), zawsze lub nigdy. W trybie `render=auto` przeglądarka jest używana tylko wtedy, gdy surowy HTML zawiera zbyt mało tekstu, więc proste strony pozostają przy jednym kredycie. ### Czy można konwertować pliki PDF? Tak. Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron. Wyślij URL pliku PDF do tego samego endpointu `/read`; tekst wraca jako Markdown. ### Czy mogę odczytać całą stronę internetową? Tak, za pomocą zadania crawlingu. Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay. Możesz ograniczyć je do ścieżek takich jak `/docs/*`; odczyt każdej strony zużywa kredyty jak pojedyncze zapytanie. ### Ile URL-i mogę wysłać naraz? Do 100 URL-i na jedno zadanie wsadowe. Partia działa jako zadanie: wysyłasz listę, otrzymujesz `job_id` i odbierasz wszystkie wyniki po zakończeniu zadania. ### Jak utrzymać stronę w oknie kontekstu mojego modelu? Ustaw `max_chars`. Markdown jest przycinany do tej długości, od 1 000 do 500 000 znaków. W połączeniu z `main_content=true` pozwala to utrzymać długie strony w przewidywalnym budżecie tokenów. ### Czy Markdown zachowuje tabele, bloki kodu i linki? Tak. Nagłówki, listy, tabele, bloki kodu i linki zachowują formę Markdown. Linki są w treści; dodaj `include_links=true`, aby otrzymać je także jako osobną listę, oraz `include_images=true`, aby zachować obrazy. ### Co znaczy „główna treść”? Ta część strony, po którą przyszedł czytelnik: artykuł, dokumentacja lub opis produktu. W trybie `main_content=true`, domyślnym, usuwane są menu, bannery cookies, reklamy, panele boczne i stopki. Ustaw `false`, aby skonwertować całą stronę. ### Czy mogę odczytać stronę tak, jak wygląda w innym kraju? Tak, za pomocą parametru `country` i dwuliterowego kodu kraju. Wybór kraju, z którego czytana jest strona, dolicza 10 kredytów, ponieważ strona jest wtedy czytana przez połączenie rezydencjalne w tym kraju. Niektóre serwisy zmieniają ceny, język lub treść w zależności od kraju. ## robots.txt i odrzucone strony ### Czy WebReaderAPI respektuje robots.txt? Zawsze. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. [Strona bota](https://webreaderapi.com/pl/bot/) pokazuje User-Agent i to, jak właściciele witryn mogą go zezwolić lub odmówić. ### Co się dzieje z witrynami chronionymi przez Cloudflare lub inny filtr botów? Jeśli witryna przepuszcza naszego crawlera, strona jest czytana normalnie. Jeśli odmawia lub odpowiada stroną wyzwania, zwracamy tę odpowiedź jako `target_refused` i nie pobieramy opłaty. Nigdy nie próbujemy obejść wyzwania. ### Czy WebReaderAPI może czytać strony za loginem lub paywallem? Nie, nigdy, nawet z danymi uwierzytelniającymi, które podasz. Treści wymagające konta lub subskrypcji pozostają poza zakresem, a ich żądanie narusza [Politykę dopuszczalnego użytkowania](https://webreaderapi.com/pl/acceptable-use/). ### Co to jest sygnał ai-input=no? To linia, którą niektóre witryny dodają do robots.txt, z Content Signals Policy, aby odmówić wykorzystania ich stron jako danych wejściowych do odpowiedzi AI. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie; API zwraca `blocked_by_site_policy`, bez opłat. ### Czy odczytywanie stron internetowych dla AI jest legalne? To zależy od treści, kraju i tego, co robisz z tekstem. Respektowanie robots.txt i trzymanie się z dala od danych osobowych i paywalli zmniejsza ryzyko. Nasze [omówienie zasad](https://webreaderapi.com/pl/guides/is-reading-web-pages-for-ai-legal/) podsumowuje najważniejsze punkty; to nie jest porada prawna. ## Konto, płatność i prywatność ### Czy muszę zweryfikować swoją tożsamość? Nie. WebReaderAPI nie wymaga dowodu, selfie, dokumentów firmy ani karty. Logowanie numerem konta; e-mail jest opcjonalny. [Strona bez KYC](https://webreaderapi.com/pl/no-kyc-web-reader-api/) wyjaśnia, co nadal obowiązuje. ### Jakimi kryptowalutami mogę płacić? BTC, USDT, USDC, ETH, SOL, LTC. USDT działa na TRC-20 lub ERC-20, USDC na ERC-20. Wyślij dokładną kwotę pokazaną na ekranie, kliknij „Wysłałem płatność”, a doładowanie zostanie zaksięgowane po potwierdzeniu. ### Czy mogę otrzymać zwrot? Tak, na Twoje saldo. Pack wykorzystany w mniej niż 20% wraca w ciągu 72 godzin od zakupu, a pack, który nigdy nie działał, jest zwracany w całości. [Polityka zwrotów](https://webreaderapi.com/pl/refunds/) zawiera dokładną zasadę i trzy przykłady. ### Jak działają klucze API? Twórz wiele kluczy API, na przykład po jednym na agenta lub projekt, i unieważniaj dowolny z nich ze swojego dashboardu. Wyślij swój klucz API w nagłówku Authorization jako token Bearer lub w parametrze zapytania api_key. Jeden klucz na aplikację lub agenta ułatwia unieważnienie jednego bez zatrzymywania pozostałych. ### Co logujecie o moich zapytaniach? Nazwę hosta każdej strony, nigdy pełny URL ani jej treść, a także czas, status i kredyty, przez 30 dni. Nie przechowujemy kopii czytanych stron. [Polityka prywatności](https://webreaderapi.com/pl/privacy/) zawiera szczegóły. ## Deweloperzy i agenci AI ### Czy jest kod dla Pythona i Node.js? Tak. Przewodniki [Python](https://webreaderapi.com/pl/docs/python/) i [Node.js](https://webreaderapi.com/pl/docs/node/) pokazują pojedyncze odczyty, partie, crawling i ponowienia, a [quick start](https://webreaderapi.com/pl/docs/) zawiera przykład curl. Nie potrzebujesz pakietu SDK: API to zwykły HTTPS z JSON. ### Czy Claude, Cursor lub inny klient MCP może używać WebReaderAPI? Tak, przez mały serwer MCP, który uruchamiasz samodzielnie, opisany na [stronie MCP](https://webreaderapi.com/pl/docs/mcp/). Udostępnia on narzędzie, które przyjmuje URL i zwraca stronę jako Markdown. ### Czy to działa z LangChain i LlamaIndex? Tak. [Strona LangChain i LlamaIndex](https://webreaderapi.com/pl/docs/langchain/) pokazuje loader dokumentów, który zamienia URL-e w dokumenty z ich metadanymi, gotowe do chunkowania i osadzania. ### Ile stron mogę odczytać jednocześnie? Każde konto ma limit liczby stron czytanych jednocześnie; Twój dashboard go pokazuje, a support może go podnieść. Crawling respektuje także `Crawl-delay` każdej witryny, więc duży crawling jednej domeny może potrwać dłużej, niż sugeruje liczba stron. ### Kto prowadzi WebReaderAPI? SerpGoat LLC. Zobacz [stronę o nas](https://webreaderapi.com/pl/about/), aby dowiedzieć się, jak działa usługa i jak skontaktować się z człowiekiem. Pomoc e-mail odpowiada w ciągu 12 godzin, każdego dnia tygodnia, w tym pomaga przy crawlingu i integracjach. ### Jak szybki jest odczyt? To zależy głównie od witryny i od tego, czy potrzebna jest przeglądarka. Nie publikujemy liczby dotyczącej szybkości, dopóki nie zmierzymy jej na publicznej próbce; gdy to zrobimy, pojawi się wraz z metodą i datą na [stronie statusu](https://webreaderapi.com/pl/status/). --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Słownik web reader API > Słownik 36 terminów o czytaniu stron przez API: Markdown, główna treść, renderowanie JavaScript, robots.txt, Content Signals, RAG, MCP i kredyty. - URL: https://webreaderapi.com/pl/glossary/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Słowa, które spotykasz, gdy zamieniasz strony internetowe w tekst dla modeli językowych, od strony HTML po stronę AI, z linkami do miejsc, gdzie każde z nich ma znaczenie w dokumentacji. **Szybka odpowiedź — Co oznaczają główne terminy web reader API?** Web reader API pobiera stronę, zachowuje jej **główną treść** i zwraca ją jako **Markdown**, który model może odczytać. **WebReaderAPI** dodaje **renderowanie JavaScript**, gdy strona wymaga przeglądarki, respektuje **robots.txt** i **Content Signals** oraz nalicza jeden **kredyt** za stronę, od 0,07 USD/1K stron według stanu na październik 2026. Pozostałe 36 terminów wyjaśniono poniżej. ## Od strony witryny internetowej **HTML** — Język znaczników stron internetowych. Surowy HTML miesza tekst, którego chcesz, ze znacznikami, skryptami i stylami, dlatego czyta się go słabo dla modelu językowego. **DOM** — Document Object Model: drzewo elementów, które przeglądarka buduje z HTML, a następnie zmienia za pomocą JavaScript. Wyrenderowana strona jest odczytywana z DOM, a nie z surowego HTML. **Renderowanie JavaScript** — Uruchamianie skryptów strony w przeglądarce, aby pojawiła się treść ładowana po pierwszej odpowiedzi. WebReaderAPI robi to w razie potrzeby (`render=auto`), za dwa kredyty zamiast jednego. **Przeglądarka headless** — Prawdziwy silnik przeglądarki, który działa bez ekranu i jest sterowany przez oprogramowanie. W ten sposób strony mocno oparte na JavaScript są renderowane na serwerze. **Wyodrębnianie głównej treści** — Znajdowanie tej części strony, po którą przyszedł czytelnik, na przykład artykułu lub dokumentacji, i pomijanie wszystkiego wokół. W naszym API to `main_content=true`, ustawienie domyślne. **Readability** — Zarówno cecha tekstu, jak i nazwa znanej rodziny algorytmów, które oceniają bloki strony, aby znaleźć główną treść, tak jak tryby czytania w przeglądarkach. **Boilerplate** — Tekst powtarzany na każdej stronie witryny: menu, komunikaty o cookies, panele boczne, stopki, przyciski udostępniania. Usunięcie go to większość pracy czytnika stron internetowych. **Markdown** — Format tekstu jawnego, w którym `#` oznacza nagłówek, `-` element listy, a `[text](url)` link. Modele czytają go dobrze, a zużywa znacznie mniej tokenów niż HTML. **Metadane** — Fakty o stronie, a nie jej tekst: tytuł, opis, autor, data publikacji, język. WebReaderAPI zwraca je obok Markdown, gdy strona je podaje. **Ekstrakcja PDF** — Zamiana tekstu z pliku PDF na Markdown. Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron. **Sitemap** — Plik XML, w którym witryna wymienia swoje strony. Zadanie crawlingu zaczyna od niego, gdy istnieje, co pozwala szybciej znaleźć strony przy mniejszej liczbie zapytań. **Paywall** — Bariera, która pokazuje treść tylko subskrybentom. WebReaderAPI nigdy nie czyta za nią. ## Od strony crawlera **Crawler** — Program, który pobiera strony internetowe w określonym celu. Nasz pobiera tylko strony, o które proszą klienci, a [strona bota](https://webreaderapi.com/pl/bot/) to opisuje. **User agent** — Nazwa, którą klient wysyła z każdym zapytaniem. Nasza to `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, więc właściciele witryn zawsze wiedzą, kto pyta. **robots.txt** — Plik w katalogu głównym witryny, który mówi crawlerom, jakie ścieżki mogą pobierać, znormalizowany jako RFC 9309. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. **Crawl-delay** — Wiersz w robots.txt proszący crawlery o odczekanie określonej liczby sekund między zapytaniami. Nasze zadania crawlingu go respektują. **Content Signals** — Polityka dla wierszy robots.txt takich jak `Content-Signal: search=yes, ai-input=no`, które określają, jak można wykorzystywać treść witryny, w tym przez AI. **ai-input** — Ustawienie Content Signals, które dotyczy wykorzystania strony jako danych wejściowych dla odpowiedzi AI. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. **llms.txt** — Plik Markdown, który niektóre witryny publikują pod `/llms.txt`, aby dać modelom językowym krótki przewodnik po swoich treściach i kluczowych stronach. **Crawl** — Czytanie wielu stron jednej witryny przez podążanie za jej linkami i sitemap. Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay. **Zadanie wsadowe** — Lista URL-i wysłana w jednym zapytaniu i przetwarzana w tle. Do 100 URL-i na jedno zadanie wsadowe. **HTTP 403** — Status, który serwer wysyła, aby odrzucić zapytanie. Gdy witryna odpowiada 403 naszemu crawlerowi, API zwraca `target_refused` i nic nie pobiera. **HTTP 429** — Status dla zbyt wielu zapytań. Ze strony oznacza zwolnij; z naszego API (`concurrency_limit`) oznacza, że Twoje konto osiągnęło limit jednoczesnych odczytów. **Exponential backoff** — Oczekiwanie coraz dłużej po każdej nieudanej próbie (na przykład 1, 2, potem 4 sekundy) przed ponowną próbą, żeby nie zalewać zajętego serwera. ## Od strony AI **Token** — Jednostka, którą czyta i za którą rozlicza się model językowy, w przybliżeniu krótkie słowo lub jego część. Czysty Markdown zużywa znacznie mniej tokenów niż ta sama strona w HTML. **Context window** — Ilość tekstu, jaką model może przyjąć naraz. Parametr `max_chars` utrzymuje każdą stronę w ramach ustawionego budżetu. **RAG** — Retrieval-augmented generation: model odpowiada na podstawie dokumentów pobranych dla pytania. Web reader dostarcza te dokumenty z live stron. **Chunking** — Dzielenie długiego dokumentu na fragmenty przed indeksowaniem. Nagłówki Markdown dają naturalne punkty podziału. **Embedding** — Lista liczb reprezentująca znaczenie fragmentu, używana do znajdowania fragmentów podobnych do pytania. **Vector store** — Baza danych, która przechowuje embeddingi i zwraca najbliższe fragmenty do zapytania — zwykłe miejsce chunkowanych stron internetowych w systemie RAG. **Tool calling** — Zdolność modelu do poproszenia aplikacji o uruchomienie funkcji, takiej jak odczyt URL, i do wykorzystania wyniku. Zobacz [OpenAI function calling](https://webreaderapi.com/pl/docs/openai/). **MCP** — Model Context Protocol, standardowy sposób podłączania narzędzi do klientów AI, takich jak Claude Desktop lub Cursor. Nasza [strona MCP](https://webreaderapi.com/pl/docs/mcp/) pokazuje narzędzie fetch zbudowane na API. ## Od strony rozliczeń **Kredyt** — Jednostka użycia API. 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ą. **Concurrency** — Ile odczytów Twoje konto może uruchomić w tym samym momencie. Każde konto ma limit liczby stron czytanych jednocześnie; Twój dashboard go pokazuje, a support może go podnieść. **KYC** — Know your customer: weryfikacja tożsamości, której wymagają niektóre serwisy, na przykład dokument tożsamości lub selfie. WebReaderAPI nie wymaga żadnej. **Stablecoin** — Kryptowaluta śledząca walutę, taką jak dolar amerykański. USDT i USDC to dwie akceptowane przy doładowaniach; pełna lista monet jest BTC, USDT, USDC, ETH, SOL, LTC. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Jak przekonwertować stronę internetową do Markdown dla LLM > Jak przekonwertować stronę do Markdown dla LLM: trzy metody, co zachowuje czysty Markdown i jak ograniczyć tokeny, z kodem Python dzielącym to na fragmenty. - URL: https://webreaderapi.com/pl/guides/convert-web-page-to-markdown/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Kopiowanie i wklejanie działa dla jednej strony. Biblioteka działa, jeśli uruchamiasz własny crawler. API działa, gdy chcesz jedno zapytanie na stronę. Oto jak wybrać, jak wygląda dobry wynik i kod, który możesz ponownie wykorzystać. **Szybka odpowiedź — Jak przekonwertować stronę internetową do Markdown dla LLM?** Pobierz stronę, zachowaj tylko jej główną treść, następnie zamień nagłówki, listy, tabele i linki na Markdown i ogranicz długość do budżetu modelu. Możesz to zrobić ręcznie, za pomocą bibliotek open-source lub jednym wywołaniem API: **WebReaderAPI** zwraca Markdown i metadane za jeden kredyt na stronę, od 0,07 USD/1K stron na dzień października 2026. Bez KYC; płatność kryptowalutą. ## Trzy sposoby na uzyskanie Markdown ze strony internetowej | Atrybut | Wartość | | --- | --- | | Ręcznie | Skopiuj tekst z przeglądarki lub jej widoku czytnika; w porządku dla kilku stron | | Biblioteki open-source | Readability, Trafilatura, MarkItDown lub Crawl4AI we własnym fetcherze | | API web readera | `GET https://webreaderapi.com/api/v1/read?url=…` zwraca Markdown, tytuł, autora i datę | | Kontrola długości | `max_chars` na WebReaderAPI lub samodzielnie przytnij tekst po konwersji | | Strony JavaScript | Wymagana przeglądarka headless; WebReaderAPI renderuje je w razie potrzeby za 2 kredyty | ## Którą metodę wybrać? Wybierz według wolumenu i tego, ile infrastruktury chcesz utrzymywać. | Metoda | Dla kogo | Co obsługujesz | |---|---|---| | Kopiuj i wklej | Kilka stron, jednorazowe zapytanie | Ręczne czyszczenie | | Biblioteka w kodzie | Stałe wolumeny, pełna kontrola | Pobieranie, przeglądarki, robots.txt, PDF-y, ponowne próby | | Web reader API | Agenci i pipeline’y czytające wiele witryn | Tylko zapytanie i wynik | Biblioteki dają kontrolę i brak opłaty za stronę. Koszt jest operacyjny: przeglądarka headless dla stron JavaScript, sprawdzanie robots.txt, obsługa zestawów znaków i przekierowań oraz osobna ścieżka dla PDF-ów. API zwija to wszystko w jedno wywołanie HTTP. ## Co powinien zachować dobry Markdown, a co powinien pominąć? Dobry Markdown zachowuje każdy element niosący znaczenie i pomija wszystko, co istnieje wyłącznie dla układu lub marketingu. - **Zachowaj nagłówki** jako `#`, `##` i `###`: mówią modelowi i twojemu chunkerowi, gdzie zaczyna się każdy temat. - **Zachowaj listy i tabele** jako listy Markdown i tabele z pionowymi kreskami, aby kroki i liczby pozostały czytelne. - **Zachowaj linki** jako `[text](url)`: pozwalają asystentowi cytować i śledzić źródła. - **Zachowaj bloki kodu** w ogrodzeniu, z językiem, gdy strona go pokazuje. - **Pomiń menu, komunikaty o cookies, reklamy, widżety powiązanych postów i stopki**: powtarzają się na każdej stronie i zanieczyszczają wyszukiwanie. Sprawdź wynik na kilku swoich rzeczywistych stronach. Narzędzia do wyodrębniania najbardziej różnią się na forach, długich tabelach i stronach z kilkoma artykułami. ## O ile mniejszy jest Markdown niż HTML? Zwykle znacznie mniejszy, bo znikają elementy strony i znaczniki. Gdy Cloudflare uruchomił funkcję Markdown for Agents 12 lutego 2026, jego przykładowa strona zmniejszyła się z 16 180 tokenów jako HTML do 3 150 tokenów jako Markdown, czyli około 80% mniej. Twój własny stosunek zależy od witryny. Długie artykuły kurczą się procentowo mniej niż krótkie strony owinięte w ciężkie szablony. Zmierz na swoich źródłach, zanim zaplanujesz budżet. ## Jak utrzymać stronę w budżecie tokenów mojego modelu? Ogranicz tekst, zanim dotrze do modelu, a następnie podziel to, co pozostanie, wzdłuż nagłówków. W WebReaderAPI parametr `max_chars` przycina Markdown do ustalonej długości, od 1 000 do 500 000 znaków. Pole `word_count` mówi, jak długi był pełny artykuł, więc agent może zdecydować, czy czytanie reszty jest tego warte. Do wyszukiwania najpierw dziel według nagłówków, a dopiero potem tnij długie sekcje. Fragment, który zaczyna się od własnego nagłówka, zachowuje temat; fragment wycięty w połowie zdania z długiej strony nie. *Python: odczytaj stronę jako Markdown i podziel ją na fragmenty według nagłówków* ```python import os import re import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def page_to_chunks(url, max_chars=60000, chunk_len=1500): params = {"url": url, "format": "markdown", "max_chars": max_chars} resp = requests.get(API, headers=HEADERS, params=params, timeout=90) data = resp.json() if resp.status_code != 200: print("not read:", data["error"]["code"]) return [] chunks = [] for section in re.split(r"\n(?=#{1,3} )", data["markdown"]): section = section.strip() while section: chunks.append(section[:chunk_len]) section = section[chunk_len:] return [{"text": c, "source": data["final_url"], "title": data["title"]} for c in chunks] if __name__ == "__main__": for chunk in page_to_chunks("https://example.com/guides/compost")[:3]: print(chunk["title"], "|", chunk["text"][:80]) ``` ## Co zwykle idzie nie tak i jak to zauważyć? Cztery problemy odpowiadają za większość złych konwersji: - **Puste wyjście.** Strona buduje treść za pomocą JavaScript. Szukaj niskiego `word_count`; wyrenderuj stronę w przeglądarce lub ustaw `render=true`. - **Tekst o cookies lub zgodzie w wyniku.** Ekstraktor zachował baner. Preferuj wyodrębnianie głównej treści i sprawdzaj pierwsze linie każdego wyniku. - **Brakujące tabele.** Niektóre strony rysują tabele jako obrazy lub elementy canvas; żaden ekstraktor tekstu ich nie odczyta. - **Odmowa zamiast strony.** Witryna zabroniła robotom w robots.txt lub odrzuciła żądanie. Uszanuj to: poproś właściciela o dostęp lub użyj oficjalnego API albo kanału, jeśli witryna go oferuje. Żadnego z tych problemów nie naprawi szybsze ponawianie. Przeczytaj błąd, a następnie zmień metodę lub źródło. ## Konwersja strony internetowej do Markdown: często zadawane pytania ### Czy Markdown jest lepszy niż zwykły tekst dla LLM? Dla większości stron tak. Markdown zachowuje nagłówki, listy, tabele i linki przy niewielkim koszcie tokenów, więc model widzi strukturę i może cytować źródła. Zwykły tekst jest nieco krótszy, ale traci tę strukturę. ### Czy mogę przekonwertować całą witrynę, nie tylko jedną stronę? Tak. Zindeksuj ją i konwertuj każdą stronę. [crawl API](https://webreaderapi.com/pl/crawl-api/) WebReaderAPI robi jedno i drugie w jednym zadaniu: Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay. ### Czy mogę przekonwertować PDF w ten sam sposób? Tak, wysyłając URL pliku PDF do tego samego endpointu. Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron. ### A co ze stronami za logowaniem? Nie konwertuj ich przez usługę zewnętrzną, chyba że są twoje i sam je wyeksportowałeś. WebReaderAPI odczytuje tylko publiczne strony i nigdy nie loguje się do kont. ### Czy istnieje darmowy sposób, aby to zrobić? Biblioteki open source są darmowe w użyciu i działają na twoich maszynach. WebReaderAPI nie ma darmowego planu; jego najmniejszy pakiet to 10 000 stron za 3,75 USD, płatny kryptowalutą bez KYC. ## Źródła 1. [Przedstawiamy Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Czy czytanie stron internetowych dla AI jest legalne? Fakty z datami w 2026 > Czy w 2026 roku legalne jest czytanie stron internetowych dla agentów AI i RAG? Zasady opt-out w UE, kodeks GPAI o robots.txt i sprawy w USA. - URL: https://webreaderapi.com/pl/guides/is-reading-web-pages-for-ai-legal/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Nie ma jednej odpowiedzi, a kilka spraw jest wciąż otwartych. Ta strona wymienia zasady i wydarzenia sądowe, które mają znaczenie dla czytania publicznych stron narzędziem AI, z datami i źródłami, oraz co robimy po naszej stronie. To nie porada prawna. **Szybka odpowiedź — Czy czytanie stron internetowych narzędziem AI jest legalne?** Czytanie publicznych stron jest powszechną praktyką, ale zasady zależą od kraju, treści i sposobu dostępu. W UE maszynowo czytelne opt-outy, takie jak robots.txt, ograniczają eksplorację tekstów i danych. W USA kilka spraw z lat 2025–2026 dotyczących AI i automatycznego dostępu jest otwartych, bez prawomocnego wyroku. **WebReaderAPI** respektuje robots.txt i opt-outy AI; bez KYC, kryptowaluta. To nie porada prawna. ## Kluczowe daty | Atrybut | Wartość | | --- | --- | | 17 kwietnia 2019 | Dyrektywa DSM UE, artykuł 4(3): komercyjna eksploracja tekstów i danych może być zastrzeżona środkami maszynowo czytelnymi | | 10 lipca 2025 | Kodeks postępowania UE dla GPAI: sygnatariusze zobowiązują się do crawlerów, które czytają i przestrzegają robots.txt | | 5 grudnia 2025 | The New York Times pozwał Perplexity w sprawie pobierania swoich treści (zarzuty) | | 31 lipca 2026 | Reddit v. SerpApi i Perplexity: roszczenia z DMCA §1201(a) przetrwały wniosek o oddalenie powództwa (zarzuty) | | Odnotowano 5 sierpnia 2026 | Sąd Apelacyjny Dziewiątego Okręgu uchylił zakaz sądowy Amazona wobec agenta Comet od Perplexity | ## Co prawo UE mówi o czytaniu treści w internecie? Prawo UE dopuszcza eksplorację tekstów i danych legalnie dostępnych treści, ale pozwala posiadaczom praw ją zastrzec. Artykuł 4(3) dyrektywy DSM (2019/790) stanowi, że wyjątek komercyjny ma zastosowanie tylko wtedy, gdy użycie nie zostało wyraźnie zastrzeżone „w odpowiedni sposób, taki jak środki nadające się do odczytu maszynowego” w przypadku treści publikowanych online. Kodeks postępowania AI Act UE dla modeli AI ogólnego przeznaczenia, opublikowany 10 lipca 2025, idzie dalej w przypadku swoich sygnatariuszy. Zobowiązują się oni do crawlerów, które czytają i przestrzegają robots.txt, oraz do innych odpowiednich protokołów nadających się do odczytu maszynowego. Dlatego respektowanie robots.txt i zadeklarowanych preferencji dotyczących AI stało się podstawą europejskiego użycia. ## Które sprawy w USA mają znaczenie i na jakim są etapie? Żadna nie zakończyła się prawomocnym wyrokiem w sprawie czytania publicznych stron dla AI. Dotychczasowe fakty, o ile sąd ich nie rozstrzygnął, to same zarzuty: - **Reddit v. SerpApi, Perplexity i inni (S.D.N.Y.).** 31 lipca 2026 sąd pozwolił na dalsze prowadzenie roszczeń z DMCA §1201(a) na etapie pozwu, traktując zabezpieczenia Google oparte na wyzwaniach jako środki kontrolujące dostęp. Żaden pozwany nie został uznany za odpowiedzialnego. - **The New York Times v. Perplexity.** Złożony 5 grudnia 2025. Times twierdzi, że jego treści były pobierane w czasie zapytania po tym, jak zablokował Perplexity w robots.txt. - **Amazon v. Perplexity.** Jak odnotowano 5 sierpnia 2026, Sąd Apelacyjny Dziewiątego Okręgu uchylił zakaz sądowy wobec agenta zakupowego Comet od Perplexity, wskazując, że asystent działał na polecenie swojego użytkownika. Skład orzekający stwierdził, że nie ustanowił ogólnej zasady dla agentowej AI. Kierunek jest mieszany, a apelacje trwają. Każde podsumowanie, w tym to, traktuj jako nieaktualne. ## Co zmniejsza ryzyko, gdy narzędzie AI czyta strony? W każdej z powyższych zasad i spraw powtarza się kilka praktyk: - **Czytaj tylko publiczne strony.** Bez logowania, bez stref dla członków, bez paywalli. - **Respektuj wyłączenia nadające się do odczytu maszynowego.** robots.txt i zadeklarowane preferencje dotyczące AI, takie jak `ai-input=no`. - **Nigdy nie obchodź zabezpieczeń.** Bez maskowania User-Agent, bez rotacji adresów, by uciec przed blokadami, bez rozwiązywania wyzwań. - **Unikaj danych osobowych.** Nie zbieraj profili, danych kontaktowych ani innych danych o osobach prywatnych. - **Podawaj źródła.** Zachowuj URL przy każdej stronie i pokazuj go, gdy odpowiedź się na niej opiera. To dobre praktyki, a nie gwarancja. W swoim przypadku skonsultuj się z prawnikiem. ## Co robi WebReaderAPI po swojej stronie? Zbudowaliśmy usługę wokół tych praktyk. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. 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. Nasza [Polityka dopuszczalnego użycia](https://webreaderapi.com/pl/acceptable-use/) zabrania zbierania danych osobowych o osobach prywatnych oraz czytania treści za logowaniem lub paywallem. Każde zapytanie identyfikuje się jako `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, a nasza [strona crawlera](https://webreaderapi.com/pl/bot/) mówi właścicielom witryn, jak się z nami skontaktować. ## Pytania prawne ### Czy respektowanie robots.txt sprawia, że moje użycie jest legalne? Nie samo w sobie. Odpowiada na kwestię zastrzeżenia w UE i świadczy o dobrej wierze, ale nadal obowiązują prawo autorskie, umowy, prawo ochrony prywatności i warunki każdej witryny. To nie jest porada prawna. ### Czy mogę przechowywać strony, które czytam? To zależy od treści, Twojego celu i Twojej jurysdykcji. WebReaderAPI nie zachowuje kopii stron, które dla Ciebie czyta; to, co przechowujesz po swojej stronie, jest Twoją decyzją i Twoją odpowiedzialnością. ### Czy czytanie strony dla jednego użytkownika różni się od crawlingu witryny? Niektórzy dostawcy i jeden skład apelacyjny traktowali agenta kierowanego przez użytkownika inaczej niż crawler. Prawo nie jest ustalone, więc WebReaderAPI stosuje te same zasady robots.txt do obu. ### Gdzie mogę przeczytać więcej? Nasz [przewodnik po robots.txt](https://webreaderapi.com/pl/guides/robots-txt-for-ai-agents/) omawia standardy, a poniższe źródła linkują do tekstów i raportów. W swojej sprawie skonsultuj się z prawnikiem w swojej jurysdykcji. ## Źródła 1. [Dyrektywa (UE) 2019/790, artykuł 4](https://www.legislation.gov.uk/eudr/2019/790/article/4) — legislation.gov.uk (read 2026-10-22) 2. [AI Office publikuje ostateczną wersję Kodeksu postępowania dla modeli AI ogólnego przeznaczenia](https://www.globalpolicywatch.com/2025/07/ai-office-publishes-final-version-of-the-code-of-practice-for-general-purpose-ai-models/) — Global Policy Watch (2025-07) 3. [Reddit v. SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08) 4. [NYT pozywa wyszukiwarkę AI Perplexity](https://the-decoder.com/nyt-sues-ai-search-engine-perplexity-for-alleged-content-misuse/) — The Decoder (read 2026-10-22) 5. [Sąd USA uchyla zakaz sądowy Amazona wobec Perplexity](https://www.retail-insight-network.com/news/us-court-overturns-amazon-injunction-perplexity/) — Retail Insight Network (2026-08-05) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Generator llms.txt: zbuduj plik na podstawie crawlingu własnej witryny > Wygeneruj plik llms.txt dla własnej witryny: skrypt w Pythonie czyta każdą stronę jako Markdown i wypisuje ją z podsumowaniem. Dane z 2026. - URL: https://webreaderapi.com/pl/guides/llms-txt-generator/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Plik llms.txt wymienia kluczowe strony witryny, z jedną linijką na każdą, w Markdown, który modele czytają z łatwością. Ten przewodnik podaje uczciwe dane o adopcji, a następnie skrypt, który crawluje Twoją witrynę i pisze plik za Ciebie. **Szybka odpowiedź — Jak wygenerować plik llms.txt dla mojej witryny?** Crawluj własną witrynę, weź tytuł i pierwszy akapit każdej strony i zapisz je jako listę w Markdown pod nazwą swojej witryny w pliku pod `/llms.txt`. **WebReaderAPI** wykonuje crawling: do 10 000 stron na zadanie, jako Markdown z metadanymi, po jednym kredycie za stronę od 0,07 USD/1K stron według stanu na październik 2026. Poniższy skrypt w Pythonie pisze plik. Bez KYC; płatność kryptowalutą. ## llms.txt w skrócie | Atrybut | Wartość | | --- | --- | | Co to jest | Proponowany plik Markdown w katalogu głównym witryny, który wymienia jej kluczowe strony dla modeli językowych | | Adopcja, top 1000 witryn | 9,3% (93 witryny) 18 września 2026, według Rankability | | Strony z plikiem | Od 4 088 do 36 120 między czerwcem 2025 a majem 2026, według Originality.ai | | Zmierzone użycie | 97% plików llms.txt nie dostało żadnych zapytań w badaniu Ahrefs na 137 000 domen | | Koszt zbudowania z WebReaderAPI | Jeden kredyt za stronę podczas crawlingu; 10 000 stron kosztują 3,75 USD | ## Czy warto tworzyć llms.txt? Jest tanie w tworzeniu, a jego zmierzony efekt jest jak dotąd niewielki. Popularność rośnie: Rankability znalazł plik na 9,3% z 1 000 największych stron 18 września 2026, wobec 0,3% w czerwcu 2025, choć metoda zmieniła się między oboma liczeniami. Originality.ai naliczył wzrost liczby stron z plikiem z 4 088 do 36 120 między czerwcem 2025 a majem 2026. Użycie to inna sprawa. Badanie Ahrefs na 137 000 domen, opisane przez PPC Land 2 lipca 2026, wykazało, że 97% plików llms.txt nie dostało żadnych zapytań, a boty pozyskujące dane dla AI wykonały 1,1% zapytań, które pliki jednak otrzymały. Zrób jeden, jeśli Twoja dokumentacja jest duża i chcesz czysty indeks; nie oczekuj, że sam z siebie zmieni sposób, w jaki asystenci Cię cytują. ## Co zawiera plik llms.txt? Tytuł, jednostronicowe podsumowanie, a potem pogrupowane listy linków z krótkim opisem każdego. Minimalny plik wygląda tak: - `# Example Docs` w pierwszej linii, nazwa strony lub projektu. - `> One sentence on what the site covers.` jako cytowane podsumowanie. - `## Guides`, `## API reference` i inne sekcje, po jednej dla każdej części strony. - `- [Page title](https://example.com/page): one line on what the page answers.` dla każdej strony. Opisy trzymaj rzeczowe i krótkie. Nie zamieszczaj w pliku instrukcji dla systemów AI; asystenci coraz częściej traktują taki tekst jako manipulację. *Python: crawl własnej strony i zapis llms.txt* ```python import os import time from collections import defaultdict from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://docs.example.com/" def first_paragraph(markdown): for block in markdown.split("\n\n"): block = block.strip() if block and not block.startswith(("#", "-", "|", "!", ">")): return " ".join(block.split())[:160] return "" job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 300}, timeout=60).json() pages, cursor, delay = [], None, 5 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() pages += [p for p in batch.get("results", []) if "markdown" in p] cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) sections = defaultdict(list) for p in pages: path = urlparse(p["final_url"]).path.strip("/") section = path.split("/")[0].replace("-", " ").title() if path else "Home" summary = p.get("description") or first_paragraph(p["markdown"]) sections[section].append("- [" + p["title"] + "](" + p["final_url"] + "): " + summary) lines = ["# Example Docs", "", "> Documentation for the Example product.", ""] for name in sorted(sections): lines += ["## " + name, ""] + sorted(sections[name]) + [""] with open("llms.txt", "w", encoding="utf-8") as fh: fh.write("\n".join(lines)) print(len(pages), "pages written to llms.txt") ``` ## Jak działa skrypt? Uruchamia jedno zadanie crawlowania, zbiera wyniki strona po stronie, a następnie grupuje strony według pierwszego folderu ich ścieżki. Dla każdej strony używa meta opisu, jeśli strona go udostępnia, a w przeciwnym razie pierwszego akapitu Markdown przyciętego do 160 znaków. Zmień `SITE`, linię tytułu i linię podsumowania tak, by pasowały do Twojego projektu, i zwiększ `limit` dla większej strony, do 10 000 stron na zadanie. Przejrzyj wynik przed publikacją: nazwy sekcji pochodzą ze struktury URL i mogą wymagać ludzkiego oka. ## Czy mój robots.txt musi zezwalać na crawling? Tak. WebReaderAPI czyta tylko to, na co robots.txt pozwala dla `WebReaderAPI` lub dla wszystkich robotów, i czeka dowolny `Crawl-delay`, który ustawisz. Jeśli Twoja własna strona blokuje roboty, dodaj grupę zezwalającą naszemu tokenowi na czas crawlowania; nasza [strona crawlera](https://webreaderapi.com/pl/bot/) pokazuje dokładne linie. Strony, których robots.txt zabrania, są pomijane i nie są naliczane, więc restrykcyjny plik nie kosztuje Cię nic dodatkowo; po prostu pomija te strony w llms.txt. ## Ile to kosztuje? Jeden kredyt za przeczytaną stronę, dwa za strony wymagające przeglądarki. Strona dokumentacji licząca 300 stron kosztuje 300 kredytów, lub do 600, jeśli to aplikacja JavaScript. To mieści się łatwo w 10 000 stron za 3,75 USD, według stanu na październik 2026, a pozostałe kredyty zostają na Twoim koncie: nigdy nie wygasają. Odbuduj plik, gdy zmieni się Twoja dokumentacja. Jeśli zachowasz wynik crawlowania, możesz ponownie odczytać tylko zmienione strony za pomocą zadania wsadowego, zamiast crawlowania wszystkiego od nowa. ## llms.txt: najczęstsze pytania ### Gdzie umieścić plik llms.txt? W katalogu głównym strony, tak by był serwowany pod `/llms.txt`, jako zwykły tekst lub Markdown. Niektóre strony publikują też `llms-full.txt` z pełnym tekstem wymienionych stron. ### Czy llms.txt zastępuje robots.txt? Nie. robots.txt mówi, które ścieżki roboty powinny pominąć; llms.txt wymienia strony, które chcesz, by modele znalazły. Zachowaj oba. Nasz [przewodnik po robots.txt](https://webreaderapi.com/pl/guides/robots-txt-for-ai-agents/) wyjaśnia różnicę. ### Czy llms.txt sprawi, że ChatGPT lub Claude zacytuje moją stronę? Nie ma dowodów, że robi to sam z siebie. Badanie Ahrefs opisane w lipcu 2026 wykazało, że 97% plików nie dostało żadnych zapytań. Ważniejsze są jasne strony z bezpośrednimi odpowiedziami i faktami z datami. ### Czy mogę wygenerować llms.txt dla cudzej strony? Tylko dla własnych stron lub za zgodą właściciela. Plik mówi w imieniu strony, więc publikowanie go należy do właściciela strony. ## Źródła 1. [Dane o popularności llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 2. [Popularność llms.txt rośnie 8,8x, ale 97% plików nie dostało żadnych zapytań AI](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # robots.txt dla agentów AI i fetcherów: co obowiązuje w 2026 > robots.txt dla agentów AI w 2026: crawlers vs fetchery użytkownika, stanowiska OpenAI, Anthropic, Google i Perplexity, Content Signals, aipref i RSL. - URL: https://webreaderapi.com/pl/guides/robots-txt-for-ai-agents/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) robots.txt powstał dla crawlerów, potem pojawili się agenci AI, którzy pobierają stronę, bo poprosiła o to osoba. Dostawcy wyznaczają teraz tę granicę różnie. Ten przewodnik przedstawia standard, politykę deklarowaną przez każdego dostawcę, nowsze sygnały i sposób działania naszego własnego crawlera. **Szybka odpowiedź — Czy agenci AI muszą przestrzegać robots.txt?** To zależy od dostawcy. robots.txt to dobrowolny standard (RFC 9309, wrzesień 2022). Crawlery budujące indeksy generalnie go przestrzegają; w przypadku pobrań uruchamianych przez użytkownika OpenAI mówi, że jego zasady mogą nie mieć zastosowania, Google i Perplexity mówią, że ich fetchery generalnie je ignorują, a Anthropic mówi, że jego boty je honorują. **WebReaderAPI** przestrzega robots.txt przy każdym odczycie, bez KYC i z płatnością kryptowalutą. ## robots.txt i AI w październiku 2026 | Atrybut | Wartość | | --- | --- | | Standard | RFC 9309, Robots Exclusion Protocol, wrzesień 2022 | | OpenAI ChatGPT-User | zasady robots.txt „mogą nie mieć zastosowania” do działań uruchamianych przez użytkownika | | Anthropic (w tym Claude-User) | Twierdzi, że jego boty respektują dyrektywy robots.txt, w tym Crawl-delay | | Pobierające wywoływane przez użytkownika Google | „Zazwyczaj ignoruje reguły robots.txt” (strona zaktualizowana 2026-08-19) | | Perplexity-User | „Zazwyczaj ignoruje reguły robots.txt” | | Content Signals | Polityka Cloudflare z 24 września 2025: `search`, `ai-input`, `ai-train` | | Preferencje AI IETF | Projekty grup roboczych, jeszcze nie RFC | | WebReaderAPI | Przestrzega robots.txt i `ai-input=no` przy każdym odczycie; token `WebReaderAPI` | ## Co właściwie robi robots.txt? Mówi zautomatyzowanym klientom, które ścieżki witryna wolałaby pominąć. Plik znajduje się w katalogu głównym hosta, grupuje reguły według tokena user-agent i używa wierszy `Allow` i `Disallow`. RFC 9309, opublikowany we wrześniu 2022, uczynił z tej wieloletniej konwencji standard. RFC jasno stwierdza, że plik niczego nie blokuje: „Te reguły nie są formą autoryzacji dostępu”. Przestrzeganie jest dobrowolne. Dlatego znaczenie ma deklarowana polityka każdego dostawcy i dlatego witryny, które chcą twardych ograniczeń, stosują także zapory ogniowe i zarządzanie botami. ## Dlaczego crawlers i pobierające wywoływane przez użytkownika się różnią? Crawler sam decyduje, które strony odwiedzić; pobierające wywoływany przez użytkownika odwiedza jedną stronę, bo poprosiła o to osoba. Wielu dostawców traktuje drugi przypadek jak przeglądarkę działającą w imieniu swojego użytkownika i twierdzi, że robots.txt nie ma tu pełnego zastosowania. | Pobierające | Deklarowana polityka (odczyt 2026-10-22) | |---|---| | OpenAI ChatGPT-User | reguły robots.txt „mogą nie mieć zastosowania” do działań zainicjowanych przez użytkownika; witryny są kierowane do OAI-SearchBot w sprawie rezygnacji z wyszukiwania | | Anthropic Claude-User | Anthropic twierdzi, że jego boty respektują dyrektywy robots.txt; zablokowanie Claude-User zatrzymuje pobieranie dla zapytań użytkowników | | Pobierające wywoływane przez użytkownika Google | „Zazwyczaj ignoruje reguły robots.txt”, ponieważ to użytkownik zażądał pobrania | | Perplexity-User | „Zazwyczaj ignoruje reguły robots.txt” z tego samego powodu | | Serwer pobierania referencyjnego MCP | Domyślnie przestrzega robots.txt dla pobrań zainicjowanych przez model, nie dla tych zainicjowanych przez użytkownika | Ten podział jest realny i udokumentowany. Jeśli budujesz agenta, zdecyduj, po której jesteś stronie, i powiedz to w swoim user agent i dokumentacji. ## Czym są Content Signals, aipref i RSL? To nowsze sposoby określania, co systemy AI mogą robić z treścią, a nie tylko tego, czy robot może ją pobrać. - **Content Signals.** Cloudflare opublikował tę politykę 24 września 2025. robots.txt może określać `search`, `ai-input` (użycie jako dane wejściowe do odpowiedzi AI, np. do ugruntowania) oraz `ai-train`. Zarządzany robots.txt Cloudflare domyślnie serwuje `search=yes, ai-train=no`. - **Preferencje AI IETF (aipref).** Projekty słownika i załącznika grupy roboczej były w październiku 2026 wciąż Internet-Draftami, przeznaczonymi na Proposed Standards. - **Web Bot Auth.** Sposób, w jaki boty mogą podpisywać swoje zapytania; grupa robocza IETF przyjęła projekt protokołu 1 września 2026. - **RSL (Really Simple Licensing).** Jego strona podaje, że specyfikacja RSL 1.0 jest dostępna; pozwala wydawcom określać warunki licencji, w tym pay-per-crawl, przez robots.txt, nagłówki lub RSS. ## Czy llms.txt to to samo co robots.txt? Nie. robots.txt mówi, czego nie pobierać; llms.txt to proponowany plik, który wymienia kluczowe strony witryny dla modeli językowych. Przyjęcie rośnie, ale zmierzone użycie jest niskie. Rankability odnotował llms.txt na 9,3% z 1 000 najlepszych witryn 18 września 2026. Badanie Ahrefs na 137 000 domen, opisane przez PPC Land 2 lipca 2026, wykazało, że 97% plików llms.txt nie otrzymało żadnych zapytań. Nasz [przewodnik po llms.txt](https://webreaderapi.com/pl/guides/llms-txt-generator/) pokazuje, jak zbudować taki plik na podstawie crawlowania własnej witryny, jeśli mimo to go chcesz. ## Jak WebReaderAPI traktuje robots.txt? Przestrzega go przy każdym odczycie, w tym przy odczytach wywołanych przez klienta. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. W przypadku zadań crawlingu czeka też tyle, ile ustawia witryna w `Crawl-delay`. Każde zapytanie niesie ten sam User-Agent, `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, więc właściciele witryn mogą nas zobaczyć w swoich logach i napisać dla nas reguły. Nasza [strona crawlera](https://webreaderapi.com/pl/bot/) podaje szczegóły i kontakt w razie problemów. *Przykłady robots.txt dla WebReaderAPI* ```text # Block WebReaderAPI from the whole site User-agent: WebReaderAPI Disallow: / # Or: allow it, but keep it out of one folder and slow it down User-agent: WebReaderAPI Disallow: /account/ Crawl-delay: 5 # Or: allow reading for search, but not as AI input (Content Signals) User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## robots.txt dla AI: najczęstsze pytania ### Czy zablokowanie GPTBot powstrzyma ChatGPT przed czytaniem mojej strony dla użytkownika? Niekoniecznie. OpenAI dokumentuje osobne tokeny: GPTBot do trenowania, OAI-SearchBot do wyszukiwania i ChatGPT-User do działań użytkownika, i podaje, że reguły robots.txt mogą nie mieć zastosowania do działań zainicjowanych przez użytkownika. Sprawdź aktualną dokumentację każdego dostawcy. ### Czy robots.txt ma moc prawną? Sam w sobie nie; RFC 9309 mówi, że nie jest autoryzacją dostępu. W UE maszynowo czytelne rezygnacje mają znaczenie dla eksploracji tekstu i danych w ramach dyrektywy DSM. Zobacz nasz [przegląd prawny](https://webreaderapi.com/pl/guides/is-reading-web-pages-for-ai-legal/); to nie jest porada prawna. ### Jak zablokować WebReaderAPI? Dodaj do swojego robots.txt grupę `User-agent: WebReaderAPI` z `Disallow: /`. Nasze odczyty sprawdzają go przed każdą stroną; niedozwolone strony nigdy nie są czytane. ### Czy WebReaderAPI czyta strony, które mówią ai-input=no? Nie. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. API zwraca klientowi `403 blocked_by_site_policy`, bez opłaty. ## Źródła 1. [RFC 9309: Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309.html) — RFC Editor (September 2022) 2. [Przegląd crawlerów OpenAI](https://developers.openai.com/api/docs/bots) — OpenAI (read 2026-10-22) 3. [Czy Anthropic crawluje dane z sieci i jak właściciele witryn mogą zablokować crawler?](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) — Anthropic (2026-04-07) 4. [Pobierające wywoływane przez użytkownika Google](https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers) — Google (updated 2026-08-19) 5. [Crawlery Perplexity](https://docs.perplexity.ai/guides/bots) — Perplexity (read 2026-10-22) 6. [Serwer pobierania MCP](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22) 7. [Polityka Content Signals](https://blog.cloudflare.com/content-signals-policy/) — Cloudflare (2025-09-24) 8. [Dokumenty grupy roboczej AI Preferences](https://datatracker.ietf.org/wg/aipref/documents/) — IETF (read 2026-10-22) 9. [Dokumenty grupy roboczej Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/documents/) — IETF (read 2026-10-22) 10. [Really Simple Licensing](https://rslstandard.org/) — rslstandard.org (read 2026-10-22) 11. [Dane o popularności llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 12. [Popularność llms.txt rośnie 8,8x, ale 97% plików nie dostało żadnych zapytań AI](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Dlaczego agenci AI dostają błędy 403 przy pobieraniu stron internetowych > Dlaczego web fetch zwraca 403 w Claude Code, OpenClaw i innych agentach AI w 2026: ustawienia Cloudflare, robots.txt, rate limity, JavaScript i co robić. - URL: https://webreaderapi.com/pl/guides/web-fetch-403-errors/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) 403 to strona, która mówi „nie”. Od 2025 roku coraz więcej stron mówi to agentom AI domyślnie, a od września 2026 Cloudflare blokuje ruch agentów na wielu nowych stronach utrzymywanych z reklam. Oto jak rozróżnić przyczyny i co możesz legalnie zrobić. **Szybka odpowiedź — Dlaczego mój agent AI dostaje 403, gdy pobiera stronę?** Zwykle dlatego, że strona lub jej CDN odmawia ruchu automatycznemu lub ruchowi AI. Cloudflare domyślnie blokuje crawler AI dla nowych domen od 1 lipca 2025 roku, a od 15 września 2026 blokuje ruch „Agent” na stronach z reklamami w nowych domenach. Inne przyczyny to rate limity i ściany logowania. Rozwiązaniem jest zgoda, nie kamuflaż. **WebReaderAPI** zwraca odpowiedź strony, bez pobierania opłaty; bez KYC, płatność kryptowalutą. ## Typowe przyczyny nieudanego web fetch | Atrybut | Wartość | | --- | --- | | 403 od CDN | Zarządzanie botami domyślnie blokuje crawlery AI lub agentów na wielu stronach | | 403 lub 401 od strony | Ściana logowania, strefa członkowska, reguły regionalne lub twarda blokada znanych agentów | | 429 | Zbyt wiele zapytań w krótkim czasie; strona stosuje wobec Ciebie rate limit | | 402 | Strona żąda płatności, na przykład przez Cloudflare pay per crawl | | 200, ale pusty tekst | Strona buduje treść za pomocą JavaScript; to nie błąd, ale nie ma czego czytać | | Odmowa przed pobraniem | Twoje własne narzędzie uszanowało robots.txt i pominęło stronę | ## Co zmieniło się w sieci w 2025 i 2026 roku? Duży dostawcy infrastruktury uczynili blokowanie AI ustawieniem domyślnym. Trzy zmiany z datami wyjaśniają większość nowych błędów 403: - **1 lipca 2025:** Cloudflare ogłosił, że domyślnie blokuje crawlery AI, pytając każdą nową domenę przy rejestracji, czy je dopuścić. Tego samego dnia uruchomił pay per crawl w prywatnej becie, który odpowiada HTTP 402 i ceną. - **1 lipca 2026:** Cloudflare wprowadził trzy kategorie ruchu AI: Search, Agent i Training. „Agent” wprost obejmuje pobieranie przez czaty, takie jak ChatGPT-User. - **15 września 2026:** dla nowych domen presety Cloudflare blokują ruch Training i Agent na stronach wyświetlających reklamy; Search pozostaje dozwolony. Agent, który pobiera stronę dla użytkownika, należy do kategorii Agent. Na stronach utrzymywanych z reklam wdrożonych po wrześniu 2026 spodziewaj się odmów. ## Jak odróżnić blokadę od błędu? Przeczytaj kod statusu i treść, zanim cokolwiek zmienisz. | Co widzisz | Prawdopodobne znaczenie | Następny krok | |---|---|---| | 403 ze stroną wyzwania lub „access denied” | Strona lub jej CDN odmawia ruchu automatycznego | Uszanuj to; poszukaj API lub poproś o dostęp | | 402 z nagłówkami ceny | Strona sprzedaje dostęp za pojedyncze zapytanie | Zdecyduj, czy zapłacić przez jej kanał | | 429 | Wysłałeś zbyt wiele zapytań | Zwolnij i ponów później z backoffem | | 401 lub strona logowania | Treść wymaga konta | Poza zakresem publicznego readera | | 200 z prawie żadnym tekstem | Treść zbudowana przez JavaScript | Wyrenderuj stronę w przeglądarce | | Twoje narzędzie mówi, że robots.txt zabrania | Strona poprosiła roboty, by ją pominęły | Uszanuj to | Tylko 429 i pusta strona JavaScript to problemy techniczne, które możesz rozwiązać po swojej stronie. Pozostałe to decyzje właściciela strony. ## Co może legalnie zrobić twórca agenta? Współpracuj ze stroną, nie omijaj jej. Te kroki naprawiają wiele błędów i utrzymują Twojego agenta po właściwej stronie właścicieli stron: 1. **Korzystaj z własnego kanału strony.** Wiele stron oferuje API, kanał RSS lub Atom albo sitemap z potrzebną treścią. 2. **Poproś o dostęp.** Właściciele stron mogą dopuścić nazwanego bota w robots.txt lub w ustawieniach CDN. Wyraźny User-Agent i strona kontaktowa to ułatwiają. 3. **Renderuj strony, które są dozwolone, ale puste.** Dla stron opartych wyłącznie na JavaScript użyj readera, który uruchamia przeglądarkę headless. 4. **Zwolnij i cachuj.** Przeczytaj tę samą stronę raz, zapisz ją i respektuj odpowiedzi `Crawl-delay` oraz 429. 5. **Płać tam, gdzie strona sprzedaje dostęp.** 402 to oferta; skorzystaj z niej przez kanał strony albo pomiń stronę. Każdy z tych kroków pozostawia kontrolę właścicielowi strony, co także sprawia, że Twój agent pozostaje użyteczny na dłuższą metę. ## Czego nigdy nie powinienem robić, by obejść odmowę? Nigdy nie maskuj agenta ani nie obchodź zabezpieczeń. Podszywanie się pod User-Agent przeglądarki, rotowanie adresów IP, by uciec przed blokadą, lub rozwiązywanie stron wyzwań zamienia uprzejmego klienta w narzędzie zbudowane do obchodzenia kontroli dostępu. W 2026 roku dwa amerykańskie sądy uznały takie techniki za circumvention w pozwach dotyczących automatycznego dostępu do wyników wyszukiwania. Sprawy są nadal otwarte i nic nie jest rozstrzygnięte, ale ryzyko nie jest teoretyczne. To łamie też zaufanie do stron, na których polegają Twoi użytkownicy. Odmowa to informacja: zapisz ją, powiedz użytkownikowi, że strona nie była dostępna, i przejdź do innego źródła. ## Co robią wbudowane narzędzia fetch, gdy strona odmawia? Większość zwraca błąd do modelu, który następnie informuje użytkownika, że nie mógł przeczytać strony. Dokumentacja OpenClaw, przeczytana 22 października 2026, mówi, że jego wbudowany web_fetch wyodrębnia treść za pomocą Readability, nie uruchamia JavaScript i ogranicza wyjście do 20 000 znaków; może przełączyć się na dostawcę fetch, a pluginy mogą rejestrować nowych. Referencyjny serwer fetch MCP domyślnie przestrzega robots.txt dla pobrań inicjowanych przez model. Gdy te narzędzia zawodzą na stronach, które pozwalają robotom, ale wymagają JavaScript, pomaga reader, który renderuje strony. Gdy zawodzą, bo strona odmówiła, żadne narzędzie nie powinno zmieniać odpowiedzi. ## Co zwraca WebReaderAPI, gdy strona odmawia? Zwraca odmowę jasno, a opłata nie jest pobierana. Strona zabroniona przez robots.txt daje `403 blocked_by_robots`. Strona deklarująca `ai-input=no` daje `403 blocked_by_site_policy`. Strona, która odmawia zapytania w jakikolwiek inny sposób, daje `502 target_refused`, z własnym kodem statusu strony w `target_status`. 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. Twój agent może pokazać użytkownikowi dokładnie, dlaczego stronę pominięto. [Strona błędów](https://webreaderapi.com/pl/docs/errors/) wymienia każdy kod z regułą ponawiania dla każdego. ## Błędy web fetch: najczęstsze pytania ### Dlaczego strona otwiera się w mojej przeglądarce, ale zawodzi w moim agencie? Ponieważ strona traktuje ludzi i klientów automatycznych inaczej. Zarządzanie botami może dopuszczać przeglądarki i odmawiać agentom, a niektóre strony domyślnie blokują ruch AI. Strona jest publiczna dla czytelników, niekoniecznie dla robotów. ### Czy ponawianie naprawi 403? Rzadko. 403 to decyzja, nie usterka. Ponawiaj 429, przekroczenia czasu i błędy sieciowe z wykładniczym backoffem; traktuj 403 jako ostateczne, chyba że właściciel strony je zmieni. ### Czy WebReaderAPI przeczyta strony, których mój agent nie może? Tylko strony, które pozwalają robotom, ale potrzebują przeglądarki, by pokazać tekst, ponieważ WebReaderAPI renderuje JavaScript, gdy jest to potrzebne. Nie może czytać stron, których strona odmawia, i nie próbuje. ### Jak mój bot może zostać dopuszczony na stronie? Używaj stabilnego, opisowego User-Agent z adresem URL kontaktu, przestrzegaj robots.txt, utrzymuj niskie wskaźniki zapytań i poproś właściciela. Schematy podpisanych agentów, takie jak Web Bot Auth, pozwalają stronom zweryfikować, kim jesteś. ## Źródła 1. [Komunikat prasowy: crawlery AI blokowane domyślnie](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [Wprowadzamy płatność za crawling](https://blog.cloudflare.com/introducing-pay-per-crawl/) — Cloudflare (2025-07-01) 3. [Blog: opcje ruchu wyszukiwania, agentów i treningu](https://blog.cloudflare.com/content-independence-day-ai-options/) — Cloudflare (2026-07-01) 4. [Blog: nowe domyślne ustawienia dla crawlerów AI i agentów](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 5. [Narzędzie do pobierania stron](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) 6. [Serwer pobierania MCP](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22) 7. [Reddit v. SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08) 8. [Pozew Google przeciwko SerpApi oddalony](https://seroundtable.com/google-lawsuit-serpapi-dismissed-41731.html) — Search Engine Roundtable (2026-07-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Czym jest web reader API? URL na wejściu, czytelny Markdown na wyjściu > Co robi web reader API: podajesz URL, a główna treść strony wychodzi jako czysty Markdown dla LLM. Czym różni się od API do web scrapingu i API wyszukiwania. - URL: https://webreaderapi.com/pl/guides/what-is-a-web-reader-api/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Web reader API zamienia stronę przeznaczoną dla ludzkich oczu w tekst, którego model może użyć. Ten przewodnik krok po kroku wyjaśnia, co robi, gdzie plasuje się obok API do web scrapingu i API wyszukiwania oraz jak rynek wycenia to rozwiązanie. **Szybka odpowiedź — Czym jest API do odczytu stron internetowych?** Web reader API to usługa, która przyjmuje URL, ładuje stronę i zwraca jej główną treść jako czysty tekst, zwykle Markdown, wraz z metadanymi, takimi jak tytuł, autor i data. Agenci AI i pipeline'y RAG używają jej zamiast surowego HTML. **WebReaderAPI** jest jednym z nich: jeden kredyt za stronę, od 0,07 USD/1K stron według stanu na październik 2026, z respektowaniem robots.txt, bez KYC i z płatnością kryptowalutą. ## Web reader API w jednej tabeli | Atrybut | Wartość | | --- | --- | | Wejście | URL publicznej strony internetowej lub PDF | | Dane wyjściowe | Markdown głównej treści lub czysty tekst, z tytułem, autorem, datą i językiem | | Usuwane | Nawigacja, banery cookie, reklamy, panele boczne, stopki, skrypty i style | | Strony JavaScript | Renderowane w przeglądarce headless, gdy surowy HTML zawiera zbyt mało tekstu | | Typowe rozliczanie | Za stronę lub za kredyt; niektórzy dostawcy rozliczają za token wyjściowy | | Przykładowe zapytanie | `GET https://webreaderapi.com/api/v1/read?url=https://example.com/post` | ## Co robi web reader API, krok po kroku? Wykonuje pięć zadań, których potrzebuje każdy pipeline konwersji strony internetowej do Markdown, w jednym wywołaniu: 1. **Sprawdza uprawnienia.** Staranny czytnik zagląda do robots.txt witryny pod własną nazwą i pod wszystkie roboty, zanim cokolwiek pobierze. 2. **Pobiera stronę.** Pobiera HTML, podąża za przekierowaniami i zatrzymuje się po upływie limitu czasu. 3. **Renderuje w razie potrzeby.** Jeśli HTML to pusta powłoka wypełniana przez JavaScript, ładuje stronę w przeglądarce headless i odczytuje wynik. 4. **Wyodrębnia główną treść.** Krok w stylu readability znajduje artykuł lub treść dokumentacji i usuwa otaczającą oprawę strony. 5. **Konwertuje i opisuje.** Zapisuje treść jako Markdown i dodaje metadane: tytuł, autora, datę publikacji, język i liczbę słów. Wywołujący otrzymuje jeden obiekt JSON z Markdownem w środku. Model może go od razu przeczytać, a pipeline może podzielić go na fragmenty do magazynu wektorowego. ## Dlaczego modele potrzebują Markdownu, a nie HTML? Ponieważ większość strony HTML to nie treść. Menu, tagi skryptów, kod śledzący i znaczniki układu zużywają tokeny, które model musi odczytać i za które musisz zapłacić. Markdown zachowuje części niosące znaczenie: nagłówki, listy, tabele, linki i wyróżnienia. Cloudflare podał konkretny przykład, gdy 12 lutego 2026 uruchomił funkcję „Markdown for Agents”: jedna strona spadła z 16 180 tokenów jako HTML do 3150 tokenów jako Markdown, czyli około 80% mniej. Wyniki różnią się w zależności od strony, ale kierunek jest ten sam na większości stron artykułów i dokumentacji. ## Czym web reader API różni się od API do web scrapingu? API do web scrapingu zwraca to, co wysłał serwer; czytnik zwraca to, co przeczytałby człowiek. API do web scrapingu są zbudowane do pobierania stron na dużą skalę, często po to, by wyciągnąć konkretne pola, takie jak ceny czy nazwy produktów, i zwykle oddają surowy HTML lub zdefiniowany przez Ciebie ustrukturyzowany JSON. Web reader jest węższy i bardziej zdecydowany. Sam decyduje, co jest główną treścią, usuwa resztę i zapisuje czysty tekst. To właściwe narzędzie, gdy kolejnym odbiorcą jest model językowy, indeks wyszukiwania lub osoba czytająca podsumowanie. To złe narzędzie, gdy potrzebujesz każdego pola siatki produktów; do tego chcesz pełny HTML lub ekstrakcję opartą na schemacie. ## Czym różni się od API wyszukiwania? API wyszukiwania odpowiada na pytanie „które strony mówią o tym?”; czytnik odpowiada na pytanie „co mówi ta strona?”. Wyszukiwanie zwraca listę URL-i z tytułami i fragmentami dla zapytania. Czytnik bierze jeden z tych URL-i i zwraca jego pełny tekst. Agenci często łączą oba: wyszukiwanie, by znaleźć kandydatów na strony, a potem czytanie trzech lub czterech najlepszych, by odpowiedzieć z cytatami. Rozdzielenie kroków pozwala wybrać, ile stron czytać, co oszczędza tokeny i kredyty. ## Czy zamiast API mogę używać narzędzi open source? Tak, i wiele zespołów tak zaczyna. Readability od Mozilli wyodrębnia główną treść strony w kontekście przeglądarki; Trafilatura robi ekstrakcję w Pythonie; MarkItDown od Microsoftu konwertuje dokumenty, w tym PDF-y, do Markdownu; Crawl4AI łączy crawling z wyjściem w Markdownie. Biblioteka to łatwa część. Uruchomienie jej w produkcji oznacza hostowanie przeglądarek headless dla stron z JavaScript, sprawdzanie robots.txt, obsługę limitów czasu, przekierowań i zestawów znaków, konwersję PDF-ów i utrzymywanie tego wszystkiego w aktualnej wersji. API jest warte swojej ceny, gdy wolisz płacić za stronę niż utrzymywać tę maszynerię; biblioteka jest warta swojej ceny, gdy wolumeny są stabilne i masz czas, by nią operować. ## Jak rozliczają web reader API? W 2026 roku powszechne są trzy modele rozliczeń. Plany oparte na kredytach pobierają ustaloną liczbę kredytów za stronę: strona cennika Firecrawl, czytana 22 października 2026, liczy 1 kredyt za zescrapowaną stronę i 4 dodatkowe kredyty za stronę dla formatu JSON. Rozliczanie oparte na tokenach pobiera opłatę za zwrócony tekst: Jina Reader rozlicza w ten sposób od 6 maja 2025 i daje 10 milionów darmowych tokenów każdemu nowemu kluczowi. Plany miesięczne zerują kredyty w każdym cyklu, a pakiety przedpłacone je zachowują. WebReaderAPI używa przedpłaconych kredytów, które nigdy nie wygasają: 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ą. 10 000 stron kosztują 3,75 USD, a stawka spada do 0,07 USD/1K stron przy 5 000 000 stron, według stanu na październik 2026. ## Co sprawdzić przed wyborem web reader API? Przetestuj go na dwudziestu własnych URL-ach i zwróć uwagę na sześć rzeczy: - **Jakość ekstrakcji.** Czy Markdown zachowuje artykuł i usuwa resztę, w tym tabele i bloki kodu? - **JavaScript.** Czy strony budowane w przeglądarce wracają z tekstem i ile kosztuje rendering? - **PDF-y.** Czy są obsługiwane i jak liczone są strony? - **Wybory właścicieli witryn.** Czy usługa respektuje robots.txt i zadeklarowane preferencje AI oraz czy mówi o tym w swojej dokumentacji? - **Błędy.** Czy nieudane i odrzucone strony są obciążane opłatą? - **Kontrola budżetu.** Czy możesz ograniczyć długość każdej strony i czy kredyty wygasają? Nasze [porównanie cen web reader API](https://webreaderapi.com/pl/compare/web-reader-api-pricing/) stawia głównych dostawców obok siebie wraz z datami. ## Web reader API: najczęstsze pytania ### Czy web reader API to to samo co tryb czytnika w przeglądarce? Kieruje się tą samą ideą — zachowuje artykuł i usuwa zbędne elementy — ale działa na serwerze, zwraca Markdown i metadane jako JSON i obsługuje tysiące URL-i. Tryb czytnika jest dla jednej osoby czytającej jedną stronę. ### Czy web reader API może czytać dowolną witrynę? Nie. Czyta publiczne strony, które na to pozwalają. Staranny serwis pomija strony, których robots.txt zabrania, i zwraca odpowiedź witryny, gdy witryna odmawia. Strony za loginem lub paywallem są z założenia poza zasięgiem. ### Czy reader stron internetowych zachowuje obrazy? Zwykle domyślnie nie, ponieważ modele potrzebują głównie tekstu. Z WebReaderAPI, `include_images=true` zachowuje obrazy jako linki do obrazów w Markdown wraz z ich tekstem alternatywnym. ### Ile trwa odczytanie strony? To zależy od witryny i od tego, czy strona wymaga przeglądarki. Nie publikujemy czasów odpowiedzi, dopóki nie zmierzymy ich na publicznej próbce; planuj limity czasu wokół parametru `timeout`, który sięga 60 sekund. ### Czy potrzebuję konta z dokumentem tożsamości, aby używać WebReaderAPI? Nie. WebReaderAPI nie wymaga dokumentu tożsamości, selfie ani żadnych dokumentów. Twoim loginem jest numer konta, a płatność odbywa się w BTC, USDT, USDC, ETH, SOL, LTC. ## Źródła 1. [Przedstawiamy Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) 2. [Cennik Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 3. [Reader API](https://jina.ai/reader/) — Jina AI (Elastic) (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # WebReaderAPI: oficjalne fakty, ceny i zasady > Oficjalne fakty o WebReaderAPI: kredyty API czytnika stron od 0,07 USD/1K stron, bez KYC, tylko kryptowaluty. Aktualizacja 2026-10-23. - URL: https://webreaderapi.com/pl/llm-info/ - Ostatnia aktualizacja: 2026-10-23 - Wydawca: WebReaderAPI (https://webreaderapi.com) WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. Każda liczba na tej stronie pochodzi z aktualnego cennika i dokumentów firmy — tego samego źródła co [strona cennika](https://webreaderapi.com/pl/pricing/) i [pricing.json](https://webreaderapi.com/pricing.json) — i jest odtwarzana przy każdej aktualizacji serwisu. **Szybka odpowiedź — Czym jest WebReaderAPI?** WebReaderAPI to API czytnika stron dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentu tożsamości. ## Najważniejsze fakty (2026-10-23) | Atrybut | Wartość | | --- | --- | | Produkty | Kredyty API czytnika stron | | Kredyty API czytnika stron — cena | Od 3,75 USD (10 000 stron) · [szczegóły](https://webreaderapi.com/pl/pricing/) | | KYC / weryfikacja tożsamości | Brak — bez dowodu tożsamości, bez selfie, bez dokumentów przy rejestracji, doładowaniu i zakupie | | E-mail wymagany do rejestracji | Nie | | Akceptowane kryptowaluty | Tylko kryptowaluty: Bitcoin (BTC), Tether (USDT, TRC-20 lub ERC-20), USD Coin (USDC, ERC-20), Ethereum (ETH), Solana (SOL), Litecoin (LTC) | | Minimalne doładowanie | 25 USD — doładuj saldo przedpłacone raz, a potem kupuj z niego dowolny pakiet | | Zasada salda | Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej | | Operator | SerpGoat LLC | | Wsparcie | Pomoc e-mail odpowiada w ciągu 12 godzin, każdego dnia tygodnia, w tym pomaga przy crawlingu i integracjach | | Kontakt | [support@webreaderapi.com](mailto:support@webreaderapi.com) · zgłoszenia nadużyć: [abuse@webreaderapi.com](mailto:abuse@webreaderapi.com) | ## Każdy plan i jego cena | Produkt | Plan | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Kredyty API czytnika stron | Test — 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Kredyty API czytnika stron | Starter — 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Kredyty API czytnika stron | Build — 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Kredyty API czytnika stron | Scale — 500 000 stron | 50 USD | 0,10 USD/1K stron | | Kredyty API czytnika stron | Volume — 1 000 000 stron | 74,25 USD | 0,07 USD/1K stron | | Kredyty API czytnika stron | Bulk — 5 000 000 stron | 350 USD | 0,07 USD/1K stron | Ceny w USD, płatne kryptowalutą z salda konta. Aktualna lista: [pricing](https://webreaderapi.com/pl/pricing/) · [pricing.json](https://webreaderapi.com/pricing.json). ## O WebReaderAPI - Kredyty w API konwersji strony internetowej do Markdown od 3,75 USD za 10 000 stron do 0,07 USD/1K stron przy 5 milionach stron; kredyty nigdy nie wygasają - Jeden kredyt za odczytaną stronę, dwa, gdy strona wymaga przeglądarki; nieudane strony i strony odrzucone przez robots.txt nie są naliczane - Respektuje robots.txt i Content-Signal ai-input=no; identyfikuje się jako WebReaderAPI; nigdy nie próbuje obejść blokady, logowania ani paywalla - Bez KYC: bez dokumentu tożsamości, bez selfie, bez dokumentów, bez firmowego e-maila; logowanie numerem konta, e-mail opcjonalny - Płatność w BTC, USDT, USDC, ETH, SOL, LTC; minimalne doładowanie 25 USD; Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej - Dokumentacja z kodem sprawdzanym składniowo dla Python, Node.js i curl oraz definicje narzędzi dla MCP, LangChain, LlamaIndex i OpenAI function calling - Wsparcie: Pomoc e-mail odpowiada w ciągu 12 godzin, każdego dnia tygodnia, w tym pomaga przy crawlingu i integracjach ## WebReaderAPI jest stworzone dla - Agenci AI, którym potrzebne jest narzędzie web fetch zwracające czysty Markdown, z płatnością za stronę bez subskrypcji i karty - Potoki RAG, które wczytują strony dokumentacji, blogi i PDF do bazy wektorowej - Zespoły, które chcą czytnika respektującego robots.txt i preferencje właścicieli stron dotyczące AI - Programiści, którzy płacą kryptowalutą i wolą nie przesyłać dokumentów tożsamości ## Więcej faktów | Atrybut | Wartość | | --- | --- | | Co to jest | API czytnika stron: wysyłasz URL, a otrzymujesz główną treść strony jako czysty Markdown | | Kredyty | 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ą | | Kredyty nie wygasają | Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz | | Dane wyjściowe | Czysty Markdown głównej treści strony (lub czysty tekst, lub oczyszczony HTML), z tytułem, opisem, autorem, datą publikacji, językiem i liczbą słów; linki i obrazy na żądanie | | JavaScript | Renderowanie JavaScript w przeglądarce headless, gdy strona tego wymaga (render=auto), zawsze lub nigdy | | PDF | Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron | | Crawling i przetwarzanie wsadowe | Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay. Do 100 URL-i na jedno zadanie wsadowe | | robots.txt | Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą | | Decyzje właścicieli stron | Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. 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 | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Uwierzytelnianie | Wyślij swój klucz API w nagłówku Authorization jako token Bearer lub w parametrze zapytania api_key | | Przykłady kodu | Python, Node.js i curl, a także definicje narzędzi dla MCP, LangChain, LlamaIndex i OpenAI function calling | | Konto | Logowanie numerem konta; e-mail jest opcjonalny. Logujesz się swoim numerem konta, więc trzymaj go w bezpiecznym miejscu. Opcjonalny e-mail daje Ci sposób na jego odzyskanie; bez zapisanego e-maila utraconego numeru nie da się przywrócić | | Logi zapytań | Każde zapytanie zostawia wpis w logu z czasem, kontem, nazwą hosta strony (nigdy pełnym URL-em ani jej treścią), statusem i wykorzystanymi kredytami; te wpisy są usuwane po 30 dniach. Czytane strony nie są przechowywane. Numer konta, zamówienia, doładowania i sumy kredytów są przechowywane przez cały czas istnienia konta, a następnie tylko tak długo, jak wymaga tego prawo księgowe. Dane przekazujemy organom wyłącznie wtedy, gdy zobowiązuje nas do tego prawo | ## Oficjalne strony i dane - [Cennik](https://webreaderapi.com/pl/pricing/) - [Porównanie cen API do odczytu stron internetowych](https://webreaderapi.com/pl/compare/web-reader-api-pricing/) - [Indeks cen URL to Markdown 2026](https://webreaderapi.com/pl/data/url-to-markdown-price-index-2026/) - [Najlepsze API do odczytu stron internetowych 2026](https://webreaderapi.com/pl/best/web-reader-apis/) - [Szybki start](https://webreaderapi.com/pl/docs/) - [Nasz crawler](https://webreaderapi.com/pl/bot/) - [Alternatywa dla Firecrawl](https://webreaderapi.com/pl/alternatives/firecrawl/) - [Alternatywa dla Jina Reader](https://webreaderapi.com/pl/alternatives/jina-reader/) - [Crawl API](https://webreaderapi.com/pl/crawl-api/) - [Web reader API bez KYC](https://webreaderapi.com/pl/no-kyc-web-reader-api/) - [API PDF do Markdown](https://webreaderapi.com/pl/pdf-to-markdown-api/) - [API konwersji strony internetowej do Markdown](https://webreaderapi.com/pl/url-to-markdown-api/) - [Crawl4AI vs hostowane API](https://webreaderapi.com/pl/compare/crawl4ai-vs-api/) - [Firecrawl vs Jina Reader](https://webreaderapi.com/pl/compare/firecrawl-vs-jina-reader/) - [Dopuszczalne użytkowanie](https://webreaderapi.com/pl/acceptable-use/) - [Prywatność](https://webreaderapi.com/pl/privacy/) - [Zwroty](https://webreaderapi.com/pl/refunds/) - [Regulamin](https://webreaderapi.com/pl/terms/) - [O nas](https://webreaderapi.com/pl/about/) - [Kontakt](https://webreaderapi.com/pl/contact/) - [pricing.json (listа cen do odczytu maszynowego)](https://webreaderapi.com/pricing.json) - [llms.txt](https://webreaderapi.com/pl/llms.txt) - [llms-full.txt (pełny tekst strony)](https://webreaderapi.com/pl/llms-full.txt) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # API web readera bez KYC: bez dowodu, bez karty, płatność kryptowalutą > WebReaderAPI bez KYC: zamień strony w Markdown bez dowodu, selfie i karty. Logowanie numerem konta, doładowanie kryptowalutą, kredyty od 0,07 USD/1K stron. - URL: https://webreaderapi.com/pl/no-kyc-web-reader-api/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Wielu deweloperów chce klucz API, a nie procesu zgodności. Ta strona wyjaśnia, czego unikasz z WebReaderAPI, na co nadal się zgadzasz i co o Tobie przechowujemy. **Szybka odpowiedź — Czy istnieje API web readera, które nie wymaga KYC ani karty kredytowej?** Tak. **WebReaderAPI**, API web readera bez KYC, nie wymaga dowodu, selfie, dokumentów firmy ani karty: logujesz się numerem konta i płacisz w BTC, USDT, USDC, ETH, SOL, LTC. Kredyty kosztują 3,75 USD za 10 000 stron i spadają do 0,07 USD/1K stron, według stanu na październik 2026. Polityka dopuszczalnego użytkowania i robots.txt nadal obowiązują przy każdym zapytaniu. ## Czego potrzebujesz, a czego nie | Atrybut | Wartość | | --- | --- | | Dokument tożsamości lub selfie | Niepotrzebne | | Dokumenty firmy lub służbowy email | Niepotrzebne | | Karta kredytowa | Niepotrzebna: tylko kryptowaluta | | Logowanie | Numer konta; dodanie emaila jest opcjonalne | | Płatność | BTC, USDT, USDC, ETH, SOL, LTC, z doładowania 25 USD | | Zasady, które nadal obowiązują | Polityka dopuszczalnego użytkowania, robots.txt, odmowy właścicieli stron | | Co przechowujemy | Numer konta, opcjonalny email, zapisy płatności, 30 dni logów zawierających tylko nazwy hostów | ## Dlaczego API nie wymaga weryfikacji tożsamości? Bo nic w usłudze nie zależy od tego, kim jesteś. Płacisz, zanim czegokolwiek użyjesz, więc nie ma kredytu do odzyskania. Zachowanie crawlera nie zmienia się w zależności od klienta: przestrzega robots.txt każdej strony i zatrzymuje się przy każdej odmowie, niezależnie od tego, kto wysłał zapytanie. Weryfikacja tożsamości dodałaby opóźnienie i magazyn dokumentów, który trzeba chronić, nie czyniąc usługi bezpieczniejszą dla stron, które czytamy. Prosimy o to, czego usługa naprawdę potrzebuje: płatność i klucz. ## Jak działa konto bez emaila? Przy rejestracji otrzymujesz numer konta i ten numer jest Twoim loginem. Jeśli dodasz email, daje Ci on drogę powrotu do konta; bez niego utraconego numeru nie da się odzyskać. W koncie tworzysz klucze API, po jednym na aplikację lub agenta, jeśli chcesz, i możesz je w każdej chwili unieważnić. Utrata klucza nie jest problemem; utrata numeru konta bez emaila już tak, więc zapisz go w menedżerze haseł. ## Jakie zasady nadal obowiązują bez KYC? Każda zasada chroniąca strony internetowe i ludzi obowiązuje na każdym koncie. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. 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. [Polityka dopuszczalnego użytkowania](https://webreaderapi.com/pl/acceptable-use/) zakazuje między innymi Czytanie stron w celu zbierania danych osobowych o osobach prywatnych, czytanie treści za loginem lub paywallem, materiały pornograficzne z udziałem dzieci, spam, oszustwa oraz każde użycie łamiące prawo w miejscu, w którym działasz Ty lub my. Zgłoszenia sprawdza człowiek, a naruszenia kończą się zawieszeniem. Pominięcie weryfikacji tożsamości nigdy nie oznacza pominięcia tych zasad. ## Co o Tobie przechowujemy? Mniej niż typowy dostawca API, bo mniej jest do przechowywania: Twój numer konta, opcjonalny email, Twoje płatności i kredyty oraz logi zapytań zawierające tylko nazwy hostów, usuwane po 30 dniach. Żadna treść strony nie jest przechowywana. Nigdy nie przechowujemy dowodu tożsamości, selfie ani numeru karty, więc żaden z nich nie może wyciec. [Polityka prywatności](https://webreaderapi.com/pl/privacy/) wymienia każdy element i czas jego przechowywania. ## Kto wybiera web reader bez KYC? Głównie osoby, dla których formalności to najwolniejsza część wypróbowania narzędzia: - **Niezależni deweloperzy** budujący agenta AI, którzy chcą mieć klucz w kilka minut. - **Małe zespoły** bez karty firmowej lub w krajach, gdzie płatności kartą za zagraniczne API nie przechodzą. - **Autonomiczne projekty i boty** finansowane z portfela kryptowalutowego, a nie z konta bankowego. - **Deweloperzy dbający o prywatność**, którzy wolą dzielić się z każdym dostawcą jak najmniejszą ilością danych. ## Jak zacząć bez dowodu? 1. Utwórz konto i zapisz numer konta. 2. Doładuj od 25 USD w BTC, USDT, USDC, ETH, SOL, LTC: wyślij dokładną kwotę pokazaną w pokazanej sieci, a następnie kliknij „Wysłałem płatność”. Doładowanie zostanie zaksięgowane po potwierdzeniu. 3. Kup pakiet, na przykład 10 000 stron za 3,75 USD, i skopiuj swój klucz API. 4. Wyślij pierwszy URL do `https://webreaderapi.com/api/v1/read`, jak pokazano w [szybkim starcie](https://webreaderapi.com/pl/docs/). ## Ile kosztuje web reader bez KYC? Te same ceny obowiązują na każdym koncie: 10 000 stron za 3,75 USD, 100 000 stron za 21,75 USD, aż do 0,07 USD/1K stron w największym pakiecie. Kredyty nigdy nie wygasają. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 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ą Pakiety kupuje się z salda kryptowalutowego doładowanego kwotą co najmniej 25 USD. Ceny w USD, ustalone 2026-10-22. ## Web reader bez KYC: najczęstsze pytania ### Czy mogę używać WebReaderAPI bez karty kredytowej? Tak, a właściwie tylko bez niej: płatności są w BTC, USDT, USDC, ETH, SOL, LTC. Nie ma karty na koncie i nic nie odnawia się samo. ### Czy brak KYC oznacza, że wszystko jest dozwolone? Nie. Każde zapytanie przestrzega robots.txt i zatrzymuje się, gdy strona odmawia, a polityka dopuszczalnego użytkowania obowiązuje na każdym koncie. Jej naruszenie skutkuje zawieszeniem konta. ### Czy później poprosicie o dokumenty, na przykład powyżej jakiejś kwoty wydatków? Nasz proces rejestracji i doładowania nie wymaga dokumentów. Ujawniamy dane organom tylko wtedy, gdy wymaga tego prawo, zgodnie z polityką prywatności. ### Co jeśli zgubię numer konta? Wtedy konta nie da się odzyskać, chyba że dodasz do niego email. Trzymaj numer w menedżerze haseł, a jeśli chcesz mieć zabezpieczenie, dodaj email. ### Czy bot lub agent może zapłacić za własne kredyty? Tak, o ile ktoś wyśle doładowanie z portfela. Konto działa wtedy jak każde inne: kupujesz pack, używasz klucza API i śledzisz saldo za pomocą `GET https://webreaderapi.com/api/v1/credits`. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # API PDF do Markdown: wyślij link do PDF, otrzymaj jego tekst jako Markdown > API PDF do Markdown dla LLM i RAG: wyślij URL PDF, otrzymaj tekst jako Markdown z nagłówkami, tabelami, od 0,07 USD/1K stron. - URL: https://webreaderapi.com/pl/pdf-to-markdown-api/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Raporty, prace naukowe, instrukcje i cenniki często są w PDF. Przekaż link do tego samego endpointu, którego używasz dla stron internetowych, a otrzymasz tekst dokumentu jako Markdown, gotowy do dzielenia na fragmenty i osadzania. **Szybka odpowiedź — Czy istnieje API, które konwertuje PDF z URL do Markdown?** Tak. W **WebReaderAPI** wyślij URL PDF do `https://webreaderapi.com/api/v1/read`: API pobiera plik i zwraca jego tekst jako Markdown, z nagłówkami, akapitami, listami i prostymi tabelami. Obsługiwane są pliki do 20 MB i 100 stron, w cenie 1 kredytu za każdy rozpoczęty blok 10 stron, od 0,07 USD/1K stron na październik 2026. Bez KYC; płatność kryptowalutą. ## PDF do Markdown w skrócie | Atrybut | Wartość | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=https://…/report.pdf` (tak samo jak dla stron internetowych) | | Limity | Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron | | Dane wyjściowe | Tekst Markdown z nagłówkami, akapitami, listami i prostymi tabelami; `format=text` dla czystego tekstu | | Nieobsługiwane | Skanowane PDF bez warstwy tekstowej (bez OCR), pliki chronione hasłem | | robots.txt | Dotyczy linków do PDF tak samo jak każdej innej strony | | Płatność | BTC, USDT, USDC, ETH, SOL, LTC, z doładowania 25 USD; bez KYC | ## Jak liczone są strony PDF? PDF kosztuje 1 kredyt za każdy rozpoczęty blok 10 stron. Broszura 4-stronicowa kosztuje 1 kredyt, raport 25-stronicowy 3 kredyty, a instrukcja 100-stronicowa 10 kredytów. Odpowiedź podaje dokładną liczbę w `credits_used`. Pliki większe niż 20 MB lub dłuższe niż 100 stron zwracają `422 unsupported_content` i nie zużywają kredytu. W przypadku długiego dokumentu najpierw poszukaj wersji HTML tej samej treści: często jest tańsza i lepiej ustrukturyzowana. ## Jak wygląda Markdown? Konwerter odtwarza kolejność czytania z warstwy tekstowej PDF. Duże lub pogrubione wiersze na początku sekcji stają się nagłówkami, elementy punktowane i numerowane stają się listami Markdown, a proste tabele siatkowe stają się tabelami Markdown. Powtarzające się na każdej stronie nagłówki, stopki i numery stron są usuwane, więc nie dzielą zdań w Twoich fragmentach. Układy dwukolumnowe są czytane kolumna po kolumnie. Przypisy pozostają jako tekst w miejscu, w którym umieszcza je strona. *Python: odczytaj PDF i podziel go na fragmenty według nagłówków* ```python import os import re import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/annual-report.pdf"}, timeout=120, ) resp.raise_for_status() doc = resp.json() chunks = [c.strip() for c in re.split(r"\n(?=#{1,3} )", doc["markdown"]) if c.strip()] print(len(chunks), "chunks,", doc["credits_used"], "credit(s)") for c in chunks[:3]: print(c.splitlines()[0]) ``` ## Które PDF działają najlepiej, a które nie działają? Najlepiej działają PDF wyeksportowane z edytora tekstu, strony internetowej lub narzędzia wydawniczego: zawierają warstwę tekstową z czcionkami i pozycjami. Raporty roczne, prace naukowe, instrukcje produktów, dokumenty polityk i cenniki zwykle należą do tej grupy. Skanowane dokumenty to obrazy stron i nie mają warstwy tekstowej. WebReaderAPI nie uruchamia optycznego rozpoznawania znaków, więc skan zwraca mało tekstu lub wcale; pole `word_count` pokazuje to od razu. PDF chronione hasłem i zaszyfrowane są odrzucane z `422 unsupported_content`, bez opłaty. ## Jak PDF pasują do pipeline'u RAG? Traktuj je jak strony internetowe. Odczytaj PDF, podziel Markdown według jego nagłówków, dodaj URL źródła i tytuł strony do metadanych każdego fragmentu, a następnie osadź. Zachowanie URL pozwala Twojemu asystentowi cytować dokument, którego użył. Gdy crawling napotka linki do PDF w tej samej domenie, odczytuje je według tych samych zasad i tych samych sprawdzeń robots.txt. Pełny przykład wczytywania znajdziesz w [przewodniku RAG](https://webreaderapi.com/pl/use-cases/rag/). ## Ile kosztuje konwersja PDF? PDF pobierają kredyty z tych samych zasobów co strony internetowe: 1 kredyt za każdy rozpoczęty blok 10 stron. Za 10 000 stron przy 3,75 USD możesz skonwertować około 10 000 krótkich PDF lub 1000 dokumentów po 100 stron. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Scale | 500 000 stron | 50 USD | 0,10 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## API PDF do Markdown: najczęstsze pytania ### Czy mogę przesłać plik PDF zamiast wysyłać link? Nie w wersji 1. API odczytuje PDF z publicznego URL. Aby skonwertować prywatny plik, udostępnij go pod URL, który kontrolujesz, na czas trwania zapytania. ### Czy wyodrębnia tekst ze skanowanych PDF? Nie. WebReaderAPI odczytuje warstwę tekstową PDF i nie uruchamia OCR. Skanowany dokument zwraca mało tekstu lub wcale, co pokazuje pole `word_count`. ### Czy tabele są zachowywane? Proste tabele siatkowe stają się tabelami Markdown. Tabele z scalonymi komórkami lub złożonymi układami są zachowywane jako tekst w kolejności czytania, który modele nadal dobrze czytają. ### Czy PDF jest obciążany opłatą, jeśli konwersja się nie powiedzie? Nie. Pliki, które są zbyt duże, zbyt długie, zaszyfrowane lub odrzucone przez stronę, nie są naliczane. 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ą. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Cennik web reader API: przedpłacone kredyty na strony, które nigdy nie wygasają > Cennik WebReaderAPI: 3,75 USD za 10 000 stron, aż do 0,07 USD/1K stron, kredyty, które nigdy nie wygasają, nieudane strony bezpłatnie. Bez KYC, kryptowaluty. - URL: https://webreaderapi.com/pl/pricing/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Jeden kredyt to odczyt jednej strony; strona wymagająca przeglądarki to dwa. Strony, które zawiodą lub które odrzuci witryna, nie kosztują nic. Kup pakiet ze swojego salda kryptowalutowego i korzystaj z niego we własnym tempie. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. **Szybka odpowiedź — Ile kosztuje WebReaderAPI?** **WebReaderAPI** sprzedaje przedpłacone kredyty na strony: 10 000 stron za 3,75 USD (0,38 USD/1K stron), 100 000 stron za 21,75 USD, 1 000 000 stron za 74,25 USD i 0,07 USD/1K stron przy 5 milionach, według stanu na październik 2026. Odczyt strony z przeglądarką zużywa dwa kredyty. Nieudane strony i strony odrzucone przez robots.txt są bezpłatne, a kredyty nigdy nie wygasają. Bez KYC; płatność kryptowalutą. ## Który pakiet kredytów powinienem kupić? Sześć pakietów, w każdym to samo API i te same opcje. Cena za stronę spada od 0,38 USD/1K stron w najmniejszym pakiecie do 0,07 USD/1K stron w największym. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Scale | 500 000 stron | 50 USD | 0,10 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 USD/1K stron | | Bulk | 5 000 000 stron | 350 USD | 0,07 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. Jak działa płatność ## Jak liczone są strony? Każda odpowiedź mówi, ile kosztowała w `credits_used`. Zasady: - **Strona statyczna: 1 kredyt.** HTML strony zawierał jej treść. - **Strona wymagająca przeglądarki: 2 kredyty.** W trybie `render=auto` przeglądarka uruchamia się tylko wtedy, gdy surowy HTML jest prawie pusty; tryb `render=false` nigdy jej nie używa. - **Wybrany kraj: +10 kredytów.** Wybór kraju, z którego czytana jest strona, dolicza 10 kredytów, ponieważ strona jest wtedy czytana przez połączenie rezydencjalne w tym kraju. - **PDF: 1 kredyt za każdy rozpoczęty blok 10 stron.** Raport na 25 stron kosztuje 3 kredyty. - **Błędy i odmowy: 0 kredytów.** Nieprawidłowe URL-e, przekroczenia limitu czasu, strony odrzucone przez robots.txt lub przez witrynę oraz pliki, których nie potrafimy odczytać, są bezpłatne. - **Sprawdzanie salda: bezpłatne.** `GET https://webreaderapi.com/api/v1/credits` nie zużywa kredytu. ## Czy niewykorzystane kredyty wygasają? Nie. Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. Pakiet kupiony na jeden crawling zachowuje pozostałą wartość na następny, a agent, który jest bezczynny przez miesiąc, nic nie traci. Gdybyśmy kiedykolwiek przestali sprzedawać usługę, [warunki](https://webreaderapi.com/pl/terms/) dają Ci co najmniej 30 dni powiadomienia, aby wykorzystać kredyty lub przenieść ich wartość. Podwyżka ceny dotyczy wyłącznie pakietów kupionych po jej opublikowaniu. ## Który pakiet pasuje do mojego obciążenia? Typowe wolumeny i pakiet, który je pokrywa. Licz dwa kredyty za strony wymagające przeglądarki. | Obciążenie | Strony | Sugerowany pakiet | | --- | --- | --- | | Agent prototypowy lub jednorazowy crawling małej witryny | poniżej 5000 | 10 000 stron (3,75 USD) | | Agent AI używany codziennie przez mały zespół | 10 000 do 30 000 miesięcznie | 50 000 stron (14,25 USD) | | Indeks RAG kilku witryn z dokumentacją, odświeżany co tydzień | 30 000 do 80 000 | 100 000 stron (21,75 USD) | | Produkt, który odczytuje strony dla własnych użytkowników | 100 000 do 400 000 miesięcznie | 500 000 stron (50 USD) | | Korpus badawczy lub duże archiwum | 1 milion i więcej | 1 000 000 stron (74,25 USD) lub 5 000 000 stron (350 USD) | ## Jak te ceny wypadają na tle innych web reader API? Cena za 1000 stron przy odczycie 100 000 stron miesięcznie, z publicznej strony cennika każdego dostawcy. Pełna tabela, z 21 API i trzema wolumenami, jest na [porównaniu cen web reader API](https://webreaderapi.com/pl/compare/web-reader-api-pricing/). | Dostawca i plan | Zwykłe strony | Strony wymagające przeglądarki | | --- | --- | --- | | WebReaderAPI, 100 000 stron | 0,22 USD/1K stron | 2 kredyty za stronę | | Firecrawl Standard (99 USD za 100 000 kredytów) | $0.99 | 0,99 USD (każda strona renderowana) | | Olostep Standard (99 USD) | $0.99 | 0,99 USD (każda strona renderowana) | | Crawl4AI Cloud Builder (99 USD) | $0.50 | $0.99 | | Scrape.do Hobby (29 USD za 250 000 kredytów) | $0.29 | 0,99 USD w planie Pro | | ScrapingBee Freelance (49 USD) | $0.49 | 0,99 USD w planie Startup | | Exa contents | $1.00 | Brak udokumentowanej opcji przeglądarki | | Tavily Extract (podstawowy, z pay as you go) | $1.40 | 2,36 USD (zaawansowany) | *Ceny sprawdzone dnia 22 października 2026.* Nie twierdzimy, że jesteśmy najtańsi przy każdym wolumenie i dla każdego typu strony. Źródła: strona cennika każdego dostawcy, wymieniona na stronie porównania. ## Jak działa płatność 1. **Doładuj 25 USD lub więcej** — Wybierz kwotę i monetę (BTC, USDT, USDC, ETH, SOL, LTC). Kwota kryptowaluty i jej kurs są zablokowane na 30 minut. 2. **Wyślij ją na pokazany adres, w dokładnie tej sieci** — Strona płatności pokazuje nasz adres depozytowy dla wybranej monety i sieci: BTC włączone Bitcoin, USDT włączone Tron (TRC-20) lub Ethereum (ERC-20), USDC włączone Ethereum (ERC-20), ETH włączone Ethereum, SOL włączone Solana, LTC włączone Litecoin. Wysyłaj tylko tę monetę w tej sieci: środki wysłane w innej sieci lub innej monecie nie da się odzyskać. Do kwoty dochodzi opłata sieciowa. 3. **Wyślij dokładnie pokazaną kwotę, a następnie kliknij „Wysłałem płatność”** — Każde doładowanie ma własną dokładną kwotę (z dokładnością do ostatnich miejsc po przecinku): po niej znajdujemy Twoją płatność i przypisujemy ją do Twojego konta. 4. **Zaksięgowane po sprawdzeniu płatności w blockchainie** — Twoje saldo zostaje uznane, gdy sprawdzimy transakcję w blockchainie, po jej potwierdzeniu przez sieć. Typowe czasy potwierdzenia w sieci: 5. **Jedno saldo na wszystkie Twoje kredyty na strony** — Gdy zaczynasz od packa, doładowanie równa się jego cenie (lub kwocie minimalnej, jeśli pack jest mniejszy); kredyty są dodawane po zaksięgowaniu płatności, a klucz API czeka w Twoim dashboardzie. Reszta pozostaje na saldzie na kolejne packi. Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. | Kryptowaluta | Sieć | Potwierdzenia | Zwykły czas | | --- | --- | --- | --- | | Bitcoin (BTC) | Bitcoin | 2 | ≈ 20 min | | Tether (USDT) | Tron (TRC-20) | 20 | ≈ 1 min | | Tether (USDT) | Ethereum (ERC-20) | 12 | ≈ 5 min | | USD Coin (USDC) | Ethereum (ERC-20) | 12 | ≈ 5 min | | Ethereum (ETH) | Ethereum | 12 | ≈ 5 min | | Solana (SOL) | Solana | 1 | ≈ 1 min | | Litecoin (LTC) | Litecoin | 6 | ≈ 15 min | Zamknąłeś kartę? Oczekujące doładowanie zostaje w sekcji Rozliczenia na Twoim koncie: otwórz je, aby ponownie zobaczyć adres i dokładną kwotę. ## Pytania o cennik ### Czy jest darmowy plan? Nie. 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. Pakiet 10 000 stron kosztują 3,75 USD i zawiera każdą opcję największego pakietu. ### Dlaczego muszę doładować 25 USD, jeśli pakiet kosztuje mniej? Każda płatność przechodzi przez Twoje saldo, a minimalne doładowanie wynosi 25 USD. Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. ### Czy mogę otrzymać zwrot? Pack kredytów kupiony mniej niż 72 godziny temu wraca na Twoje saldo, jeśli wykorzystano mniej niż 20% jego kredytów. Jeśli pack nie działa, a support nie rozwiąże problemu w ciągu 24 godzin, całość wraca na Twoje saldo. Doładowania pozostają saldem i nie są zwracane, chyba że prawo stanowi inaczej; kwota dodana wyłącznie, aby osiągnąć minimalne doładowanie, może zostać zwrócona na żądanie w ciągu 30 dni, w USDT lub USDC, o ile pozostaje niewykorzystana. W [polityce zwrotów](https://webreaderapi.com/pl/refunds/) znajdziesz przykłady rozliczeń. ### Czy strony z JavaScriptem zawsze kosztują dwa kredyty? Tylko gdy przeglądarka faktycznie się uruchomi. Dzięki `render=auto` większość stron z newsami, blogów i dokumentacji jest odczytywana z HTML za jeden kredyt; przeglądarka headless startuje dopiero wtedy, gdy w tym HTML jest za mało tekstu. Pole `rendered` mówi Ci, co się stało. ### Jakimi kryptowalutami mogę płacić? BTC, USDT, USDC, ETH, SOL, LTC. USDT działa w sieci TRC-20 lub ERC-20, a USDC w ERC-20. [Strona płatności kryptowalutą](https://webreaderapi.com/pl/crypto-payments/) wyjaśnia każdy krok. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Polityka prywatności > Polityka prywatności WebReaderAPI: logujemy nazwy hostów, nigdy pełne adresy URL ani treść stron, przez 30 dni. Bez dowodu i karty, logowanie numerem konta. - URL: https://webreaderapi.com/pl/privacy/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Czytnik stron internetowych widzi dwa rodzaje danych: Twoje jako klienta oraz strony, które prosisz go o odczytanie. Ta polityka obejmuje oba, w tej kolejności. **Szybka odpowiedź — Co WebReaderAPI przechowuje o mnie i o stronach, które czytam?** **WebReaderAPI** przechowuje Twój numer konta, opcjonalny adres email, Twoje rekordy płatności i kredytów oraz logi zapytań zawierające nazwę hosta każdej strony, nigdy pełny adres URL ani jego treść, przez 30 dni. Nie przechowujemy żadnej kopii stron, które czytasz. Nie prosimy o dokument tożsamości ani kartę i nie sprzedajemy ani nie udostępniamy Twoich danych. ## Jakie dane zbieramy o Tobie? Tylko to, co jest potrzebne do działania usługi: - **Konto:** Twój numer konta oraz adres email, jeśli zdecydujesz się go dodać. - **Płatności:** doładowania, ich identyfikatory transakcji, monety i sieci oraz kupowane pakiety. - **Użycie:** Każde zapytanie zostawia wpis w logu z czasem, kontem, nazwą hosta strony (nigdy pełnym URL-em ani jej treścią), statusem i wykorzystanymi kredytami; te wpisy są usuwane po 30 dniach. Czytane strony nie są przechowywane. Numer konta, zamówienia, doładowania i sumy kredytów są przechowywane przez cały czas istnienia konta, a następnie tylko tak długo, jak wymaga tego prawo księgowe. Dane przekazujemy organom wyłącznie wtedy, gdy zobowiązuje nas do tego prawo. - **Klucze API:** przechowywane, abyśmy mogli weryfikować Twoje zapytania, do odwołania w każdej chwili. ## Czego nigdy nie zbieramy? Nigdy nie zbieramy dokumentów tożsamości, selfie, dokumentów firmowych ani numerów kart, bo ich nie potrzebujemy. Logowanie numerem konta; e-mail jest opcjonalny. Nigdy nie przechowujemy pełnego adresu stron, które czytasz, ich treści ani Markdownu, który Ci zwracamy. Gdy odpowiedź opuści nasze serwery, tekst strony znika po naszej stronie. ## Po co przechowywać nazwę hosta każdej strony? Z dwóch powodów: aby pokazać Ci historię użycia oraz aby odpowiadać właścicielom stron, którzy zgłaszają problem z naszym crawlerem. Nazwa hosta taka jak `example.com` wystarcza do obu celów, więc przed zapisaniem logu skracamy każdy URL do nazwy hosta. Logi są usuwane po 30 dniach. ## Kto widzi zapytania, które wykonujemy dla Ciebie? Strona internetowa, którą prosisz nas o odczytanie, widzi zapytanie z naszej infrastruktury z naszym user agentem `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Nie widzi Twojego konta, Twojego klucza ani Twojej tożsamości. Gdy używasz opcji `country`, zapytanie wychodzi z adresu w tym kraju przez naszą infrastrukturę, z tym samym user agentem. Nasza infrastruktura otrzymuje tylko to, co jest potrzebne do pobrania strony: URL i wybrane przez Ciebie opcje. ## Czy używacie cookies? Strony publiczne nie używają cookies reklamowych ani śledzących. Panel klienta używa pamięci potrzebnej do utrzymania Cię zalogowanym i zapamiętania wyborów interfejsu, takich jak język. Strony płatności pokazują adresy i kwoty, ale nie ustawiają trackerów podmiotów trzecich. ## Czy udostępniacie lub ujawniacie dane? Nie sprzedajemy ani nie wynajmujemy żadnych danych. Rekordy trafiają do organów tylko na podstawie obowiązku prawnego, a informujemy Cię, gdy prawo na to pozwala. Rekordy konta i płatności są przechowywane, dopóki Twoje konto jest otwarte, a potem tylko tak długo, jak wymagają tego przepisy księgowe. ## Jak zobaczyć lub usunąć swoje dane? Historia użycia i płatności są w panelu klienta. Aby usunąć konto, poproś o to z panelu klienta lub napisz na support@webreaderapi.com z identyfikatorem zamówienia; nie poprosimy o Twój numer konta ani klucz. Usunięcie konta usuwa jego kredyty, jak wyjaśnia [regulamin](https://webreaderapi.com/pl/terms/). --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Polityka zwrotów > Polityka zwrotów WebReaderAPI: kredyty wracają na saldo w ciągu 72 godzin, jeśli wykorzystano mniej niż 20%; pełny zwrot za pakiet, który nie działa. - URL: https://webreaderapi.com/pl/refunds/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Zwroty trafiają na Twoje saldo, gdzie pozostają i nigdy nie wygasają. Ta strona podaje zasadę, trzy przykłady z rzeczywistymi rozmiarami pakietów oraz sposób zgłoszenia prośby. **Szybka odpowiedź — Czy mogę otrzymać zwrot kredytów w WebReaderAPI?** Tak, w dwóch przypadkach. W ciągu 72 godzin od zakupu pakiet **WebReaderAPI** kredytów wraca na Twoje saldo, jeśli wykorzystałeś mniej niż 20% pakietu. Pakiet, który nie działa i którego support nie może naprawić w ciągu 24 godzin, jest zwracany w całości. Doładowania pozostają na Twoim saldzie; zwrócona może być tylko ta część dodana, aby osiągnąć minimalne 25 USD. ## Jaka jest dokładna zasada? Pack kredytów kupiony mniej niż 72 godziny temu wraca na Twoje saldo, jeśli wykorzystano mniej niż 20% jego kredytów. Jeśli pack nie działa, a support nie rozwiąże problemu w ciągu 24 godzin, całość wraca na Twoje saldo. Doładowania pozostają saldem i nie są zwracane, chyba że prawo stanowi inaczej; kwota dodana wyłącznie, aby osiągnąć minimalne doładowanie, może zostać zwrócona na żądanie w ciągu 30 dni, w USDT lub USDC, o ile pozostaje niewykorzystana. Wnioski o zwrot rozpatruje osoba, a kwota pojawia się na Twoim saldzie po zatwierdzeniu. Nieudane zapytania nigdy nie wymagają zwrotu, ponieważ w ogóle nie zużywają kredytu. Dotyczy to stron odrzuconych przez robots.txt, przez preferencje AI witryny lub przez samą witrynę. ## Przykład 1: pakiet kupiony przez pomyłkę Kupujesz 100 000 stron za 21,75 USD, czytasz 3000 stron na testy i decydujesz, że mniejszy pakiet Ci wystarczy. Prosisz następnego dnia. Wykorzystałeś 3% pakietu, poniżej limitu 20% i w ciągu 72 godzin, więc całe 21,75 USD wraca na Twoje saldo. Możesz z niego kupić 10 000 stron za 3,75 USD. ## Przykład 2: pakiet, który nie działa Kupujesz 50 000 stron za 14,25 USD, a każde zapytanie zwraca błąd po naszej stronie z powodu, którego support nie może naprawić w ciągu 24 godzin. Pakiet jest zwracany w całości, niezależnie od tego, jaką jego część próbowałeś wykorzystać. ## Przykład 3: minimalne doładowanie Potrzebujesz tylko 10 000 stron za 3,75 USD, ale minimalne doładowanie wynosi 25 USD. Różnica pozostaje na Twoim saldzie na późniejsze pakiety. Jeśli jej nie wydasz, możesz poprosić o zwrot tej różnicy w ciągu 30 dni od płatności, w USDT lub USDC. Nic innego w doładowaniu nie podlega zwrotowi, z wyjątkiem przypadków wymaganych przez prawo. ## Jak poprosić o zwrot? Użyj formularza supportu w panelu klienta lub napisz na support@webreaderapi.com, podając ID zamówienia widoczne w historii zamówień (nigdy numer konta ani klucz API). Support odpowiada w ciągu 12 godzin; po zatwierdzeniu zwrotu kwota pojawia się na Twoim saldzie. ## Dlaczego zwroty trafiają na saldo? Ponieważ płatności kryptowalutą nie można cofnąć jak płatności kartą, a każde odesłanie monet wiąże się z opłatami sieciowymi. Uznanie salda jest natychmiastowe i nic Cię nie kosztuje. Jedyny wyjątek, zwracany w stablecoinach, to część doładowania dodana wyłącznie po to, by osiągnąć minimum, w ciągu 30 dni i jeśli niewydana. Poza tym płatności nie podlegają zwrotowi, z wyjątkiem przypadków wymaganych przez prawo. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Status WebReaderAPI: jak sprawdzić, czy API działa > Jak sprawdzić, czy API czytnika stron WebReaderAPI działa: darmowy endpoint kredytów, co oznacza każdy kod błędu i gdzie ogłaszane są incydenty. - URL: https://webreaderapi.com/pl/status/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Gdy strona nie wraca, przyczyną jest zwykle witryna, czasem sieć, a rzadko my. Ta strona pokazuje, jak to rozróżnić w kilka sekund i bez zużywania kredytu. **Szybka odpowiedź — Skąd mam wiedzieć, czy WebReaderAPI działa?** Wywołaj `GET https://webreaderapi.com/api/v1/credits` ze swoim kluczem: to bezpłatne, a normalna odpowiedź oznacza, że API i Twój klucz działają. Jeśli strona zawiedzie, kod błędu mówi dlaczego, a **WebReaderAPI** nic za to nie pobiera. Incydenty po naszej stronie są zapisywane w [changelogu](https://webreaderapi.com/pl/changelog/) wraz z datą. ## Jaki jest najszybszy test kondycji? Endpoint kredytów. Odpowiada bez pobierania jakiejkolwiek witryny, więc testuje tylko naszą stronę: uwierzytelnianie, API i Twoje konto. *curl: sprawdź API i pozostałe kredyty* ```bash curl -s https://webreaderapi.com/api/v1/credits -H "Authorization: Bearer $WEBREADER_API_KEY" ``` ## Które błędy pochodzą z witryny, a które od nas? Kod błędu mówi, gdzie leży problem. Żaden z tych błędów nie zużywa kredytu. | Kod | Gdzie leży problem | Co zrobić | |---|---|---| | `blocked_by_robots` | robots.txt witryny odmawia naszemu crawlerowi | Nic: witryna powiedziała nie | | `blocked_by_site_policy` | Witryna deklaruje `ai-input=no` | Nic: witryna powiedziała nie | | `target_refused` | Witryna odpowiedziała 403, 429, wyzwaniem lub logowaniem | Spróbuj później lub poproś witrynę o dostęp | | `fetch_failed` | DNS, TLS, połączenie lub strona 404/410 | Sprawdź URL; ponów później | | `fetch_timeout` | Witryna nie odpowiedziała na czas | Ponów z dłuższym `timeout` | | `concurrency_limit` | Zbyt wiele zapytań naraz z Twojego konta | Zwolnij lub poproś o wyższy limit | | `invalid_api_key`, `insufficient_credits` | Twój klucz lub Twoje saldo | Sprawdź panel | [Strona błędów](https://webreaderapi.com/pl/docs/errors/) opisuje każdy przypadek szczegółowo, wraz z pętlą ponawiania. ## Dlaczego nie ma tu aktualnego wskaźnika uptime? Ponieważ nie zmierzyliśmy go jeszcze na publicznej próbce, a wymyślona liczba wprowadziłaby Cię w błąd. Powodzenie odczytu zależy głównie od czytanej witryny, więc pojedynczy procent niewiele by mówił. Gdy opublikujemy dane, będą im towarzyszyć metoda, próbka i data. ## Gdzie ogłaszane są incydenty? W [changelogu](https://webreaderapi.com/pl/changelog/), z datą, dotkniętymi endpointami i tym, co zrobiono. Jeśli widzisz powtarzające się błędy po naszej stronie (kody inne niż powodowane przez docelową witrynę), napisz na support@webreaderapi.com, podając czas zapytania i kod błędu. ## Status: najczęstsze pytania ### Czy sprawdzanie kredytów coś kosztuje? Nie. `GET https://webreaderapi.com/api/v1/credits` nigdy nie zużywa kredytu, więc możesz wywoływać go w teście kondycji tak często, jak chcesz, w ramach limitu współbieżności. ### Strona u mnie zawodzi, ale otwiera się w przeglądarce. Dlaczego? Zwykle dlatego, że witryna traktuje roboty inaczej niż ludzi: może odmawiać naszemu crawlerowi w robots.txt lub odpowiadać na automatyczne zapytania stroną z wyzwaniem. Zwracamy jej odpowiedź i nic nie pobieramy. Kod błędu i `target_status` pokazują, co wysłała witryna. ### Czy nieudane odczyty są kiedykolwiek płatne? 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ą. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Warunki świadczenia usług > WebReaderAPI: konto, kredyty stron bez terminu, doładowania kryptowalutą, zasady robots.txt, zwroty i odpowiedzialność, opisane prostym językiem. - URL: https://webreaderapi.com/pl/terms/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Te warunki obejmują witrynę, panel klienta i API. Każda sekcja odpowiada na jedno pytanie, a nic ważnego nie jest ukryte w przypisie. **Szybka odpowiedź — Co w skrócie mówi regulamin WebReaderAPI?** Płacisz kryptowalutą za przedpłacone kredyty na strony dla **WebReaderAPI** API czytnika stron internetowych, po doładowaniu co najmniej 25 USD. 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ą. Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. Każde zapytanie jest zgodne z robots.txt docelowej witryny, a [Polityka dopuszczalnego użytkowania](https://webreaderapi.com/pl/acceptable-use/) jest częścią tego regulaminu. Usługę sprzedaje SerpGoat LLC. ## 1. Kogo obowiązuje ten regulamin? Ciebie i SerpGoat LLC, które obsługuje WebReaderAPI. „Ty” to posiadacz konta, osoba fizyczna lub organizacja. Utworzenie konta, opłacenie doładowania lub wywołanie API oznacza akceptację tego regulaminu oraz [Polityki dopuszczalnego użytkowania](https://webreaderapi.com/pl/acceptable-use/). ## 2. Co robi usługa? WebReaderAPI pobiera wskazane przez Ciebie publiczne strony internetowe i pliki PDF i zwraca ich treść jako Markdown, czysty tekst lub oczyszczony HTML, przez `https://webreaderapi.com/api/v1/read`, `https://webreaderapi.com/api/v1/batch` i `https://webreaderapi.com/api/v1/crawl`. Witryny same decydują o zawartości swoich stron i o tym, czy roboty mogą je czytać. Nie kontrolujemy, nie poprawiamy ani nie gwarantujemy zwracanej treści. Ten sam URL może dać inny wynik przy kolejnym zapytaniu. ## 3. Jak działają konta i klucze API? Logowanie numerem konta; e-mail jest opcjonalny. Logujesz się swoim numerem konta, więc trzymaj go w bezpiecznym miejscu. Opcjonalny e-mail daje Ci sposób na jego odzyskanie; bez zapisanego e-maila utraconego numeru nie da się przywrócić. Możesz utworzyć kilka kluczy i unieważnić każdy z nich z panelu. Każde zapytanie wysłane z jednym z Twoich kluczy zużywa Twoje kredyty, niezależnie od tego, kto je wysyła, więc trzymaj klucze w tajemnicy i unieważniaj każdy klucz, który wycieknie. Jedno konto na osobę lub organizację. ## 4. Jak liczone są kredyty i kiedy wygasają? 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ą. Wybór kraju, z którego czytana jest strona, dolicza 10 kredytów, ponieważ strona jest wtedy czytana przez połączenie rezydencjalne w tym kraju. Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron. Przedpłacone kredyty nigdy nie wygasają: niewykorzystane strony pozostają na Twoim koncie, dopóki ich nie wykorzystasz. Kredyty przepadają tylko wtedy, gdy usuniesz konto lub gdy zamkniemy je z powodu naruszenia tego regulaminu. Jeśli przestaniemy sprzedawać usługę, powiadomimy z co najmniej 30-dniowym wyprzedzeniem, abyś mógł wykorzystać pozostałe kredyty lub przenieść ich wartość na inny produkt. ## 5. Jak działają płatności? Ceny są w dolarach amerykańskich na [stronie cennika](https://webreaderapi.com/pl/pricing/). Doładowujesz saldo w BTC, USDT, USDC, ETH, SOL, LTC, z minimum 25 USD, i kupujesz pakiety kredytów z tego salda. Wyślij dokładną kwotę wskazaną w podanej sieci, a następnie kliknij „I've sent the payment”; płatność jest dopasowywana po dokładnej kwocie i księgowana po potwierdzeniu w blockchainie. Saldo zachowuje swoją wartość bez daty końcowej. Gdy pakiet kosztuje mniej niż minimalne doładowanie, nadwyżkę można odzyskać w ciągu 30 dni, w USDT lub USDC, o ile jest niewykorzystana; pozostałe doładowania nie są zwracane, chyba że wymaga tego prawo. Opłaty sieciowe ponosi nadawca. ## 6. Czy mogę otrzymać zwrot? Tak, na Twoje saldo, w dwóch przypadkach: pakiet wykorzystany w mniej niż 20% w ciągu 72 godzin od zakupu oraz pakiet, który nie działa i którego wsparcie nie potrafi naprawić w ciągu jednego dnia. [Polityka zwrotów](https://webreaderapi.com/pl/refunds/) podaje pełną zasadę wraz z przykładami. ## 7. Jakie zasady dotyczą stron, które czytam? Nasz crawler stosuje do każdego zapytania trzy zasady i nie można ich wyłączyć. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. Jeśli witryna zadeklaruje Content-Signal: ai-input=no w swoim robots.txt, nie czytamy jej stron dla Ciebie. 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. Odpowiadasz za sposób vyużycia otrzymanej treści, w tym za prawa jej właścicieli. [Polityka dopuszczalnego użytkowania](https://webreaderapi.com/pl/acceptable-use/) wymienia zabronione zastosowania. ## 8. Czy obowiązują limity wolumenu lub szybkości? Każde konto ma limit liczby stron czytanych jednocześnie; Twój dashboard go pokazuje, a support może go podnieść. Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay. Do 100 URL-i na jedno zadanie wsadowe. Możemy spowolnić lub wstrzymać zapytania do jednej witryny, aby ją chronić, na przykład respektując jej `Crawl-delay`. ## 9. Kiedy możesz zawiesić moje konto? Gdy stwierdzimy naruszenie tego regulaminu lub polityki dopuszczalnego użytkowania, gdy płatność zostanie cofnięta lub jest oszukańcza, albo gdy wymaga tego prawo. Podajemy przyczynę, gdy prawo na to pozwala, a przed każdym zawieszeniem fakty sprawdza człowiek. ## 10. Co gwarantujecie? Świadczymy usługę w stanie, w jakim jest. Nie gwarantujemy, że daną stronę da się odczytać, że witryna zaakceptuje nasze zapytania ani że usługa będzie działać bez przerw. Nieudane zapytania i strony odrzucone przez witrynę nie są naliczane, co ogranicza Twój koszt, gdy strony nie da się odczytać. ## 11. Jaka jest wasza odpowiedzialność? Tam, gdzie pozwala na to prawo, nasza łączna odpowiedzialność z tytułu jakiegokolwiek roszczenia jest ograniczona do kwot, które nam zapłaciłeś w ciągu 12 miesięcy przed zdarzeniem, które je spowodowało. Nie odpowiadamy za szkody pośrednie, takie jak utracone zyski lub utracone dane. Żadne postanowienie tego regulaminu nie ogranicza odpowiedzialności, której prawo nie pozwala nam ograniczyć. ## 12. Jak zmienia się ten regulamin? Każdą wersję opatrujemy datą, a zmiany zapisujemy w [dzienniku zmian](https://webreaderapi.com/pl/changelog/). Zmiana, która ogranicza Twoje prawa, dotyczy kredytów kupionych po jej opublikowaniu. Pytania kieruj na support@webreaderapi.com. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # API konwersji strony internetowej do Markdown: główna treść dowolnego URL, gotowa dla modelu > API konwersji strony internetowej do Markdown dla LLM i agentów AI: dowolny URL do czystego Markdown z tytułem, autorem i datą, od 0,07 USD/1K stron. - URL: https://webreaderapi.com/pl/url-to-markdown-api/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Przekaż URL i otrzymaj artykuł z powrotem jako Markdown: nagłówki, akapity, listy, tabele i linki zachowane; menu, banery cookie, reklamy i stopki usunięte. Z tytułem, autorem, datą i językiem strony. **Szybka odpowiedź — Które API konwertuje stronę internetową na czysty Markdown dla LLM?** API konwersji strony internetowej do Markdown pobiera stronę, zachowuje jej główną treść i zwraca ją jako Markdown. **WebReaderAPI** robi to w jednym zapytaniu: `GET https://webreaderapi.com/api/v1/read?url=…` zwraca artykuł z nagłówkami, listami, tabelami i linkami oraz tytułem, autorem, datą i liczbą słów, za jeden kredyt na stronę od 0,07 USD/1K stron według stanu na październik 2026. robots.txt jest respektowany. Bez KYC; płatność kryptowalutą. ## API URL do Markdown w skrócie | Atrybut | Wartość | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` (lub `POST` z ciałem JSON) | | Dane wyjściowe | Czysty Markdown głównej treści strony (lub czysty tekst, lub oczyszczony HTML), z tytułem, opisem, autorem, datą publikacji, językiem i liczbą słów; linki i obrazy na żądanie | | JavaScript | Renderowanie JavaScript w przeglądarce headless, gdy strona tego wymaga (render=auto), zawsze lub nigdy | | 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ą | | Budżet tokenów | `max_chars` skraca Markdown do długości, jaką przyjmie Twój model | | robots.txt | Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą | | Cena | 3,75 USD za 10 000 stron, 21,75 USD za 100 000 stron, od 0,07 USD/1K stron przy 5 000 000 stron | | Płatność | BTC, USDT, USDC, ETH, SOL, LTC, z doładowania 25 USD; bez KYC | ## Po co konwertować strony internetowe do Markdown, zanim poda się je modelowi? Markdown zachowuje strukturę, której potrzebuje model, i usuwa znaczniki, których nie potrzebuje. Typowa strona artykułu zawiera nawigację, skrypty, tagi śledzące, komunikaty o cookies i widżety powiązanych postów wokół kilkuset słów tekstu. Wysłane jako surowy HTML, większość tokenów, za które płacisz, to znaczniki. Markdown zachowuje nagłówki jako `#`, listy jako `-`, tabele jako pionowe kreski, a linki jako `[text](url)`. Model nadal widzi, które zdanie należy do której sekcji, może zacytować link źródłowy i podzielić tekst na fragmenty według nagłówków. Ten sam tekst w zwykłej prozie traci tę strukturę; ten sam tekst w HTML kosztuje znacznie więcej tokenów. ## Co API zachowuje, a co usuwa? Przy `main_content=true`, czyli domyślnie, API zachowuje tę część strony, po którą przyszedł czytelnik, a resztę usuwa. | Zachowane | Usunięte | |---|---| | Tytuł i nagłówki | Nawigacja i menu strony | | Akapity, cytaty i listy | Banery cookies i zgód | | Tabele, jako tabele Markdown | Reklamy i promowane widżety | | Bloki kodu, z językiem, gdy jest pokazany | Panele boczne i listy powiązanych postów | | Linki w tekście | Stopki i szablonowe zapisy prawne | | Obrazy, tylko z `include_images=true` | Przyciski udostępniania i formularze komentarzy | Ustaw `main_content=false`, aby zamiast tego skonwertować całą stronę, na przykład stronę główną lub listę produktów, gdzie wszystko się liczy. Ustaw `format=text` dla zwykłego tekstu bez Markdown albo `format=html` dla oczyszczonego HTML głównej treści. *curl: jedna strona jako Markdown, przycięta do 20 000 znaków* ```bash curl -G "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/pour-over-coffee" \ -d format=markdown -d max_chars=20000 ``` *Python: odczytaj stronę i wypisz jej metadane oraz Markdown* ```python 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/pour-over-coffee", "format": "markdown"}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["title"], "|", page.get("author"), "|", page.get("published_at")) print(page["word_count"], "words,", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## Co ze stronami zbudowanymi w JavaScript? Wiele stron wysyła w pierwszym HTML prawie żadnego tekstu i buduje treść w przeglądarce. Przy `render=auto`, czyli domyślnie, API najpierw czyta surowy HTML; jeśli zawiera zbyt mało tekstu, otwiera stronę w przeglądarce headless i odczytuje wynik. Odpowiedź mówi, co się stało, w `rendered`. Strona, która wymagała przeglądarki, kosztuje dwa kredyty zamiast jednego. Jeśli wiesz, że dana witryna zawsze jej wymaga, ustaw `render=true`; jeśli chcesz tylko to, co wysyła serwer, ustaw `render=false` i nigdy nie płać drugiego kredytu. ## Co się dzieje, gdy witryna nie chce być czytana? Szanujemy jej wybór i nie pobieramy opłaty. Nasz crawler identyfikuje się jako `WebReaderAPI` i przed każdym odczytem sprawdza robots.txt. Strona niedozwolona dla naszego tokena lub dla wszystkich robotów zwraca `403 blocked_by_robots`. Witryna, która deklaruje `Content-Signal: ai-input=no`, zwraca `403 blocked_by_site_policy`. Jeśli witryna odmawia obsługi zapytania w inny sposób, na przykład statusem 403, stroną wyzwania lub ścianą logowania, otrzymujesz `502 target_refused` ze statusem samej witryny. 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. Nasza [strona crawlera](https://webreaderapi.com/pl/bot/) wyjaśnia to wszystko właścicielom witryn, wraz z dokładnym User-Agent. ## Ile stron będzie potrzebował mój projekt? Licz jeden kredyt za stronę, dwa za strony wymagające przeglądarki. Kilka typowych wolumenów: - **Agent AI**, który czyta 5 stron na zadanie i wykonuje 100 zadań dziennie, czyta około 15 000 stron miesięcznie: 50 000 stron (14,25 USD) wystarczą na ponad trzy miesiące. - **Indeks RAG** trzech witryn dokumentacji po 2 000 stron każda to 6 000 stron, a potem cotygodniowe odświeżanie zmienionych stron. - **Korpus badawczy** 400 000 artykułów informacyjnych i blogowych mieści się w 500 000 stron (50 USD). Kredyty nigdy nie wygasają, więc pack kupiony na jednorazowy crawl zachowuje pozostałą wartość na późniejsze zadania. ## Ile kosztuje API konwersji strony internetowej do Markdown? 10 000 stron kosztują 3,75 USD, 100 000 stron kosztują 21,75 USD, a 1 000 000 stron kosztują 74,25 USD, według stanu na październik 2026. Strony nieudane i strony odrzucone przez robots.txt są bezpłatne. Zobacz [wszystkie packi](https://webreaderapi.com/pl/pricing/). | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Volume | 1 000 000 stron | 74,25 USD | 0,07 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## API konwersji strony internetowej do Markdown: najczęstsze pytania ### Czy Markdown zachowuje tabele i bloki kodu? Tak. Tabele HTML stają się tabelami Markdown, a bloki kodu pozostają ogrodzone, z językiem, gdy strona go oznacza. Bardzo złożone tabele, na przykład te z scalonymi komórkami, są spłaszczane wiersz po wierszu. ### Czy mogę dostać całą stronę zamiast artykułu? Tak. Ustaw `main_content=false`, a API skonwertuje wszystko na stronie, łącznie z nawigacją i stopką. To pasuje do stron głównych, stron kategorii i list produktów, gdzie detektor głównej treści pominąłby przydatne części. ### Jak zmieścić strony w oknie kontekstu mojego modelu? Użyj `max_chars`, od 1 000 do 500 000 znaków, aby przyciąć Markdown do ustalonej długości. Pole `word_count` mówi, jak długi był cały artykuł, więc Twój agent może zdecydować, czy czytać dalej. ### Czy potrafi czytać strony za logowaniem lub paywallem? Nie. WebReaderAPI czyta tylko publiczne strony. Nigdy nie loguje się do kont i nie próbuje obejść paywalla ani blokady; takie strony zwracają odmowę witryny i nie są obciążane opłatą. ### Czy potrzebuję dowodu lub karty, aby otrzymać klucz? Nie. WebReaderAPI nie wymaga dowodu, selfie, dokumentów firmy ani karty. Logowanie numerem konta; e-mail jest opcjonalny. Doładowujesz z 25 USD w BTC, USDT, USDC, ETH, SOL, LTC. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Co możesz zbudować z web reader API? > WebReaderAPI: narzędzia do pobierania stron dla agentów AI, indeksy RAG, monitorowanie zmian i eksport do Markdown. Od 0,07 USD/1K stron. - URL: https://webreaderapi.com/pl/use-cases/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Cztery zadania odpowiadają za większość tego, co ludzie robią z czystym tekstem stron: dać agentowi sposób na czytanie, zasilić bazę wiedzy, obserwować strony pod kątem zmian i przenieść treść witryny do Markdown. Każde ma własną stronę z kodem i kosztami. **Szybka odpowiedź — Do czego służy web reader API?** Zespoły używają web reader API, aby dać agentom AI narzędzie do pobierania stron, aby zasilać indeksy RAG witrynami, aby monitorować publiczne strony pod kątem zmian i aby konwertować własne witryny do Markdown. **WebReaderAPI** obejmuje wszystkie cztery zastosowania jednym kluczem API: `/read` za stronę, `/batch` za listę, `/crawl` za witrynę, po jednym kredycie za stronę od 0,07 USD/1K stron na dzień października 2026. Bez KYC; płatność kryptowalutą. ## Które zastosowanie jest Twoje? - **[Agenty AI](https://webreaderapi.com/pl/use-cases/ai-agents/)** — Narzędzie read_url dla Claude, Cursor, OpenClaw, n8n lub Twojego własnego agenta, z limitem długości na stronę. - **[Zasilanie RAG](https://webreaderapi.com/pl/use-cases/rag/)** — Crawling dokumentacji i blogów do fragmentów Markdown, które zachowują nagłówki i URL źródła. - **[Monitorowanie zmian](https://webreaderapi.com/pl/use-cases/monitoring/)** — Czytaj strony z cennikami, regulaminami i changelogami według harmonogramu i otrzymuj różnice jako tekst. - **[Konwersja strony internetowej do Markdown](https://webreaderapi.com/pl/use-cases/website-to-markdown/)** — Eksportuj własną witrynę do plików Markdown na potrzeby migracji, kopii zapasowej lub własnego asystenta. - **[PDF-y](https://webreaderapi.com/pl/pdf-to-markdown-api/)** — Raporty, artykuły naukowe i instrukcje z linku, skonwertowane do tekstu Markdown. - **[llms.txt](https://webreaderapi.com/pl/guides/llms-txt-generator/)** — Zbuduj plik llms.txt dla własnej witryny na podstawie crawlingu, z jednym wierszem na stronę. ## Który endpoint i ile stron potrzebuje każde zastosowanie? Typowe wolumeny dla małego zespołu, aby dobrać wielkość pierwszego packa. Jeden kredyt za stronę, dwa, gdy strona wymaga przeglądarki. | Zastosowanie | Endpoint | Typowe strony miesięcznie | | --- | --- | --- | | Agent, który czyta 5 stron na zadanie, 100 zadań dziennie | `/read` | Około 15 000 | | Indeks RAG 3 witryn z dokumentacją, odświeżany co tydzień | `/crawl`, potem `/batch` | 6 000 na budowę, kilkaset tygodniowo potem | | Codzienne obserwowanie 200 stron konkurencji i stron z politykami | `/batch` | Około 6 000 | | Jednorazowy eksport witryny liczącej 2 000 stron | `/crawl` | 2 000, jednorazowo | ## Co łączy te cztery zadania? Wszystkie potrzebują czytelnej części strony, a nie jej układu. Agent marnuje kredyty na menu; indeks rankuje boilerplate; monitor zmian zgłasza fałszywe alarmy, gdy obraca się reklama; migracja kopiuje banery cookie do nowej witryny. Wyodrębnianie głównej treści rozwiązuje ten sam problem w każdym przypadku. Łączą je też te same ograniczenia. Strony za loginem lub paywallem są poza zasięgiem, a witryny, które odmawiają robotom, są pomijane i nie są naliczane. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. ## Jak wybrać między /read, /batch i /crawl? Użyj najmniejszego narzędzia, które załatwia sprawę. - **`/read`** zwraca jedną stronę synchronicznie. Pasuje do agentów, które decydują strona po stronie, co czytać dalej. - **`/batch`** czyta do 100 znanych Ci URL-i jako zadanie w tle. Pasuje do list monitorowanych i odświeżeń. - **`/crawl`** odkrywa i czyta całą witrynę od URL-a startowego, do 10 000 stron, zgodnie z jej sitemap i robots.txt. Pasuje do pierwszych buildów i eksportów. Wszystkie trzy przyjmują te same opcje, takie jak `format`, `main_content`, `render` i `max_chars`, i rozliczają w ten sam sposób. ## Ile będzie kosztował pierwszy projekt? Większość pierwszych projektów mieści się w jednym małym packu. Prototyp agenta, pojedynczy indeks dokumentacji albo lista monitorowanych kilkuset stron zużywa od kilku tysięcy do piętnastu tysięcy kredytów miesięcznie. 10 000 stron kosztują 3,75 USD, a 50 000 stron kosztują 14,25 USD, według stanu na październik 2026. Kredyty nie wygasają, więc kupno większego packa do projektu, który może urosnąć, nic nie kosztuje ekstra w spokojnym miesiącu. Nieudane strony i strony odrzucone przez robots.txt są darmowe. ## Packi na pierwszy projekt Zacznij od małego; kredyty przechodzą dalej bez daty końcowej. 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ą. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Use cases: częste pytania ### Czy mogę użyć jednego klucza API do kilku projektów? Tak, albo utwórz jeden klucz API na projekt, żeby widzieć zużycie osobno i unieważnić jeden bez ruszania pozostałych. Twórz wiele kluczy API, na przykład po jednym na agenta lub projekt, i unieważniaj dowolny z nich ze swojego dashboardu. ### Który use case wymaga renderowania JavaScript? Każdy, który czyta nowoczesne aplikacje webowe, jednostronicowe witryny dokumentacji albo strony ładujące treść po pierwszej odpowiedzi. Z `render=auto` API renderuje tylko wtedy, gdy surowy HTML zawiera za mało tekstu. ### Czy jest use case, do którego WebReaderAPI się nie nadaje? Tak: zbieranie danych osobowych o osobach prywatnych, czytanie treści za loginem lub paywallem i wszystko, co wymaga obejścia odmowy witryny. Nasza [Acceptable Use Policy](https://webreaderapi.com/pl/acceptable-use/) zawiera zasady. ### Czy potrzebuję dokumentu tożsamości, żeby zacząć? Nie. WebReaderAPI nie wymaga dokumentu, selfie ani żadnych papierów. Doładowanie zaczyna się od 25 USD, w BTC, USDT, USDC, ETH, SOL, LTC. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Narzędzie web fetch dla agentów AI: czytaj strony jako czysty Markdown > Narzędzie web fetch dla agentów AI czyta publiczną stronę jako Markdown, przez MCP, OpenAI tools, LangChain lub n8n, od 0,07 USD/1K stron. Kryptowaluta. - URL: https://webreaderapi.com/pl/use-cases/ai-agents/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) 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ą. ## WebReaderAPI jako narzędzie agenta | Atrybut | Wartość | | --- | --- | | 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](https://webreaderapi.com/pl/docs/mcp/), [OpenAI](https://webreaderapi.com/pl/docs/openai/), [LangChain i LlamaIndex](https://webreaderapi.com/pl/docs/langchain/), [n8n](https://webreaderapi.com/pl/docs/n8n/), [OpenClaw](https://webreaderapi.com/pl/docs/openclaw/) | | Cena | 3,75 USD za 10 000 stron; kredyty nigdy nie wygasają | ## Dlaczego agent potrzebuje readera zamiast surowego HTML? 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ć. ## Dlaczego wbudowane narzędzia do pobierania czasem zawodzą? 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](https://webreaderapi.com/pl/guides/web-fetch-403-errors/) wyjaśnia każdy przypadek. ## Dlaczego narzędzie nazywa się read_url, a nie web_fetch? 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. *Python: zwarte narzędzie read_url z limitem długości* ```python 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]) ``` ## Jak agent powinien decydować, co czytać? Daj mu budżet i regułę. Trzy nawyki trzymają koszty i kontekst w ryzach: - **Czytaj mało, czytaj dobrze.** Dwa do czterech źródeł na pytanie zwykle wystarczą, by odpowiedzieć z cytatami. - **Ogranicz każdą stronę.** Zacznij od `max_chars` około 10 000 do 15 000 znaków; zwiększaj tylko wtedy, gdy `word_count` pokazuje, że odpowiedź jest prawdopodobnie dalej. - **Zgłaszaj odmowy.** Gdy strona nie jest czytana, pozwól modelowi to powiedzieć i przejść do innego źródła zamiast ponawiać próby. Powyższe narzędzie zwraca odmowy jako jedno zwykłe zdanie, więc model może je wyjaśnić użytkownikowi. ## Ile kosztuje uruchomienie agenta na WebReaderAPI? 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. ## Który pack pasuje do agenta? 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ą. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Agenci AI: najczęstsze pytania ### Czy mogę dodać WebReaderAPI do Claude Desktop lub Cursor? Tak, przez mały serwer MCP, który udostępnia `read_url`. [Strona MCP](https://webreaderapi.com/pl/docs/mcp/) zawiera kod i fragment konfiguracji; Twój klucz API pozostaje w zmiennej środowiskowej. ### Czy działa z OpenClaw? Tak, jako serwer MCP obok wbudowanego web_fetch w OpenClaw. [Strona OpenClaw](https://webreaderapi.com/pl/docs/openclaw/) pokazuje polecenia z dokumentacji samego OpenClaw. ### Czy agent może czytać strony, które blokują boty AI? 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. ### Jak powstrzymać długą stronę przed zapełnieniem okna kontekstu? 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. ### Czy potrzebuję karty lub dokumentu tożsamości? 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. ## Źródła 1. [Komunikat prasowy: crawlery AI blokowane domyślnie](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [Blog: nowe domyślne ustawienia dla crawlerów AI i agentów](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 3. [Narzędzie do pobierania stron](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Monitorowanie zmian na stronach: diff publicznych stron jako czysty Markdown > Monitoruj strony pod kątem zmian: czytaj cenniki i polityki jako Markdown według harmonogramu, porównuj tekst i wysyłaj alerty. Od 0,07 USD/1K stron. - URL: https://webreaderapi.com/pl/use-cases/monitoring/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Porównywanie surowego HTML wywołuje alert za każdym razem, gdy zmieni się reklama lub token. Porównywanie głównej treści jako Markdown sygnalizuje tylko to, co zauważyłby czytelnik: nową cenę, przeformułowaną klauzulę, nowy wpis w changelogu. **Szybka odpowiedź — Jak mogę monitorować strony internetowe pod kątem zmian treści?** Czytaj każdą stronę według harmonogramu jako Markdown jej głównej treści, zapisuj tekst i porównuj go z poprzednią wersją; wysyłaj alert tylko wtedy, gdy tekst się zmieni. **WebReaderAPI** czyta do 100 URL-i na zadanie batch, usuwa reklamy i menu, żeby nie wywoływały fałszywych alarmów, i pobiera jeden kredyt za stronę od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą. ## Monitorowanie z WebReaderAPI | Atrybut | Wartość | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/batch`, potem `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Rozmiar batcha | Do 100 URL-i na jedno zadanie wsadowe | | Co jest porównywane | Markdown głównej treści, bez reklam, menu i bannerów | | 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ą | | Przykładowy wolumen | 200 stron sprawdzanych dziennie = około 6000 stron miesięcznie | | Cena | 3,75 USD za 10 000 stron; kredyty nigdy nie wygasają | ## Co warto monitorować? Strony, których treść ma znaczenie dla Twojego biznesu i które zmieniają się bez zapowiedzi: - **Strony z cennikami** dostawców i konkurentów, aby zobaczyć nowe plany i zmiany cen. - **Regulaminy, polityki prywatności i zwrotów**, od których zależysz, aby wychwycić zmieniające się klauzule. - **Changelogi i informacje o wydaniach** narzędzi, na których budujesz, aby reagować na breaking changes. - **Strony dokumentacji**, do których linkuje Twój produkt, aby szybko poprawiać błędne wskazówki. - **Publiczne komunikaty** regulatorów lub organizacji standaryzacyjnych w Twojej dziedzinie. Trzymaj się listy publicznych stron. Profile osobiste i strony za loginem są poza zakresem. ## Dlaczego porównywać Markdown, a nie HTML? Ponieważ HTML zmienia się cały czas, choć treść się nie zmienia. Rotujące reklamy, tokeny sesji, znaczniki czasu w stopkach i znaczniki testów A/B sprawiają, że dwa wczytania tej samej strony się różnią. Diff na HTML zamienia ten szum w alerty, a ludzie przestają je czytać. Markdown głównej treści usuwa większość szumu przed porównaniem. Zostaje tekst, który czyta człowiek: nagłówki, akapity, listy i tabele. Diff na tym tekście jest krótki, czytelny i wart alertu. *Python: sprawdź listę stron i wypisz, co się zmieniło* ```python import difflib import json import os import pathlib import time import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} STORE = pathlib.Path("snapshots.json") URLS = [ "https://example.com/pricing", "https://example.com/legal/terms", "https://example.com/changelog", ] old = json.loads(STORE.read_text(encoding="utf-8")) if STORE.exists() else {} job = requests.post(API + "/batch", headers=HEADERS, json={"urls": URLS}, timeout=60).json() results, cursor, delay = [], None, 5 while True: params = {"cursor": cursor} if cursor else {} page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() results += page.get("results", []) cursor = page.get("next_cursor") if page["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) new = dict(old) for item in results: if "markdown" not in item: print("not read:", item["url"], item.get("error", {}).get("code")) continue before = old.get(item["url"], "") if before and before != item["markdown"]: diff = difflib.unified_diff(before.splitlines(), item["markdown"].splitlines(), lineterm="", n=0) print("CHANGED:", item["url"]) print("\n".join(list(diff)[:40])) new[item["url"]] = item["markdown"] STORE.write_text(json.dumps(new, ensure_ascii=False), encoding="utf-8") ``` ## Jak często sprawdzać i jak uprzejmie? Sprawdzaj tak często, jak realistycznie zmienia się strona, i nie częściej. Codziennie pasuje do stron z cennikami i changelogów; co tydzień pasuje do polityk i dokumentacji. Strona czytana co godzinę rzadko mówi więcej niż jedno czytanie dziennie, a kosztuje 24 razy więcej. WebReaderAPI przestrzega robots.txt dla każdej strony i respektuje `Crawl-delay` witryny w zadaniach crawlowania. Strony, których witryna zabrania, są pomijane i nie są naliczane, więc rygorystyczna witryna po prostu wypada z raportu. Zapytaj właściciela, jeśli potrzebujesz dostępu do strony, która odmawia robotom. ## Ile kosztuje monitoring? Jeden kredyt za stronę na sprawdzenie. Kilka przykładów w cenach z października 2026: - **50 stron, codziennie:** około 1500 stron miesięcznie. 10 000 stron (3,75 USD) wystarczą na ponad sześć miesięcy. - **200 stron, codziennie:** około 6000 stron miesięcznie. 50 000 stron (14,25 USD) wystarczą na około osiem miesięcy. - **1000 stron, co tydzień:** około 4300 stron miesięcznie, blisko poprzedniego przypadku. Strony wymagające przeglądarki zużywają dwa kredyty; ustaw `render=false` dla stron, o których wiesz, że są czystym HTML, aby utrzymać licznik na jednym. ## Który pakiet pasuje do monitoringu? Pomnóż strony przez liczbę sprawdzeń miesięcznie, a potem wybierz pakiet, który wystarczy na kilka miesięcy. Kredyty nigdy nie wygasają. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Monitoring zmian: najczęstsze pytania ### Czy WebReaderAPI wysyła alerty? Nie. Odczytuje strony i zwraca Markdown; Twój skrypt porównuje wersje i wysyła alert e-mailem, na czacie lub jako zgłoszenie. Powyższy kod wypisuje zmienione linie jako punkt wyjścia. ### Jak unikać fałszywych alarmów od dat i liczników? Porównuj Markdown głównej treści, a nie HTML, i przed diffem usuń linie, o których wiesz, że zmieniają się przy każdym wczytaniu, takie jak „zaktualizowano 5 minut temu”. Większość rotujących elementów jest już usuwana przez wyodrębnianie głównej treści. ### Czy mogę monitorować strony wymagające JavaScript? Tak. Z `render=auto` strony, które bez JavaScript są puste, są renderowane w przeglądarce za dwa kredyty. Strony działające bez niego pozostają na jednym. ### Czy mogę monitorować całą witrynę, a nie listę stron? Tak: uruchom zadanie crawlowania zamiast batcha, a potem porównuj stronę po stronie. W przypadku dużych witryn najpierw porównaj daty `lastmod` w sitemapie i ponownie odczytaj tylko strony, które się zmieniły. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Strony internetowe dla RAG: zamień witryny w czysty, podzielny na chunki Markdown > Zasilaj pipeline'y RAG stronami internetowymi: crawluj dokumentację do czystego Markdown i dziel według nagłówków. Od 0,07 USD/1K stron, bez KYC. - URL: https://webreaderapi.com/pl/use-cases/rag/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Wyszukiwanie działa na tym, co wrzucisz do indeksu. Czysty Markdown z nagłówkami, metadanymi i źródłowym URL-em daje lepsze chunki, mniej zmarnowanych tokenów i odpowiedzi, które potrafią zacytować swoją stronę. **Szybka odpowiedź — Jak wczytywać strony internetowe do pipeline'u RAG?** Odczytaj każdą stronę jako Markdown jej głównej treści, podziel go wzdłuż nagłówków, dołącz źródłowy URL i tytuł do każdego chunka, a następnie zrób embedding i zapisz. **WebReaderAPI** zajmuje się odczytem: jedno zapytanie na stronę lub jedno zadanie crawlowania dla całej witryny do 10 000 stron, po jednym kredycie za stronę od 0,07 USD/1K stron według stanu na październik 2026. robots.txt jest respektowany. Bez KYC; płatność kryptowalutą. ## Wczytywanie do RAG z WebReaderAPI | Atrybut | Wartość | | --- | --- | | Cała witryna | `POST https://webreaderapi.com/api/v1/crawl`: Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay | | Lista URL-i | `POST https://webreaderapi.com/api/v1/batch`: Do 100 URL-i na jedno zadanie wsadowe | | Za stronę | Markdown głównej treści, tytuł, autor, data, język, liczba słów | | PDF-y | Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron | | 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ą | | Cena | 14,25 USD za 50 000 stron; kredyty nigdy nie wygasają | ## Dlaczego czysty Markdown daje lepsze wyszukiwanie? Chunki złożone z boilerplate'u wyszukują się źle. Gdy strona jest dzielona z menu, tekstem o cookies i stopką w środku, wiele chunków zawiera te same słowa nawigacji, a wyszukiwanie wektorowe zwraca je na niepowiązane pytania. Wyodrębnianie głównej treści usuwa ten szum przed zrobieniem embeddingu. Nagłówki mają równie duże znaczenie. Chunk, który zaczyna się od `## Refund policy`, niesie ze sobą swój temat, więc zarówno embedding, jak i model czytający go później wiedzą, o czym jest. Czysty tekst gubi ten sygnał; surowy HTML ukrywa go pod znacznikami. ## Jak wygląda pipeline wczytywania? Pięć kroków, niezależnie od tego, jakiego magazynu wektorów używasz: 1. **Zbierz adresy URL.** Przejdź przez crawling strony lub wyślij listę, którą już masz, jako batch. 2. **Czytaj jako Markdown.** Zostaw `main_content=true` dla artykułów i dokumentacji; użyj `false` dla stron listingowych. 3. **Dziel według nagłówków.** Tnij na `#`, `##` i `###`, a następnie skracaj długie sekcje do swojego limitu rozmiaru z niewielkim zakładkiem. 4. **Dołącz metadane.** Zapisuj `url`, `title`, `published_at` i ścieżkę nagłówków przy każdym chunku, żeby odpowiedzi mogły cytować swoje źródło. 5. **Odświeżaj.** Ponownie czytaj strony, których `lastmod` w sitemapie się zmienił, i usuwaj chunki stron, które teraz zwracają błąd. *Python: czytaj strony i dziel je na chunki wraz ze źródłem* ```python import os import re import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} URLS = [ "https://docs.example.com/getting-started", "https://docs.example.com/billing", ] def chunks_for(url, max_len=2000): page = requests.get(API, headers=HEADERS, params={"url": url}, timeout=90).json() if "markdown" not in page: return [] out = [] for section in re.split(r"\n(?=#{1,3} )", page["markdown"]): section = section.strip() heading = section.splitlines()[0] if section else "" for start in range(0, len(section), max_len): out.append({ "text": section[start:start + max_len], "url": page.get("final_url", url), "title": page.get("title"), "heading": heading, }) return out all_chunks = [c for u in URLS for c in chunks_for(u)] print(len(all_chunks), "chunks ready to embed") ``` ## Ile kosztuje zbudowanie i odświeżanie indeksu? Zbudowanie kosztuje jeden kredyt za stronę, dwa za strony wymagające przeglądarki. Odświeżanie kosztuje tylko ponownie czytane strony. Trzy przykłady, według cen z października 2026: - **Centrum pomocy produktu** liczące 800 stron, odświeżane miesięcznie dla zmienionych stron (około 10%): 800 kredytów raz, potem około 80 miesięcznie. 10 000 stron (3,75 USD) wystarczą na lata. - **Dziesięć serwisów z dokumentacją** po 2 000 stron każdy, odświeżane co tydzień w 5%: 20 000 kredytów, potem około 4 000 miesięcznie. 50 000 stron (14,25 USD) pokrywają zbudowanie i siedem miesięcy odświeżeń. - **Archiwum wiadomości** liczące 300 000 artykułów, które nigdy się nie zmieniają: 300 000 kredytów raz, co mieści się w 500 000 stron (50 USD). Embeddingi i przechowywanie rozliczasz u własnych dostawców i nie są one wliczone w cenę. ## Czy mogę indeksować strony, które nie chcą być indeksowane? Nie przez WebReaderAPI. Strony zabronione przez robots.txt dla naszego crawlera lub dla wszystkich robotów są pomijane i nie są naliczane; serwisy, które deklarują `Content-Signal: ai-input=no`, nie są dla Ciebie czytane. W przypadku własnych stron lub stron partnerów, które blokują roboty, poproś właściciela o zezwolenie `WebReaderAPI` w robots.txt; nasza [strona crawlera](https://webreaderapi.com/pl/bot/) pokazuje linie do dodania. Ma to znaczenie także dla Twoich użytkowników. Asystent RAG, który cytuje źródła, jest bardziej użyteczny, gdy te źródła zgodziły się na odczyt. ## Który pakiet pasuje do projektu RAG? Policz strony do zbudowania indeksu, dodaj miesięczne odświeżanie i wybierz pakiet, który pokryje kilka miesięcy. Kredyty nigdy nie wygasają. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron | | Scale | 500 000 stron | 50 USD | 0,10 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Wprowadzanie danych do RAG: najczęstsze pytania ### Jakiego rozmiaru chunku powinienem używać? Najpierw dziel według nagłówków, a potem skracaj sekcje dłuższe niż około 500 do 1 000 tokenów z niewielkim zakładkiem. Chunki oparte na nagłówkach zachowują jeden temat każdy, co zwykle daje lepsze wyniki wyszukiwania niż okna o stałym rozmiarze na całej stronie. ### Czy WebReaderAPI tworzy embeddingi lub przechowuje wektory? Nie. WebReaderAPI czyta strony i zwraca Markdown z metadanymi. Embeddingi tworzysz modelu swojego wyboru i przechowujesz we własnej bazie danych wektorów; [strona LangChain i LlamaIndex](https://webreaderapi.com/pl/docs/langchain/) pokazuje jedno i drugie. ### Jak utrzymać indeks w aktualnym stanie? Ponownie czytaj tylko strony, które się zmieniły. Większość sitemap zawiera datę `lastmod` dla każdego adresu URL; porównaj ją z ostatnim odczytem i wyślij zmienione adresy URL jako batch. Strony, które teraz zwracają błąd, należy usunąć z indeksu. ### Czy mogę uwzględnić pliki PDF z tej samej strony? Tak. Crawling czyta linki do PDF w tej samej domenie z tymi samymi sprawdzeniami robots.txt. Pliki PDF do 20 MB i 100 stron są konwertowane do Markdown, po 1 kredycie za każdy rozpoczęty blok 10 stron. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą. --- # Konwersja strony internetowej do Markdown: przejdź przez crawling i wyeksportuj każdą stronę > Konwersja strony do Markdown: crawling własnej witryny i eksport każdej strony z front matter na potrzeby migracji, kopii zapasowej lub asystenta. Bez KYC. - URL: https://webreaderapi.com/pl/use-cases/website-to-markdown/ - Ostatnia aktualizacja: 2026-10-22 - Wydawca: WebReaderAPI (https://webreaderapi.com) Przejście na generator stron statycznych, platformę dokumentacji lub bazę wiedzy często zaczyna się od jednego pytania: jak wydobyć moje strony jako czysty Markdown? Crawling robi to w jednym zadaniu, zachowując tytuły, daty i adresy URL we front matter. **Szybka odpowiedź — Jak przekonwertować całą moją stronę internetową do Markdown?** Przejdź przez crawling swojej strony, odczytaj główną treść każdej strony jako Markdown i zapisz jeden plik `.md` na stronę z jej tytułem, adresem URL i datą we front matter. **WebReaderAPI** przechodzi przez crawling do 10 000 stron na zadanie, podąża za Twoją sitemapą i robots.txt i nalicza jeden kredyt za stronę z 0,07 USD/1K stron na dzień października 2026. Poniższy skrypt w Pythonie zapisuje pliki. Bez KYC; płatność kryptowalutą. ## Eksport strony internetowej z WebReaderAPI | Atrybut | Wartość | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/crawl`, wyniki z `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Zakres | Crawling jednej witryny na zadanie, do 10 000 stron, zgodnie z jej sitemapą, jej robots.txt i jej Crawl-delay | | Za stronę | Markdown głównej treści oraz tytuł, opis, autor, data i język | | Całe strony | `main_content=false` zachowuje nawigację i stopki, gdy ich potrzebujesz | | Twój robots.txt | Musi zezwalać `WebReaderAPI` na strony, które eksportujesz | | Cena | 3,75 USD za 10 000 stron; kredyty nigdy nie wygasają | ## Kiedy eksport do Markdown jest przydatny? Zawsze, gdy treść musi opuścić system, który ją renderuje. Typowe przypadki: - **Migracje.** Przejście z CMS do generatora stron statycznych lub platformy dokumentacji, która przechowuje strony jako Markdown. - **Kopie zapasowe.** Czytelne archiwum opublikowanych stron, niezależne od żadnej bazy danych ani motywu. - **Własny asystent.** Zasilanie tekstu Twojej strony do bota pomocy lub wyszukiwarki wewnętrznej, z każdym chunkiem powiązanym z jego stroną. - **Audyty.** Czytanie wszystkich stron jako czystego tekstu, aby znaleźć nieaktualne twierdzenia, błędne sformułowania lub zduplikowaną treść. W każdym przypadku chcesz słów i struktury, a nie otaczającego je motywu. *Python: crawling strony do plików Markdown z front matter* ```python import os import pathlib import time from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://www.example.com/" OUT = pathlib.Path("export") def target_path(url): path = urlparse(url).path.strip("/") or "index" return OUT / (path + ".md") def front_matter(page): fields = {"title": page.get("title", ""), "source": page["final_url"], "date": page.get("published_at") or ""} lines = ["---"] + [key + ": " + repr(value) for key, value in fields.items()] + ["---", ""] return "\n".join(lines) job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 2000, "max_depth": 5}, timeout=60).json() cursor, delay, written = None, 5, 0 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() for page in batch.get("results", []): if "markdown" not in page: continue dest = target_path(page["final_url"]) dest.parent.mkdir(parents=True, exist_ok=True) dest.write_text(front_matter(page) + page["markdown"] + "\n", encoding="utf-8") written += 1 cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) print(written, "files in", OUT) ``` ## Jak zachować strukturę folderów i adresy URL? Odbij ścieżkę URL w ścieżce pliku, jak robi to skrypt: `/guides/setup/` staje się `export/guides/setup.md`. Zachowaj oryginalny adres URL we front matter jako `source`, żeby po migracji skonfigurować przekierowania i sprawdzić, czy nic nie zginęło. Linki wewnątrz Markdown nadal wskazują bieżące adresy URL. Po przeniesieniu zamień domenę lub prefiks ścieżki w jednym przebiegu, a potem przetestuj próbkę stron. Tabele i bloki kodu pozostają Markdownem, więc większość generatorów statycznych renderuje je bez zmian. ## Co jeśli mój własny robots.txt blokuje crawler? Zezwól naszemu tokenowi na czas eksportu. WebReaderAPI czyta tylko to, na co robots.txt pozwala `WebReaderAPI` lub wszystkim robotom, także w Twojej własnej witrynie. Dodaj grupę taką jak `User-agent: WebReaderAPI` z `Allow: /`, uruchom crawling, a potem usuń ją, jeśli chcesz. Nasza [strona crawlera](https://webreaderapi.com/pl/bot/) pokazuje dokładne linie i User-Agent, który pojawi się w logach Twojego serwera. Strony, które pozostają zabronione, są pomijane i nie są naliczane. ## Ile kosztuje eksport? Jeden kredyt za stronę, dwa za strony wymagające przeglądarki, aby pokazać swój tekst. Strona licząca 2 000 stron renderowana na serwerze kosztuje 2 000 kredytów raz; ta sama strona jako aplikacja JavaScript może kosztować do 4 000. Oba mieszczą się w 10 000 stron za 3,75 USD, na dzień października 2026. Strona licząca 50 000 stron wymaga kilku zadań, podzielonych według sekcji za pomocą `include_paths`, i mieści się w 100 000 stron (21,75 USD). Kredyty pozostałe po eksporcie zostają na Twoim koncie na późniejsze odświeżenia. ## Który pack pokryje mój eksport? Policz swoje strony, podwój liczbę, jeśli witryna wymaga JavaScript do renderowania, i wybierz pack powyżej tej liczby. Kredyty nigdy nie wygasają. | Plan | Ilość | Cena | Cena za jednostkę | | --- | --- | --- | --- | | Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron | | Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron | | Build | 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ą **Zanim zapłacisz** - Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda. - Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej. - Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Konwersja strony internetowej do Markdown: najczęstsze pytania ### Czy mogę wyeksportować całą stronę, łącznie z menu i stopką? Tak. Ustaw `main_content=false` w opcjach crawlingu, a każdy plik będzie zawierał całą stronę skonwertowaną do Markdown. Większość migracji woli jednak tylko główną treść, bo nowy motyw dostarcza własną nawigację. ### Czy obrazy są pobierane? Nie. Przy `include_images=true` linki do obrazów pozostają w Markdown wraz z tekstem alt; same pliki pobierz własnym skryptem, jeśli migracja ich wymaga. ### Czy mogę wyeksportować witrynę, której nie jestem właścicielem? Tylko publiczne strony, na które pozwala jej robots.txt, i tylko do celów, na które pozwalają jej warunki i prawo. W przypadku migracji lub kopii zapasowej eksportuj własne witryny lub witryny, na które właściciel wyraził zgodę. ### Jak dużą witrynę obsłuży jedno zadanie? Do 10 000 stron na jedno zadanie crawlingu, w obrębie jednej domeny. Większe witryny podziel sekcjami za pomocą `include_paths` i uruchom kilka zadań. --- WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą.