Skip to content
scrapeatlas.Dashboard

Books & audiobooks

Goodreads API

Retrieve Goodreads books, reviews, search results, authors and author bibliographies.

5 endpointsx-api-key

Look up a book's ratings, genres, series, editions details and awards, page through its community reviews, search books by title, author or ISBN, and read author profiles and their books.

API availability: Available

Base URL · local workerhttp://localhost:3056Public API: https://api.scrapeatlas.com.
Authenticationx-api-keyCustomer key from your account. See Authentication.

Endpoints

GET/v1/goodreads/book

Get a Goodreads book

Retrieve a Goodreads book by URL or ID: title, series, authors, description, cover, genres, average rating, rating and review counts, rating distribution, pages, format, publication date, publisher, ISBN, ASIN, language and awards.

Reference
GET/v1/goodreads/book-reviews

List Goodreads book reviews

List community reviews of a Goodreads book, 30 per page: star rating, review text, spoiler flag, dates, likes, comments, shelf, tags and the reviewer's public profile. Continue with the returned nextCursor.

Reference
GET/v1/goodreads/search

Search Goodreads books

Search Goodreads books by title, author or ISBN, 20 per page: book ID, title, cover, authors, average rating, rating count, first publication year, edition count and work ID.

Reference
GET/v1/goodreads/author

Get a Goodreads author

Retrieve a Goodreads author by URL or ID: name, photo, birth and death dates, birthplace, website, genres, influences, biography, average rating, rating and review counts, number of works and followers.

Reference
GET/v1/goodreads/author-books

List a Goodreads author's books

List an author's books on Goodreads, 30 per page: book ID, title, cover, authors, average rating, rating count, first publication year, edition count and work ID.

Reference

Quick start

Create an API key on your account page, then call the public API. Values below are placeholders.

Terminal
curl "https://api.scrapeatlas.com/v1/goodreads/book?url=https%3A%2F%2Fwww.goodreads.com%2Fbook%2Fshow%2F123456-example-book" \
  -H "x-api-key: YOUR_API_KEY"

Coverage & limits

  • Book and author: a goodreads.com book or author URL, or a numeric ID of 1 to 12 digits; provide exactly one of url or id. Query: 1 to 200 characters. Search page: 1 to 100. Author books page: 1 to 200.
  • Page sizes are fixed by Goodreads: 30 reviews, 20 search results and 30 author books per page. At most 50 genres or contributors, 20 series, 100 awards or influences and 50 tags per review.
  • Each operation has a 45-second deadline, including the queue wait. Decoded pages are capped at 4 MiB and API responses at 2 MiB.
  • Upstream requests per operation: book, search, author and author books at most 5; reviews at most 6. This covers the page or API read, up to two same-site redirects, one repeated read after a refused web key and one shared retry after a network failure or HTTP 5xx.
  • At most four active requests and eight queued requests, with a queue wait of at most 10 seconds.
  • Fixed origins goodreads.com and Goodreads' public web API. No login, cookies, outbound link visits, media downloads or result storage. The service API key is never forwarded.
Error codes
14
HTTPfailure.codeMeaning
200partialUsable data with named invalid-item, record-limit, total, stats or pagination warnings.
400invalid_requestMissing, duplicate, malformed, unsafe or unsupported parameters.
401unauthorizedMissing or invalid worker API key.
404not_foundThe requested Goodreads book or author was not found.
422restricted_pageGoodreads requires sign-in for the requested page.
422unsupported_pageThe Goodreads page structure or identity could not be mapped.
502upstream_challengedGoodreads challenged retrieval.
502upstream_rate_limitedGoodreads rate-limited retrieval.
502upstream_errorSource retrieval did not complete.
502response_too_largeDecoded source bytes exceeded the request limit.
502unsafe_redirectGoodreads redirected outside the requested book or author.
502request_limitThe upstream request budget was exhausted.
503busyWorker request or queue capacity was exceeded.
504timeoutThe operation deadline expired.