Open Library Books Search avatar

Open Library Books Search

Pricing

$1.00 / 1,000 books

Go to Apify Store
Open Library Books Search

Open Library Books Search

Open Library book metadata scraper for catalog enrichment. Search books or look up ISBNs and Open Library IDs; export titles, authors, editions and source links as JSON.

Pricing

$1.00 / 1,000 books

Rating

0.0

(0)

Developer

Grit

Grit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Open Library books scraper returns book and edition metadata for searches, ISBNs, and Open Library identifiers. Open Library books API results include titles, authors, publication details, covers, and source links when available.

Input example

{
"isbns": [
"9780261103344"
],
"maxItems": 20
}

The input keys and allowed values follow .actor/input_schema.json.

Output fields

FieldTypeExample or excerpt from sample
statusstring"ok"
titlestring"The Hobbit"
subtitlestring or null"or There and Back Again"
workIdstring"OL27482W"
editionIdstring or null"OL10236414M"
openLibraryUrlstring"https://openlibrary.org/books/OL10236414M"
authorNamesarray["J.R.R. Tolkien"]
authorIdsarray["OL26320A"]
authorsarray[{"authorId": "OL26320A", "name": "J.R.R. Tolkien", "url": "https://openlibrary.org/a…
firstPublishYearinteger or null1965
firstPublishDatestring or null"January 1938"
publishDatestring or null"2011"
descriptionstring"Bilbo Baggins is a hobbit who enjoys a comfortable, unambitious life, rarely travell…
subjectsarray["Fantasy"]
languagesarray["eng"]
publishersarray["HarperCollins Publishers"]
isbn10array["0261103342"]
isbn13array["9780261103344"]
editionCountinteger482
numberOfPagesinteger or null96
editionsarray[{"editionId": "OL62623719M", "workId": "OL27482W", "title": "Hobit ali Tja in spet n…
editionsTruncatedbooleantrue
errorsarray[]
coverIdinteger10522108
coverUrlstring"https://covers.openlibrary.org/b/id/10522108-L.jpg?default=false"
coverUrlsobject{"S": "https://covers.openlibrary.org/b/id/10522108-S.jpg?default=false", "M": "https…
sourcestring"isbn"
inputstring"9780261103344"
sourceUrlsarray["https://openlibrary.org/isbn/9780261103344.json", "https://openlibrary.org/works/OL…
retrievedAtstring"2026-10-05T14:57:43.535747+00:00"

Output example

Trimmed from sample_output.json; omitted fields remain available in the dataset.

{
"status": "ok",
"title": "The Hobbit",
"subtitle": "or There and Back Again",
"workId": "OL27482W",
"editionId": "OL10236414M",
"openLibraryUrl": "https://openlibrary.org/books/OL10236414M",
"authorNames": [
"J.R.R. Tolkien"
]
}

Limits and source behavior

  • The actor uses official Open Library APIs for search, works, editions, ISBN resolution and authors. It retrieves metadata, not book files or reader accounts.
  • Starts of API requests are globally spaced at least 1.05 seconds apart, including retries. Timeout, malformed JSON, rate-limit and server failures receive up to three retries after the initial attempt, with exponential delay and bounded Retry-After handling. Permanent missing resources become error rows.
  • Optional author, work or edition enrichment failures leave the resolved book usable and record the failure in errors. Missing optional fields remain empty.
  • Cover URLs use the Covers API's documented format with default=false; a missing image returns 404. Image URLs are not downloaded or checked by this actor. Cover availability and usage rights depend on the source.
  • Search is paginated until the output cap or source exhaustion. Editions are a sample in the API's order; editionsTruncated indicates omissions. The catalog is community maintained, so titles, dates, ISBN associations and descriptions can be incomplete or inconsistent.
  • Use modest result caps for API queries. Open Library recommends data dumps for bulk collection; this actor is not a whole-catalog export tool.

FAQ

What are the output limits? maxItems caps records and errors; optional authors and editions may be incomplete when source requests fail.

Do I need a proxy or login? Public Open Library endpoints need no login or proxy.

How is this priced? Proposed pay per event: $0.001 for each resolved, deduplicated book row. Error rows and suppressed duplicates are uncharged. These are proposals in PRICING.md; the owner must configure Store billing.

How are rate limits handled? The client limits concurrent requests with concurrency and retries transient responses with backoff and Retry-After.

How fresh is the data? Open Library records are community maintained and can be incomplete or change. retrievedAt shows collection time; original source URLs remain in each row.

Use with AI agents / MCP

After the actor is published, connect your agent to the Apify MCP server with an Apify API token. Use call-actor with the published actor identifier and the JSON input shown above. Read the returned dataset with get-dataset-items; the run response itself contains status and storage IDs, not the result rows. Alternatively, use the Apify API to start a run and read its default dataset. Keep the actor input bounded with maxItems, and inspect source links and any error fields before using results in an answer.