ISBN Lookup & Decoder API - Book Editions by Title or Author
Pricing
from $1.50 / 1,000 edition extracteds
ISBN Lookup & Decoder API - Book Editions by Title or Author
Look up any ISBN, title or author and get every book edition with ISBN-13, ISBN-10, publisher, year, pages, language and the sources that list it, ranked by confidence. One row per edition, for booksellers, libraries and book data teams.
Pricing
from $1.50 / 1,000 edition extracteds
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
1
Bookmarked
15
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
ISBN Lookup API: ISBN Decoder for Book Editions
This ISBN lookup API turns an ISBN, an Open Library edition ID, a book title, or an author into structured book editions: checksum-valid ISBN-13, matching ISBN-10, publisher, publish year, page count, languages and source attribution. Use it to fill a book catalog, check a reading list, or match marketplace listings to the right edition, without copying data by hand from a lookup website.
ISBN Decoder resolves each request into individual book editions. Each delivered edition has a checksum-valid ISBN-13, its matching ISBN-10 when available, source attribution, and bibliographic fields. A title search can produce several editions; an ISBN or edition identifier normally produces one. Editions keep their own titles and authors, while the optional Goodreads autocomplete result is returned as a separate hint.
What the ISBN lookup returns
- Identifiers:
isbn13(978/979, checksum validated),isbn10when one exists, andopenlibrary_id. - Bibliographic data:
title,author,publisher,publish_date,publish_year,pagesandlanguages. - Evidence:
sources(the sites that list this ISBN),source_countand aconfidencetier. - Context: the route that found the edition (
path), its rank, and an optional Goodreads hint with rating and cover.
One run is one book request. You can look up an ISBN directly, or search by title and author and get every edition the search can confirm, ranked by how many independent sources list it.
Input: ISBN, title, author or OLID
Provide at least one of q, title, author, or olid. No field is required by itself. The following input was used in a successful run:
{"title": "Sapiens", "author": "Yuval Noah Harari"}
| Field | Type | Default | Meaning |
|---|---|---|---|
q | string | absent | ISBN-10, ISBN-13, or free text |
title | string | absent | Book title; an ISBN is also accepted |
author | string | absent | Author name or an author override on a direct lookup |
olid | string | absent | Open Library edition ID or its full URL |
country | string | us | Selects the search language for known countries |
language | string | en | Search language when the country has no language mapping |
enrich | boolean | true | Add Goodreads and enrich the top five search editions |
hits | boolean | false | Add the raw search hits to the first path-C or path-D edition |
The store's prefilled title and author are examples, not defaults applied to every request. Country, language, enrichment, and raw-hit options retain their existing defaults. Leading and trailing whitespace is removed from text input. Country and language are normalized to lowercase and echoed in the output.
Lookup routes
A valid ISBN in q, or in title when q is absent, takes path A. Spaces and hyphens are accepted, and ISBN-10 is converted to ISBN-13. This route uses the catalog even with enrich=false; that option disables the additional Goodreads hint.
An Open Library edition identifier takes path B when no valid ISBN takes precedence. Both OL29832788M and https://openlibrary.org/books/OL29832788M/Beach_Read were verified. The supplied author, if present, takes precedence over the catalog author. A work identifier ending in W is not an edition identifier.
Text input takes path C: search results from book retailers and bibliographic sources are inspected for valid ISBNs, deduplicated, and ranked by independent source count. With enrichment enabled, the five highest-ranked editions receive catalog metadata. When the search yields no edition, path D searches the catalog using the title and author. This fallback returns at most eight catalog records with a valid ISBN.
Output: one row per book edition
The default dataset contains one row per edition, or the existing free diagnostic row when no edition is found. All existing bibliographic fields remain present, including nullable metadata. source and fetched_at add product attribution and a UTC timestamp. _type distinguishes book_edition from diagnostic. This is an actual row from the ISBN input {"q":"9780735211292"}:
{"isbn13": "9780735211292","isbn10": "0735211299","title": "Atomic Habits","author": null,"publisher": "Avery, an Imprint of Penguin Random House LLC","publish_date": "2018","publish_year": 2018,"pages": 320,"openlibrary_id": "OL32336498M","languages": ["eng"],"sources": ["openlibrary.org"],"source_count": 1,"confidence": "medium","_type": "book_edition","source": "isbn-decoder","fetched_at": "2026-10-03T08:21:26.235Z","query": {"isbn": "9780735211292"},"country": "us","language": "en","path": "A","goodreads_top": {"title": "Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones","author": "James Clear","book_id": "59910150","work_id": "62221762","pages": 306,"avg_rating": "4.31","ratings_count": 1429502,"cover_url": "https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1736660900i/59910150._SY75_.jpg","book_url": "https://www.goodreads.com/book/show/59910150-atomic-habits"},"edition_rank": 1,"total_results": 0,"duration_seconds": 3.129,"errors": []}
query records the selected lookup input. path is A, B, C, or D. sources contains bare source hostnames, source_count counts independent sources, and confidence is high for two or more sources and medium for a single source. The list is ranked after enrichment, which can add a confirming source.
publish_date is the original catalog text, while publish_year is a separate integer when a year can be extracted. languages contains catalog language codes. Some fields are null when the source does not provide them. Search results can retain retailer wording in the title. An edition ID may be a work ID on path D because that route uses catalog search records.
The goodreads_top object is the first autocomplete match for the query. Its cover, rating, and title describe that match; it is not an ISBN-level join and can describe a different book. In particular, avg_rating remains a string. With hits=true, the first path-C or path-D edition includes all deduplicated raw hits with rank, title, URL, snippet, and displayed URL. On path D these hits did not resolve an ISBN, and the list is empty when no search hits were available. Other rows do not repeat this list.
This is the first raw hit from an actual run with {"title": "The Hobbit", "author": "J.R.R. Tolkien", "country": "nl", "language": "nl", "enrich": false, "hits": true}; displayed_url is the URL breadcrumb shown in the search result, and HTML entities in titles and snippets are decoded to plain text:
{"rank": 1,"title": "Amazon.com: The Hobbit: The Classic Fantasy Novel and Prelude ...","url": "https://www.amazon.com/Hobbit-J-R-Tolkien/dp/054792822X","snippet": "The Hobbit : The Classic Fantasy Novel and Prelude to The Lord of the Rings by J.R.R. Tolkien (Author, Illustrator) Format: Paperback Related to: Lord of the Rings #1 Best Seller in Teen & Young Adult Film Fiction","displayed_url": "https://www.amazon.com › Hobbit-J-R-Tolkien › dp"}
The key-value store contains OUTPUT and summary, including item counts, edition counts, route, search status, search-result count, fallback state, upstream errors, and charging information. Input errors retain the existing bad_input code in the errors record.
Use cases
- Booksellers and marketplaces: turn a title from a supplier sheet into the ISBN-13 your shop or marketplace listing needs, and see which retailers already list that edition.
- Libraries and catalogers: convert ISBN-10 to ISBN-13, and fill in publisher, year, pages and language for records that only carry an ISBN.
- Price comparison and resellers: find every edition of a book (hardcover, paperback, regional printings) before comparing offers, so prices are compared per edition, not per title.
- Reading apps and data teams: enrich a reading list or a book dataset with identifiers and Goodreads ratings in one API call per book.
How this ISBN lookup compares
| Option | ISBN to metadata | Title or author to ISBNs | Several editions per title | Source count per edition | Integration |
|---|---|---|---|---|---|
| Manual lookup on a search website | Yes | Yes | One page at a time | No | Copy and paste |
| A single catalog API | Yes | Partly | Only editions in that catalog | No | Your own code per catalog |
| Paid book database subscriptions | Yes | Yes | Yes | No | Monthly plan |
| ISBN Decoder (this actor) | Yes | Yes | Yes, ranked | Yes, with a confidence tier | Apify API, datasets, integrations, pay per edition |
The difference is the edition search: a title is matched against retailer and bibliographic pages, every valid ISBN found is checked, and editions confirmed by more sources come first.
Pricing
The existing pay-per-event model is unchanged: $0.0015 per delivered edition, event edition_extracted. A lookup that delivers one edition incurs one edition event; a search that delivers several editions incurs that many edition events. Results are delivered before edition events are charged. A request with no editions has zero edition charges. Apify's existing platform start event, apify-actor-start, remains $0.0001, with the platform's memory-based event count.
Users without a paid Apify plan receive at most ten editions per run and are charged only for those delivered editions. Paid users can receive all editions found by the two search pages. There is no new credit system or change to the event prices.
Empty results and source errors
When the sources confirm that no edition can be resolved, the run completes with the existing free diagnostic row: isbn13 is null, confidence is none, edition_rank is zero, and all existing row fields remain available. The summary has itemCount: 1 and editionCount: 0; no edition event is charged. This diagnostic row has no hits field, even with hits=true. This is the actual diagnostic row from a run with {"title": "Qzxwvplm Nonexistent Volume", "author": "Zzyxq Brrnvatsky"}:
{"_type": "diagnostic","source": "isbn-decoder","fetched_at": "2026-10-03T08:21:54.548Z","query": {"title": "Qzxwvplm Nonexistent Volume","author": "Zzyxq Brrnvatsky"},"country": "us","language": "en","path": "D","title": null,"author": "Zzyxq Brrnvatsky","isbn13": null,"isbn10": null,"publisher": null,"publish_date": null,"publish_year": null,"pages": null,"openlibrary_id": null,"languages": null,"sources": [],"source_count": 0,"confidence": "none","goodreads_top": null,"edition_rank": 0,"total_results": 0,"duration_seconds": 15.295,"errors": []}
Invalid input and unavailable sources produce a successful empty run with an English error description in the run records. A failed optional lookup keeps the editions already found, records the error on their rows, and includes a warning in the run output. Catalog coverage and search ordering can change over time.
FAQ
What is an ISBN lookup and what does this actor add?
An ISBN lookup finds the book that belongs to an ISBN, or the ISBN that belongs to a book. This actor does both directions: an ISBN returns its edition record, and a title or author returns the editions found for it, each with a valid ISBN-13 and the sources that list it.
Can I use an ISBN-10?
Yes. Valid ISBN-10 input is converted to its ISBN-13 equivalent. The output contains both identifiers when the edition supports them. ISBN-13 values beginning with 979 have no ISBN-10 equivalent and return null for that field.
Can I search using only an author?
Yes. The actor accepts an author without a title. Combining a title and author usually narrows the request to the intended book. A free-text q is used as the title when title is absent.
Does enrich=false skip the direct catalog lookup?
No. ISBN and OLID lookups still resolve through the catalog. The option disables Goodreads and the additional top-five catalog enrichment for text-search editions. Catalog fallback remains available when a text search finds no ISBNs.
Why can Goodreads disagree with the edition title?
Goodreads autocomplete chooses its first query match independently of each discovered ISBN. Keeping this hint separate prevents metadata from one autocomplete match from replacing the titles and authors of other editions.
What happens when a source is unavailable?
The actor retains usable editions from the remaining sources. A search page without book results followed by an empty catalog lookup returns the existing diagnostic row with a null ISBN and no edition charge. A catalog miss on an ISBN or OLID does the same. If source failures prevent any edition from being resolved, the dataset is empty and no edition event is charged. Source failures are reported separately in the run output.
Can I look up many ISBNs at once?
One run handles one request. To process a list, start one run per ISBN or title through the Apify API or a scheduled task; each run is charged only for the editions it delivers.
Is there a free ISBN lookup option?
Users without a paid Apify plan can run the actor and receive up to ten editions per run, charged per delivered edition at the same rate. A run without any edition costs no edition events.