Feature request: Fall back to Open Library for ISBN lookup
Hi all,
Quick disclaimer: I'm a contributor to Open Library (https://openlibrary.org), and a big fan of the project. I know the metadata there isn't perfect, but it's been steadily improving over the years.
I'd find it very helpful if, when I paste an ISBN into "Add Item by Identifier" and it isn't found in the Library of Congress, WorldCat, or the other national library catalogs Zotero already checks, Zotero would fall back to Open Library before giving up. For more niche and non-US books (self-published, recent translations, smaller presses), Open Library is can be one of the only places that has them cataloged. People go there specifically to catalog and organize that kind of niche information, so when Zotero's existing sources miss an ISBN, Open Library would very likely catch it.
I know this has come up before. The [2010 thread](https://forums.zotero.org/discussion/15245/openlibrary-org) and the [2015 thread](https://forums.zotero.org/discussion/50873/openlibrary-org) both ran into the same wall: Open Library's RDF endpoint was fragile, and the Zotero maintainers quite reasonably didn't want to lean on it. There was also [issue #1244 in 2017](https://github.com/zotero/translators/issues/1244) where the translator returned garbage authors. The result was a single web translator (`The Open Library.js`).
A few things have changed since then, though:
1. Open Library now has a clean, documented JSON API. `https://openlibrary.org/isbn/{isbn}.json` returns structured fields (title, authors, publisher, date, ISBN-10/13, number of pages, physical format, classifications, covers). No RDF needed.
2. The current ISBN situation in Zotero is degraded. The [March 2026 thread](https://forums.zotero.org/discussion/130340/zotero-isbn-lookup-fails-doi-works) and the [August 2026 thread](https://forums.zotero.org/discussion/133196/import-from-isbn-broken) both document that WorldCat has gotten aggressive about blocking automated lookups, and dstillman noted that Zotero 9.0.3 shipped specifically to improve ISBN reliability. The Library of Congress also rate-limits Zotero (about 10 requests per minute), which is what motivated Wikimedia's Citoid team to add an Open Library ISBN fallback in their own fork ([Phabricator T435179](https://phabricator.wikimedia.org/T435179)).
3. Open Library's Books API supports lookup by more than just ISBN. The `/api/books` endpoint accepts `ISBN:`, `OCLC:`, `LCCN:`, and `OLID:` bibkeys, so a book can be resolved by Library of Congress Control Number or OCLC number too. That's potentially useful for pre-1970 books that don't have ISBNs at all, where LCCN or OCLC are the standard identifiers. I'm not sure which of those Zotero would be interested in wiring up, but the capability is there if it's useful.
A reasonable design would be to put Open Library last in the priority chain (priority around 100, after LoC, K10+, BnF, and the national library translators), so it only catches what the curated sources miss. To address the data-quality concern that came up in past threads, the translator could prefer editions whose `source_records` field includes a MARC source (e.g. `marc:OpenLibraries-Trent-MARCs/...`), which is Library of Congress and partner MARC data, rather than user-contributed or Amazon-sourced records.
Thanks for considering it.
Quick disclaimer: I'm a contributor to Open Library (https://openlibrary.org), and a big fan of the project. I know the metadata there isn't perfect, but it's been steadily improving over the years.
I'd find it very helpful if, when I paste an ISBN into "Add Item by Identifier" and it isn't found in the Library of Congress, WorldCat, or the other national library catalogs Zotero already checks, Zotero would fall back to Open Library before giving up. For more niche and non-US books (self-published, recent translations, smaller presses), Open Library is can be one of the only places that has them cataloged. People go there specifically to catalog and organize that kind of niche information, so when Zotero's existing sources miss an ISBN, Open Library would very likely catch it.
I know this has come up before. The [2010 thread](https://forums.zotero.org/discussion/15245/openlibrary-org) and the [2015 thread](https://forums.zotero.org/discussion/50873/openlibrary-org) both ran into the same wall: Open Library's RDF endpoint was fragile, and the Zotero maintainers quite reasonably didn't want to lean on it. There was also [issue #1244 in 2017](https://github.com/zotero/translators/issues/1244) where the translator returned garbage authors. The result was a single web translator (`The Open Library.js`).
A few things have changed since then, though:
1. Open Library now has a clean, documented JSON API. `https://openlibrary.org/isbn/{isbn}.json` returns structured fields (title, authors, publisher, date, ISBN-10/13, number of pages, physical format, classifications, covers). No RDF needed.
2. The current ISBN situation in Zotero is degraded. The [March 2026 thread](https://forums.zotero.org/discussion/130340/zotero-isbn-lookup-fails-doi-works) and the [August 2026 thread](https://forums.zotero.org/discussion/133196/import-from-isbn-broken) both document that WorldCat has gotten aggressive about blocking automated lookups, and dstillman noted that Zotero 9.0.3 shipped specifically to improve ISBN reliability. The Library of Congress also rate-limits Zotero (about 10 requests per minute), which is what motivated Wikimedia's Citoid team to add an Open Library ISBN fallback in their own fork ([Phabricator T435179](https://phabricator.wikimedia.org/T435179)).
3. Open Library's Books API supports lookup by more than just ISBN. The `/api/books` endpoint accepts `ISBN:`, `OCLC:`, `LCCN:`, and `OLID:` bibkeys, so a book can be resolved by Library of Congress Control Number or OCLC number too. That's potentially useful for pre-1970 books that don't have ISBNs at all, where LCCN or OCLC are the standard identifiers. I'm not sure which of those Zotero would be interested in wiring up, but the capability is there if it's useful.
A reasonable design would be to put Open Library last in the priority chain (priority around 100, after LoC, K10+, BnF, and the national library translators), so it only catches what the curated sources miss. To address the data-quality concern that came up in past threads, the translator could prefer editions whose `source_records` field includes a MARC source (e.g. `marc:OpenLibraries-Trent-MARCs/...`), which is Library of Congress and partner MARC data, rather than user-contributed or Amazon-sourced records.
Thanks for considering it.
Upgrade Storage
I think putting it last in priority, including after Worldcat, would definitely be safe. Open Worldcat is also not great with data so I think one question would be to prioritize it over Worldcat. The data in some of the tests isn't great. I don't think restricting to the high quality MARC is a satisfactory option since we already get LoC ISBNs, which I understand are by far the largest share of that dataset.
The other identifiers are good questions, perhaps more OCLC than LCCN (if we want LCCN, why not go straight to the LoC's SRU service), but I'd do ISBN first and then think about that. The problem with both OCLC and LCCN is that they don't have a clearly regonizable format as far as I know, so it's not clear how 'search by identifier' (which doesn't have you specify which identifier) should look like.
As I said on the GH issue please let me know if there's anything on the OL side that could make it easier for you to get this working.
I understand data quality is a concern and we're also ramping up import efforts and librarian tooling so we're always trying to improve. If you see any consistent/systemic issues (we know Amazon and BWB imports aren't the best quality) please do flag it for us to look at via openlibrary@archive.org
Thanks!