News & feeds · AI & LLM data
Open Library Scraper — Book Metadata in Bulk
Search the Open Library API (the Internet Archive's open book catalogue) and export structured book metadata — title, authors, ISBNs, subjects, publish year, cover URL, edition count, OpenLibrary ID — to JSON or CSV. We handle pagination and retries across 30M+ works.
Free Apify credit covers a first run. No credit card to try.
What this Actor scrapes
Open Library is the Internet Archive's catalogue of 30M+ works — the open, canonical bibliographic source that most reliable book-metadata pipelines lean on. When Goodreads shut their developer API in 2020, they left a gap that five years later developers are still Googling around. Open Library fills it: no licensing hurdles, no API key friction, free bulk export — if you can navigate the pagination and handle the upstream's occasional rate-limiting.
This Actor turns a free-form query (title, author, ISBN, subject) into typed dataset rows with cover URL, subjects, edition count, and the canonical Open Library key. We pace requests against the upstream, retry on transient errors, and surface partial successes loudly — so your library, recommender, or research dataset gets the rows it expects.
What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python. - 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
- 🔁 Retries with exponential backoff on
408 / 429 / 5xx— up to 5 attempts per page,Retry-Afterhonoured. - 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.
Use cases
- Goodreads alternative API — rebuild the bibliographic data layer Goodreads took away in 2020. Title, authors, ISBNs, subjects, cover URL, edition count — the fields every book-rec app needs.
- ISBN lookup at bulk scale — enrich a CSV of book titles with ISBNs, authors, and covers in one run. Better unit economics than a per-request ISBN lookup API.
- Free book metadata API — feed a reading-list dashboard, a library catalogue app, or a fiction-RAG backend with structured Open Library data. No licensing restrictions on bibliographic metadata.
- Discovery pipelines — list every Asimov novel + edition count for a fan-site backend, or enumerate every title tagged "machine learning" for a curated reading list.
- Digital humanities — seed subject-tag corpora for distant-reading research, cultural-analytics, or AI-tutor curriculum ingestion.
Input
Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.
| Field | Type | Required | What it does |
|---|---|---|---|
searchQuery | string | yes | Free-text search. Open Library matches across title, author, subject, ISBN. |
searchField | string | no | Narrow which field your query targets. all matches everywhere. |
maxResults | integer | no | Max books to return. API caps per page at 100; we paginate. |
language | string | no | 3-letter ISO-639-2 code, e.g. eng, spa, fre. Leave empty for all. |
{
"searchQuery": "foundation asimov",
"searchField": "all",
"maxResults": 3,
"proxyConfiguration": {
"useApifyProxy": false
}
} Output
One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.
openlibrary_keytitlesubtitleauthorsfirst_publish_yearedition_countlanguagessubjectsisbnspublisherscover_idcover_url_lratings_averageratings_countebook_accesswork_url
{
"openlibrary_key": "/works/OL471576W",
"title": "Foundation",
"authors": [
"Isaac Asimov"
],
"first_publish_year": 1951,
"edition_count": 142,
"work_url": "https://openlibrary.org/works/OL471576W"
} Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.20 | Once per run, covers warm-up and proxy session setup. |
| Result emitted | $0.0015 | Per result written to the dataset. |
You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.
Limitations
- Search uses Open Library's relevance ranking — for canonical bibliographic data (LCSH/Dewey), use a dedicated MARC source. Subjects are tags, not curated taxonomies.
- This Actor exports metadata only — titles, ISBNs, authors, subjects, cover URLs, publish years. It does not download book text or full-text content. For public-domain full-text, follow
work_urlto the Internet Archive reader. - Open Library has thinner rating data than Goodreads. Treat
ratings_averagewith caution for niche or older works.
FAQ
Is this a Goodreads alternative API?
Can I do ISBN lookup in bulk?
searchField: "isbn" with a specific ISBN-10 or ISBN-13 as searchQuery, or use searchField: "all" with a title + author combination to retrieve ISBNs at scale. Each result row returns the full isbns array for all editions of a work.Where's the book description / blurb?
/works/{key}.json. We surface enough to enrich a catalogue or recommendation engine.Why are some ISBNs missing?
Can I download the book text?
work_url and follow Open Library's reader flow for public-domain full text.What about the Open Library API directly?
/search.json endpoint is public, but handling pagination, rate-limit pacing, retries, and clean typed output at scale is the work this Actor absorbs. We handle the blocks so you get consistent rows.Is the data licensed for commercial use?
Ready to run it?
Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.
Related Actors