# 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ą.
