Skip to content
scrapeatlas.Dashboard

Get a Goodreads book

Try in Playground

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.

GET/v1/goodreads/bookx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
2
urlstringquery

Goodreads book URL such as https://www.goodreads.com/book/show/123456-example-book. Provide exactly one of url or id.

max 1024 chars

Examplehttps://www.goodreads.com/book/show/123456-example-book
idstringquery

Numeric Goodreads book ID such as 123456. Provide exactly one of url or id.

max 12 chars

Response fields
65
successboolean

True when usable data is returned; inspect status and coverage.

statusenum

success or partial for usable data; failed or challenged for a failure.

one of: success, partial

requestIdstring

Request correlation UUID.

sourceUrlstring

Public goodreads.com page the data describes.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Returned-page coverage and mapping warnings.

coverage.sourcestring

Goodreads' public web pages and web API.

coverage.completeboolean

Whether every supported field on this page was mapped without a reported omission.

coverage.warningsenum[]

Named warnings: invalid_item (a record could not be mapped and was skipped), record_limit, total_unavailable (no result count), stats_unavailable (no rating statistics) or pagination_unavailable (no next-page signal).

Retrieval attempt, source byte and timing measurements.

accounting.upstreamRequestsinteger

Upstream request attempts, including redirects and any retry.

≥ 0

accounting.responseBytesinteger

Decoded source bytes read during this request.

≥ 0

accounting.durationMsnumber

Elapsed operation time in milliseconds.

≥ 0

Public Goodreads book (edition) details.

book.idinteger

Numeric Goodreads book ID.

≥ 0

book.urlstring

Public book page URL.

absolute HTTPS URL

book.titlestring

Book title without the series suffix.

book.titleCompletestringnullable

Title including the series and number, or null.

book.descriptionstringnullable

Book description as plain text, or null.

book.imageUrlstringnullable

Cover image URL, or null.

absolute HTTPS URL

Authors and other contributors in source order, primary author first.

up to 50 items

book.authors.idintegernullable

Always included.

≥ 0

book.authors.namestring

Always included.

book.authors.rolestringnullable

Always included.

book.authors.urlstringnullable

Always included.

absolute HTTPS URL

book.authors.imageUrlstringnullable

Always included.

absolute HTTPS URL

book.authors.isGoodreadsAuthorbooleannullable

Always included.

book.authors.followersCountintegernullable

Always included.

≥ 0

book.authors.worksCountintegernullable

Always included.

≥ 0

Series the book belongs to.

up to 20 items

book.series.titlestring

Always included.

book.series.urlstringnullable

Always included.

absolute HTTPS URL

book.series.positionstringnullable

Always included.

Top genres in source order.

up to 50 items

book.genres.namestring

Always included.

book.genres.urlstringnullable

Always included.

absolute HTTPS URL

book.averageRatingnumbernullable

Average star rating across all editions (0 to 5), or null.

0 – 5

book.ratingsCountintegernullable

Number of ratings across all editions, or null.

≥ 0

book.reviewsCountintegernullable

Number of text reviews across all editions, or null.

≥ 0

Ratings per star value across all editions, or null.

book.ratingsDistribution.1integer

One-star ratings.

≥ 0

book.ratingsDistribution.2integer

Two-star ratings.

≥ 0

book.ratingsDistribution.3integer

Three-star ratings.

≥ 0

book.ratingsDistribution.4integer

Four-star ratings.

≥ 0

book.ratingsDistribution.5integer

Five-star ratings.

≥ 0

book.formatstringnullable

Edition format, for example Hardcover or Kindle Edition, or null.

book.pagesintegernullable

Number of pages, or null.

≥ 0

book.publishedAtstringnullable

Edition publication date (UTC), or null.

book.publisherstringnullable

Publisher, or null.

book.isbnstringnullable

ISBN-10, or null.

book.isbn13stringnullable

ISBN-13, or null.

book.asinstringnullable

Amazon ASIN, or null.

book.languagestringnullable

Edition language, or null.

The work all editions share, or null.

book.work.idintegernullable

Numeric Goodreads work ID, or null.

≥ 0

book.work.originalTitlestringnullable

Original title, or null.

book.work.firstPublishedAtstringnullable

First publication date (UTC), or null.

book.work.urlstringnullable

Goodreads work page URL, or null.

absolute HTTPS URL

book.work.editionsUrlstringnullable

Goodreads editions page URL, or null.

absolute HTTPS URL

Literary awards won or nominated for, in source order.

up to 100 items

book.awards.namestring

Always included.

book.awards.categorystringnullable

Always included.

book.awards.designationstringnullable

Always included.

book.awards.awardedAtstringnullable

Always included.

book.awards.urlstringnullable

Always included.

absolute HTTPS URL

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

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.