Open Library Search Scraper - Books by Title, Author & Subject avatar

Open Library Search Scraper - Books by Title, Author & Subject

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Open Library Search Scraper - Books by Title, Author & Subject

Open Library Search Scraper - Books by Title, Author & Subject

$0.4/1K ๐Ÿ”ฅ Open Library search scraper! Find books by title, author or subject with ratings, editions & covers. No key. JSON, CSV, Excel or API in seconds. Build book discovery apps โšก

Pricing

from $0.40 / 1,000 results

Rating

0.0

(0)

Developer

ninhothedev

ninhothedev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Open Library Search Scraper ๐Ÿ“š โ€” Find Books by Title, Author or Subject

Search the world's largest open book catalogue and export structured book data โ€” no API key, no login, no rate-limit headaches.

This Apify actor turns Open Library (the Internet Archive's open book database, 40M+ works) into a clean, paginated dataset. Give it a search term, an author name or a subject, and get back titles, authors, publication years, publishers, ISBNs, languages, subjects, edition counts, star ratings, reading-list stats, full-text availability and high-resolution cover URLs.


๐Ÿ” How is this different from open-library-book-scraper?

This is the discovery / search counterpart to my other actor. They solve two opposite problems:

Open Library Search Scraper (this actor)Open Library Book Scraper
You start withA question: "sci-fi books", "Le Guin", "dune"A known identifier: an ISBN or an Open Library work/edition ID
Answers"Which books exist that match this?""What do I know about this exact book?"
InputFree-text queries, author names, subjectsISBN-10/ISBN-13, work keys, edition keys
OutputRanked lists of matching works โ€” many books per queryDeep record for one specific book
Extra fieldsRatings, edition counts, want-to-read/already-read counts, full-text & public-scan flags, people/placesEdition-level detail for the looked-up book
Typical useBuilding catalogues, discovery feeds, genre datasetsEnriching an existing ISBN list

Rule of thumb: if you have ISBNs, use open-library-book-scraper. If you need to find books in the first place, use this actor. Many users run this one to build a list, then pipe the ISBNs into the other for deeper enrichment.


โœจ Features

  • Three search modes โ€” free-text search, author and subject
  • Ratings & popularity โ€” average star rating, rating count, want-to-read and already-read counts
  • Edition intelligence โ€” edition counts, median page count, publisher list, up to 10 ISBNs per work
  • Availability signals โ€” has_fulltext and public_scan tell you what's readable for free on the Internet Archive
  • Cover images โ€” ready-to-use large cover URLs
  • Rich metadata โ€” subjects, languages, characters (people), settings (places), opening sentence
  • Automatic pagination โ€” offsets handled for you, up to 1,000 books per run
  • Deduplication โ€” results deduped by Open Library work key across all your terms
  • No API key. No proxies required. Open Library's JSON API is fully public.

๐Ÿ’ฐ Pricing

Roughly $0.50 per 1,000 books on Apify's pay-per-event compute. Runs at 512 MB, and a 100-book run typically completes in well under a minute. No third-party API costs โ€” Open Library is free and open.


๐Ÿš€ Input

{
"mode": "search",
"queries": ["dune", "neuromancer"],
"maxItems": 100
}

Search by author:

{
"mode": "author",
"authors": ["Ursula K. Le Guin", "Isaac Asimov"],
"maxItems": 200
}

Search by subject/genre:

{
"mode": "subject",
"subjects": ["science_fiction", "historical fiction"],
"maxItems": 500
}
FieldTypeDefaultDescription
modeselectsearchsearch (free text), author (by author name), subject (by genre/subject)
queriesarray["dune","neuromancer"]Free-text terms โ€” used in search mode
authorsarrayโ€“Author names โ€” used in author mode
subjectsarrayโ€“Subjects/genres โ€” used in subject mode (spaces auto-converted to underscores)
maxItemsinteger100Max books across all terms combined (max 1000)

๐Ÿ“ฆ Output

One dataset item per book (work):

{
"work_key": "/works/OL893516W",
"title": "Children of Dune",
"subtitle": null,
"authors": ["Frank Herbert"],
"author_keys": ["OL79034A"],
"first_publish_year": 1976,
"publishers": ["Ace Books", "Berkley Publishing", "Gollancz"],
"isbns": ["0425071790", "9780441104024"],
"languages": ["eng", "ger", "fre"],
"subjects": ["Dune (Imaginary place)", "Fiction", "Science fiction"],
"edition_count": 77,
"page_count_median": 504,
"rating": 3.9574,
"ratings_count": 47,
"want_to_read": 277,
"already_read": 132,
"has_fulltext": true,
"public_scan": false,
"first_sentence": "A SPOT of light appeared on the deep red rug...",
"people": ["Paul Atreides"],
"places": ["Arrakis"],
"cover_url": "https://covers.openlibrary.org/b/id/6976407-L.jpg",
"url": "https://openlibrary.org/works/OL893516W",
"source": "openlibrary",
"scraped_at": "2026-07-28T13:00:00+00:00",
"input_term": "dune",
"input_mode": "search"
}

Every field is nullable โ€” Open Library is community-maintained, so coverage varies by book. Export as JSON, CSV, Excel, XML or via the Apify API.


๐ŸŽฏ Use cases

  • Book discovery apps โ€” power search, "more like this" and browse-by-genre features without building your own index
  • Library & catalogue apps โ€” check which editions and ISBNs exist for a title before ordering or cataloguing
  • Reading datasets for research & ML โ€” build genre-labelled corpora with ratings and publication years for analysis
  • Recommendation engines โ€” combine subjects, people, places and rating signals into a content-based recommender
  • Bookstore & publisher intelligence โ€” see which publishers dominate a genre and how many editions a work has spawned
  • Free-to-read audits โ€” filter on has_fulltext and public_scan to surface books legally readable on the Internet Archive


โ“ FAQ

Do I need an Open Library API key? No. The search endpoint is public and free.

How many books can I get per run? Up to 1,000 per run (maxItems). Run the actor multiple times with different terms for larger datasets.

Are results deduplicated? Yes โ€” by Open Library work key, across all your queries in a single run.

Why is a field empty? Open Library data is crowd-sourced. Rating and page-count fields only exist for books that readers have logged. All fields are nullable by design.

Can I search by ISBN here? You can, but the dedicated Open Library Book Scraper is purpose-built for that and returns more edition-level detail.

Is scraping Open Library allowed? Open Library publishes an open, documented JSON API intended for public use. This actor sends a descriptive user agent and paginates politely.


๐Ÿ›  Local development

pip install -r requirements.txt
python -m src.main
python tests/test_smoke.py # offline smoke tests

Data source: Open Library, a project of the Internet Archive. This actor is not affiliated with or endorsed by the Internet Archive.