Open Library Book Scraper
Search Open Library books, ISBN records, subjects, ebooks, and public author records through the public Open Library APIs, returning normalized catalog metadata, author names, editions, covers, ratings, ebook access, Internet Archive IDs, and author summaries.
Overview
Open Library Book Scraper gives agents a structured route into Open Library's public book and author APIs. Search by keyword, title, author, subject, ISBN, or ebook availability, or switch to author mode for public author records. The tool normalizes Open Library JSON into compact catalog rows with work keys, Open Library URLs, titles, author names and keys, first publication years, edition counts, ISBNs, publishers, languages, subjects, cover URLs, ratings, ebook access flags, full-text availability, Internet Archive identifiers, page counts, and author search summaries. It is designed for book discovery, bibliography building, catalog enrichment, reading-list automation, library research, publishing workflows, and agent pipelines that need public book metadata without scraping Open Library HTML.
Last validated: Jul 3, 2026
Playground
Input
isbnstringISBN-10 or ISBN-13 value, with or without hyphens.
mode"books" | "authors"default: "books"Search Open Library book/catalog records or public author records.
pageintegerdefault: 1One-based result page.
sort"relevance" | "new" | "old"default: "relevance"Book search sort order.
limitintegerdefault: 10Maximum records to return.
querystringKeyword query for books or authors.
titlestringBook title query for books mode.
authorstringAuthor name query for books mode, or author query fallback in authors mode.
subjectstringOpen Library subject query such as science fiction, entrepreneurship, or children's literature.
ebooks_onlybooleandefault: falseFilter books mode to records where Open Library reports full-text availability.
Output
modestringrequiredMode used for this run
pageintegerResult page used
booksobject[]Normalized Open Library book records
countintegerrequiredNumber of returned records
querystringQuery summary
authorsobject[]Normalized Open Library author records
source_urlstringrequiredOpen Library API URL fetched
total_matchesintegerTotal matches reported by Open Library
Examples
tolkien-books
{
"mode": "books",
"limit": 2,
"query": "lord of the rings"
}tolkien-authors
{
"mode": "authors",
"limit": 2,
"query": "tolkien"
}Use cases
FAQ
Does Open Library Book Scraper require an API key?
No. Version 0.1 uses Open Library's public APIs and keeps each run to one bounded request. High-volume workflows should follow Open Library's published usage guidance and cache results.
Does it scrape Open Library HTML pages?
No. It calls public JSON endpoints such as search.json and search/authors.json, then normalizes the returned metadata. It does not crawl HTML pages, log in, or bulk-download records.
Is this tool affiliated with Open Library or Internet Archive?
No. Open Library is an Internet Archive initiative. This Better Fetch tool uses public Open Library API data and is not endorsed by or affiliated with Open Library or Internet Archive.
Use it anywhere
MCP (Claude, Cursor, any client)
# Add the Better Fetch MCP connector (or paste the URL into # Claude → Settings → Connectors → Add custom connector): claude mcp add --transport http better-fetch https://betterfetch.co/api/mcp \ --header "Authorization: Bearer bf_your_key_here" # Then ask for the tool by name: open_library_book_scraper
REST
curl -sS -X POST "https://betterfetch.co/api/tools/open_library_book_scraper/run" \
-H "Authorization: Bearer bf_your_key_here" \
-H "Content-Type: application/json" \
-d '{"input": {"mode":"books","limit":2,"query":"lord of the rings"}}'Run locally
git clone https://github.com/better-fetch/tools/tree/main/tools/open-library-book-scraper && cd open-library-book-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"books","limit":2,"query":"lord of the rings"}'