Wolne Lektury API
Free Wolne Lektury API with no key: thousands of Polish public domain books with full texts, audiobooks, covers and literary epoch metadata. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Wolne Lektury API?
The Wolne Lektury API is a free, key-free API for Poland's largest public domain digital library. It provides thousands of Polish-language literary works — including most of the national school curriculum — with full texts in multiple formats, audiobooks, cover art and metadata on author, genre and literary epoch.
Wolne Lektury ("Free Readings") is run by the Modern Poland Foundation and occupies a specific and important niche: it holds essentially the entire Polish school reading list as legally free, properly digitised texts. Where Project Gutenberg's Polish holdings are thin, this is comprehensive.
The metadata reflects how Polish literature is actually taught, and that is what makes the API distinctive. Every book carries an `epoch` — Romantyzm, Pozytywizm, Młoda Polska — and a `kind` (Epika, Liryka, Dramat), which are the categories a Polish curriculum is organised around. Texts are available as HTML, plain text, PDF, EPUB, MOBI and FB2, and a good number have recorded audiobooks. The interface is Polish-language throughout, including field values.
Quick facts
- Base URL
https://wolnelektury.pl/api- Authentication
- No API key or account. Texts are public domain or freely licensed; the foundation asks for attribution.
- Rate limit
- No published limit. The full book list is a large response, so fetch it once and cache.
- Pricing
- Free. Public domain and CC-licensed content.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Wolne Lektury API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. List every book in the Wolne Lektury library
GET https://wolnelektury.pl/api/books/?format=json
curl 'https://wolnelektury.pl/api/books/?format=json'const res = await fetch("https://wolnelektury.pl/api/books/?format=json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://wolnelektury.pl/api/books/?format=json", timeout=20)
res.raise_for_status()
print(res.json())[
{
"kind": "Epika",
"full_sort_key": "verne jules gabriel$20 000 mil podmorskiej z~1eglugi$2848",
"title": "20 000 mil podmorskiej żeglugi",
"url": "https://wolnelektury.pl/katalog/lektura/20-000-mil-podmorskiej-zeglugi/",
"cover_color": "#961060",
"author": "Jules Gabriel Verne",
"cover": "book/cover/20-000-mil-podmorskiej-zeglugi.jpg",
"epoch": "Pozytywizm",
"href": "https://wolnelektury.pl/api/books/20-000-mil-podmorskiej-zeglugi/",
"has_audio": true,
"genre": "powieść przygodowa",
"simple_thumb": "https://wolnelektury.pl/media/book/cover_api_thumb/20-000-mil-podmorskiej-zeglugi_8hbNdm0.jpg",
"slug": "20-000-mil-podmorskiej-zeglugi",
"cover_thumb": "book/cover_thumb/20-000-mil-podmorskiej-zeglugi_XTwVgTB.jpg",
"liked": null
},
{
"kind": "Epika",
"full_sort_key": "krasicki ignacy$abuzei i tair$1239",
"title": "Abuzei i Tair",
"url": "https://wolnelektury.pl/katalog/lektura/abuzei-i-tair/",
"cover_color": "#f2802e",
"author": "Ignacy Krasicki",
"cover": "book/cover/abuzei-i-tair.jpg",
"epoch": "Oświecenie",
"href": "https://wolnelektury.pl/api/books/abuzei-i-tair/",
"has_audio": true,
"genre": "Bajka, Przypowieść",
"simple_thumb": "https://wolnelektury.pl/media/book/cover_api_thumb/abuzei-i-tair_qbXUuyk.jpg",
"slug": "abuzei-i-tair",
"cover_thumb": "book/cover_thumb/abuzei-i-tair_fgysK20.jpg",
"liked": null
},
{
"kind": "Liryka",
"full_sort_key": "dere~0me tristan$ ach rzucic~0 sieci zdarte $2675",
"title": "[Ach! rzucić sieci zdartParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
format | query | Required | Response format. Pass `json` explicitly — the API can also render HTML. json |
(author) | path segment | Optional | The `/authors/{slug}/books/` path filters to one author. adam-mickiewicz |
(epoch) | path segment | Optional | The `/epochs/{slug}/books/` path filters to a literary period. romantyzm |
(kind) | path segment | Optional | The `/kinds/{slug}/books/` path filters by literary kind: `epika`, `liryka` or `dramat`. liryka |
(genre) | path segment | Optional | The `/genres/{slug}/books/` path filters by genre, such as `powiesc`. powiesc |
Response fields
titlestring- Book title in Polish, with full diacritics — make sure your pipeline is UTF-8 clean end to end.
authorstring- Author's full name.
kindstring- Literary kind in Polish: `Epika` (narrative), `Liryka` (poetry) or `Dramat` (drama).
epochstring- Literary period, such as `Romantyzm`, `Pozytywizm` or `Młoda Polska` — the axis Polish literature is taught along.
hrefstring- API URL for the book's detail record, which carries the download links for every text format.
urlstring- Human-facing page on wolnelektury.pl.
cover / cover_colorstring- Cover image path and the accent colour used for it, so generated listings can match the site's styling.
full_sort_keystring- Internal sort key used for correct Polish alphabetical ordering, which does not match a naive byte sort.
What you can build with the Wolne Lektury API
- Build a Polish literature reading app or school study tool
- Fetch public domain Polish texts for corpus linguistics or NLP
- Create an audiobook player from the library's recorded readings
- Browse Polish literature by epoch for教学 or research purposes
Common errors and how to fix them
HTML instead of JSON
The `format` parameter was omitted.
Fix: Always pass `format=json`; the same paths render an HTML page otherwise.
Very large response
The unfiltered book list covers the whole library.
Fix: Filter by author, epoch, kind or genre using the dedicated paths, or fetch once and cache.
Mangled Polish characters
An encoding problem on your side, not the API's.
Fix: Responses are UTF-8. Ensure your HTTP client, database and templates all agree on it — Polish diacritics break loudly when they do not.
Wolne Lektury API — frequently asked questions
Is the Wolne Lektury API free?
Yes, free with no API key. The library is run by the Modern Poland Foundation and its texts are public domain or freely licensed; attribution is requested.
What formats are the books available in?
HTML, plain text, PDF, EPUB, MOBI and FB2, with audiobook recordings for a substantial portion of the collection. The download links live on each book's detail record, reachable via the `href` field.
What do the epoch and kind fields mean?
They are the categories Polish literature is taught by. `epoch` is the literary period — Romantyzm, Pozytywizm, Młoda Polska — and `kind` is the literary form: Epika (narrative), Liryka (poetry) or Dramat. Both have dedicated filter paths.
Is the API available in English?
No. Field values, slugs and metadata are Polish throughout, which is appropriate given the collection. The field names themselves are English, so the structure is readable even if the content is not.
Tools that pair with this API
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
Word Counter
Count words, characters, sentences, paragraphs and estimated reading time instantly. Free online word counter for essays, blogs and social media.
Reading Time Calculator
Estimate how long a text takes to read or read aloud. Paste your text or enter a word count, set the words-per-minute speed, and get the time.
Wolne Lektury is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.