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.
Workspace
Configure
Inputs stay here while results become exportable artifacts.
Start from an example
Results
Preview, inspect, copy, or export the complete output.
Your result will become an artifact
Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.
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 4, 2026
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, ChatGPT, Codex)
# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "Open Library Book Scraper"
2. Call run_tool with:
name: "open_library_book_scraper"
input: {"mode":"books","limit":2,"query":"lord of the rings"}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"}'