Open Library ISBN Book Metadata Scraper avatar

Open Library ISBN Book Metadata Scraper

Pricing

Pay per event

Go to Apify Store
Open Library ISBN Book Metadata Scraper

Open Library ISBN Book Metadata Scraper

Bulk-enrich ISBNs with full Open Library metadata: title, authors, publishers, subjects, ratings, reading-status counts, and cross-reference identifiers (Goodreads, LibraryThing, LCCN, OCLC, Wikidata). Accepts up to thousands of ISBNs in a single run.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Bulk-enrich ISBN lists with complete Open Library metadata in a single run. Accepts up to thousands of ISBN-10 or ISBN-13 identifiers and returns a full record per book: title, authors, publishers, subjects, cover image URLs, reader ratings, reading-status counts, and the cross-reference identifier block (Goodreads, LibraryThing, LCCN, OCLC) that joins Open Library data to every other book dataset.

What You Get

Each output record includes:

FieldDescription
isbn_inputThe ISBN you provided
isbn_10 / isbn_13Normalized edition identifiers
work_keyOpen Library work key (e.g. /works/OL45804W)
title / subtitleBook title and subtitle
authorsPipe-separated author names
author_keysPipe-separated Open Library author OLIDs
publishersUp to 10 publisher names, pipe-separated
publish_dateEdition publication date
number_of_pagesMedian page count across editions
subjectsFull subject heading list, pipe-separated
descriptionWork description / summary
first_sentenceOpening sentence of the work
cover_url_small/medium/largeDirect cover image URLs (S/M/L sizes)
languagesLanguage codes, pipe-separated (e.g. `eng
edition_countTotal number of known editions
first_publish_yearYear of first publication
ratings_averageAverage reader rating (0-5)
ratings_countNumber of ratings
want_to_read_countUsers who want to read this book
currently_reading_countUsers currently reading
already_read_countUsers who have finished the book
id_goodreadsGoodreads ID(s), pipe-separated
id_librarythingLibraryThing ID(s), pipe-separated
id_lccnLibrary of Congress Control Number(s)
id_oclcOCLC/WorldCat number(s)
open_library_urlDirect link to the work on Open Library

Use Cases

  • Catalog enrichment - add cover art, descriptions, and subject tags to an existing book database
  • RAG / LLM pipelines - bulk-enrich a reading list with structured metadata for retrieval-augmented generation
  • Library tech - match ISBNs to LCCN/OCLC/Goodreads identifiers for cross-system deduplication
  • Book recommendation systems - pull ratings, reading-status counts, and subject headings at scale
  • Research - build datasets from ISBN lists for book market or publishing research

Input

{
"isbns": [
"9780140328721",
"9780385121675",
"0062316095"
],
"maxItems": 0
}
FieldTypeDescription
isbnsarray (required)List of ISBN-10 or ISBN-13 strings. Hyphens are stripped automatically. Mixed formats accepted.
maxItemsintegerMaximum records to return. Set to 0 (default) for no limit.

How It Works

The actor calls the Open Library search.json API - one request per ISBN - and extracts the top-ranked work match. Cover image URLs are composed directly from the ISBN using the Open Library Covers API (no extra HTTP call). Requests are rate-limited to approximately 1 per second to respect Open Library's guidelines.

No authentication, no API key, and no proxy are required.

Data Source

Open Library (openlibrary.org) is an open, editable library catalog, part of the Internet Archive. It covers approximately 40 million editions and 30 million works. Open Library data is released under CC0 1.0 Universal - free to use, share, and adapt for any purpose.

Notes

  • Results represent the best work-level match for each ISBN. Ratings and reading-status counts are aggregated at the work level across all editions.
  • Some fields (description, first_sentence, subtitle) may be absent for less-documented books.
  • id_goodreads and id_librarything may contain multiple IDs (one per edition) - deduplicated and pipe-separated.
  • For very large ISBN lists (10,000+), use maxItems to chunk runs or set a generous timeout in run options.