Goodreads Review Scraper avatar

Goodreads Review Scraper

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Goodreads Review Scraper

Goodreads Review Scraper

πŸ“š Goodreads Review Scraper extracts book reviews at scale β€” ratings, review text, reviewer profiles, dates & shelves. ⚑ Clean, structured data for sentiment analysis, market research & author insights. πŸ”„ Export CSV/JSON. 🎯 Ideal for authors, publishers, marketers & data teams.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

API Empire

API Empire

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Goodreads Review Scraper (Apify Actor)

Scrapes public book reviews from Goodreads using the same approach as the standalone scripts: load the book reviews page, extract work/book resource IDs, discover the GraphQL endpoint and apiKey from bundled JS, then call getReviews with pagination until maxItems per URL.

Features

  • Bulk urls input (full Goodreads book URLs or numeric work IDs).
  • Sort: popular (default), newest, oldest; optional language filter; ALL vs this edition reviews.
  • Proxy strategy: starts with direct HTTP; on failure escalates to Apify datacenter proxy, then RESIDENTIAL (locked for the rest of the run). Retries up to 3Γ— per step (discovery + GraphQL), with short backoff.
  • Results pushed to the dataset as they are scraped (one row per review), matching the flattened review shape from the GraphQL API.

Input

FieldTypeDescription
urlsarrayRequired. Book page URLs or numeric IDs.
maxItemsintegerMax reviews per URL (default 100).
sortBystringpopular | newest | oldest.
languageCodestringe.g. en, or all for no filter.
reviewEditionstringALL (work) or only_this_book.
proxyConfigurationobjectOptional Apify Proxy UI config (escalation uses Apify proxy when needed).

Example:

{
"urls": ["https://www.goodreads.com/book/show/26032825"],
"maxItems": 50,
"sortBy": "oldest",
"languageCode": "en",
"reviewEdition": "only_this_book"
}

Output

Dataset items include bookUrl, id, creator, text, rating, shelving, timestamps, likeCount, commentCount, etc., as returned by the review extractor.

Local run

cd Goodreads-Review-Scraper
pip install -r requirements.txt
apify run

Pass input in the Apify Console, or for local apify run add INPUT.json under the default key-value store yourself (it is not part of this repository).

Only publicly visible reviews are collected. You are responsible for complying with Goodreads’ terms and applicable laws.