Books Scraper (Google Books + Open Library)
Search Google Books and Open Library and export clean book data: title, authors, ISBN-13, ratings, covers, and prices. No API key, no login.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
source,query,maxItems(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Inputs
| Field | What it does | Type |
|---|---|---|
source | Which book catalog to search. Google Books returns descriptions and prices; Open Library is purely bibliographic. Output is normalized identically for both. | string |
query | Keywords to search for, e.g. "clean code", "the hobbit", or "isbn:9780132350884". Required. | string |
maxItems | Maximum number of unique books to return. Results are paginated automatically and deduplicated by ISBN (or title + author). | integer |
notionConnector | Optional. Write each result as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default) — results are always saved to the dataset regardless. | string |
notionParentId | Optional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead. | string |
What you get
A structured dataset — each result includes fields like:
authorsaverageRatingcategoriescoverImagedescriptiondetailsisbnlanguagepageCountpricepublishedDatepublisherqueryratingsCountExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
2 ready-to-run use cases
Open Library Sci-Fi Books Scraper: ISBN, Author, Year
Science fiction book metadata from Open Library: titles, authors, first publish year, language, and ISBNs for building a genre reading list.
Google Books Scraper: Machine Learning Titles + Prices
Comparing machine learning books to buy? Get Google Books titles, list price, and rating side by side so you can spot the editions worth your money.
Books Scraper (Google Books + Open Library)
Search books across two free, public catalogs — Google Books and Open Library — and get clean, normalized records. No API key, no login, no anti-bot.
What it does
Pick a source, give it a query, and the actor paginates through the API, deduplicates the results, and returns a normalized record per book. The output schema is identical for both sources, so you can switch sources without changing your downstream code.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
source | string | googlebooks | googlebooks or openlibrary |
query | string | — | Required. e.g. clean code, the hobbit, isbn:9780132350884 |
maxItems | integer | 100 | Max unique books to return (1–1000) |
proxyConfiguration | object | off | Optional. Public no-auth APIs with no anti-bot — proxy is not needed and is off by default. Only enable it if you hit IP rate limits. |
Output (normalized for both sources)
{
"ok": true,
"source": "googlebooks",
"sourceId": "...",
"title": "Clean Code",
"subtitle": "A Handbook of Agile Software Craftsmanship",
"authors": ["Robert C. Martin"],
"publisher": "Pearson Education",
"publishedDate": "2009",
"year": 2009,
"isbn": "9780136083252",
"pageCount": 464,
"categories": ["Computers"],
"averageRating": 4.5,
"ratingsCount": 12,
"language": "en",
"description": "…",
"coverImage": "https://…",
"url": "https://…",
"price": { "amount": 29.99, "currency": "USD", "buyLink": "https://…" }
}
descriptionis populated for Google Books; Open Library search results do not include it (null).priceis Google Books only; it isnullfor Open Library and for Google Books volumes that are not for sale.isbnprefers ISBN-13 when available, otherwise falls back to ISBN-10 / the first identifier.- Any field can be
nullwhen the source doesn't provide it. In practicesubtitle,publisher,isbn,pageCount,averageRating,ratingsCount,language, andcoverImageare commonly missing on some records.titleis always present (records without a title are skipped).
Billing
Charged per book returned (ok: true rows only). Diagnostic rows (ok: false — e.g. NO_RESULTS, BAD_INPUT, NETWORK, RATE_LIMITED) are never charged. An empty result set or invalid input produces an uncharged diagnostic row, not a charge.
Troubleshooting
- Empty dataset /
NO_RESULTS— the query matched no books for the chosen source. Try a broader query or switchsource. You are not charged. RATE_LIMITED— the public API throttled the run. The actor backs off and retries automatically; re-run later, or enable the optional proxy if it persists.BAD_INPUT—querywas empty orsourcewas invalid; a diagnostic row explains what to fix (you are not charged).
Sources
- Google Books API —
https://www.googleapis.com/books/v1/volumes - Open Library Search API —
https://openlibrary.org/search.json