100 free credits. No credit card required.Start building
Logo
Goodreads API

Get Goodreads book and review data with one API

Fetch Goodreads books, reader reviews, authors, quotes, series and Listopia lists as structured JSON with one SocialCrawl API key. Reviews use the shared Review schema. Reads are priced in credits.

/v1/goodreads

10 active endpoints. Books, reviews, authors, quotes and lists.

  • GET /v1/goodreads/book
  • GET /v1/goodreads/book/reviews
  • GET /v1/goodreads/review/comments
  • GET /v1/goodreads/book/editions
  • GET /v1/goodreads/search
  • GET /v1/goodreads/author
  • GET /v1/goodreads/author/books
  • GET /v1/goodreads/quotes
  • GET /v1/goodreads/series
  • GET /v1/goodreads/lists

What Goodreads endpoints does SocialCrawl ship?

Ten read endpoints for public Goodreads data. Search books, read a book in full, page through reader reviews, list editions, look up authors, and read quotes, series and Listopia lists.

Book detail

1 credit
/v1/goodreads/book

One book in full. Returns title, authors and roles, series and position, description, genres, the average rating with its 1 to 5 star breakdown, rating and review counts, review counts by language, edition format, pages, publisher, ISBN and ASIN, awards, characters and how many readers are reading it or want to read it. Standard tier (1 credit).

id, url, isbn, include_similar, include_lists, include_preview

Book reviews

5 credits
/v1/goodreads/book/reviews

Reader reviews of a book, 30 a page: popular, newest or oldest. Filter to one star rating, one language or a phrase. Each review has its rating out of 5, text, date, helpful votes and the reviewer with their review count. Advanced tier (5 credits).

id, url, isbn, sort, rating, language, search, limit, cursor

/v1/goodreads/review/comments

The comments readers left under one review, with text, date and commenter. Take id from review.id on the book reviews route. Standard tier (1 credit).

id, limit, cursor

/v1/goodreads/book/editions

Every edition of a book. Returns format, pages, publisher, publication date, language, ISBN, ISBN-13 and ASIN for each. Standard tier (1 credit).

id, url, isbn, limit, cursor

Book search

1 credit
/v1/goodreads/search

Books matching a title, author or keyword, with authors, average rating, rating and review counts, first publication year, pages and series. Standard tier (1 credit).

query, limit, cursor

/v1/goodreads/author

One author. Returns name, photo, biography, follower count, number of works, birthplace and website. Standard tier (1 credit).

id, url

Author books

1 credit
/v1/goodreads/author/books

An author's books with average rating, rating and review counts, first publication year and edition count. Sort by popular, title, newest, rating or pages. Standard tier (1 credit).

id, url, sort, limit, cursor

Quotes

1 credit
/v1/goodreads/quotes

Quotes from one book, by one author, under one tag or matching keywords. Each has its text, author, book, tags and likes. Send exactly one of book, author, tag or query. Standard tier (1 credit).

book, author, tag, query, limit, cursor

Series

1 credit
/v1/goodreads/series

The books of one series in reading order, each with its position, rating and counts, plus the series title and description. A series comes back whole in one call. Standard tier (1 credit).

id, url

/v1/goodreads/lists

With id or url, the books ranked on one Listopia list with rank, score and votes. With tag, the lists for that tag with their book and voter counts. Standard tier (1 credit).

id, url, tag, limit, cursor

Goodreads API10 endpoints supported
View docs
Books
Reviews
Authors
Quotes
Lists

Returns one Goodreads book: title, authors, series, description, genres, average rating with the star breakdown, counts, edition details, awards, and current readers.

Use it to profile a title: how readers rate it, how many are reading it now, and which edition you are looking at.

1 credit

GET/v1/goodreads/book?id=5907
$ curl https://www.socialcrawl.dev/v1/goodreads/book?id=5907 \
    -H "x-api-key: sc_YOUR_API_KEY"
idle
// Running this live needs your own API key. Hit "Try it" to see an example response

How the Goodreads API works

Goodreads is a normal SocialCrawl data surface. You call GET /v1/goodreads/… with an API key, spend credits on live misses, and get a single JSON envelope back.

Authenticate every call

Send your key in the x-api-key header. No Goodreads account or developer app is needed for public reads. The same key works across SocialCrawl platforms.

GET with query params

Books accept one of id, url or isbn. Authors accept id or url. Search takes query. Formats are validated before any charge.

Pay in credits, not seats

Book reviews cost 5 credits. Every other Goodreads route costs 1 credit. Cache hits cost 0.

Read one JSON envelope

Every response is the same shape: success, data, credits_used, credits_remaining, request_id, cached. Lists also carry pagination when the route pages.

The usual integration chain

Most products find an entity first, then deepen into detail and reviews only when needed.

01Find the book
GET /v1/goodreads/search?query=…

Books matching a title, author or keyword

Search returns the book id the other routes take.

02Read the book
GET /v1/goodreads/book?id=…

Rating breakdown, counts, editions data and genres

One call gives the average rating, the 1 to 5 star spread and review counts by language.

03Page the reviews
GET /v1/goodreads/book/reviews?id=…

ReviewList, 30 a page, with rating and language filters

Filter to one star rating or one language, then pass the cursor for the next page.

04Walk the author
GET /v1/goodreads/author/books?id=…

An author's books sorted by popularity or date

Compare how an author's other books are rated.

request
GET /v1/goodreads/search?query=the+hobbit
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here

GET /v1/goodreads/book/reviews?id=5907&sort=newest
response envelope
{
  "success": true,
  "data": {
    "items": [
      {
        "review": {
          "rating": 5,
          "text": "Example review text",
          "helpful_votes": 12,
          "language": "en"
        }
      }
    ]
  },
  "credits_used": 5,
  "credits_remaining": 9999,
  "request_id": "req_…",
  "cached": false
}

What lands in data

Field names match the rest of SocialCrawl where archetypes align. Parse once, reuse across platforms.

Bookssearch

title, authors, average rating, rating and review counts, first publication year

ReviewListbook/reviews

items[] with rating, text, date, helpful_votes and the reviewer

CommentListreview/comments

items[] with text, date and commenter

Authorauthor

name, photo, biography, followers, works count, birthplace

Inside the gateway

Same request lifecycle as every other /v1 platform endpoint. Goodreads is not a sidecar.

  1. 01

    Edge receives the call

    Next.js catch-all routes into the Hono social API. We mint a request_id, authenticate the key, then enforce rate limit (600/min) and concurrency (50 in flight per key).

  2. 02

    Validate, then debit

    Registry lookup finds the goodreads route. Required params and format checks run first. Invalid input returns 400 with no charge. Valid calls debit the tier cost atomically before the read starts.

  3. 03

    Cache or fetch

    A deterministic cache key is built from platform + resource + params. Hit: return immediately, credits_used = 0. Miss: the public page is read live, with retries on 5xx or network errors and a circuit breaker if the source is unhealthy.

  4. 04

    Normalize and return

    Goodreads data is mapped to the Author, ReviewList and CommentList archetypes or returned as structured analytics rows, validated, then wrapped in the success envelope and logged for billing audit.

Billing rules that matter in production

  • book/reviews: 5 credits
  • Every other Goodreads route: 1 credit
  • Cache hit: 0 credits
  • Empty / hard fail: auto-refund
  • Bad params: 400, never charged
  • No credits: 402, never charged
  • Reviews: 30 a page
  • A series comes back whole in one call
  • No write or review-posting tools

How SocialCrawl gets Goodreads data

Goodreads is public read data. We normalize it into the SocialCrawl schema so your code does not learn a second vendor SDK.

What Goodreads is for this API

Public book pages, reader reviews, author pages, quotes, series and Listopia lists.

How SocialCrawl reaches it

Public pages are read on request and normalized server-side. You never run a Goodreads login.

What leaves our edge

ReviewList and CommentList for reader text, Author for authors, and structured rows for books, quotes, series and lists.

What we do not ship live

No shelves, ratings you submit, reviews you post or private reading data.

field map sketch
Goodreads review→ ReviewList items[]rating out of 5, text, helpful_votes
reviewer→ review.authorreviewer with their review count
filters→ rating, language, searchnarrow a review pull to what you need

What this API is used for

The jobs this API is most often used for.

10active Goodreads endpoints in the registry
1 / 5credit ladder for book vs book/reviews

Book sentiment, publishing research and reader-voice mining

Callers search for a book first, then deepen into its rating breakdown, reviews and the author's other titles. Reader reviews filtered by star rating, language or phrase, in the shared Review schema, at a flat 5 credits a page of 30.

Live misses read the public page on request. Repeat calls hit cache and cost 0 credits.

Use case examples

Common ways teams put this data to work, and the stack each one tends to run.

Publishers and agents

Python, notebooks

book and author/books to compare ratings and review volume across a list.

Review analysts

Node, warehouse loads

book/reviews with rating and language filters for reader-language mining.

Recommendation builders

Python, vector search

lists and series to build reading-order and similar-book features.

How to call the Goodreads API

Book search is 1 credit. A page of reviews is 5. Cache hits are free.

curl "https://www.socialcrawl.dev/v1/goodreads/search?query=the+hobbit" \
  -H "x-api-key: sc_your_api_key_here"
curl "https://www.socialcrawl.dev/v1/goodreads/book/reviews?id=5907&sort=newest" \
  -H "x-api-key: sc_your_api_key_here"
Goodreads on SocialCrawl

Same key as the rest of the catalog

Endpoints

What data does the Goodreads API return?

Every endpoint returns structured JSON in a unified envelope. Computed fields such as engagement rate and content category are included only where the endpoint supports them and the required source inputs are present.

FAQ

Have a question? We got answers

Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.

Contact us
What does the SocialCrawl Goodreads API cover?
It covers 10 endpoints: Book, Book Reviews, Review Comments, Book Editions, Search, Author, Author Books, Quotes, Series, and Lists. They return book search, full book records, reader reviews and review comments, editions, authors and their books, quotes, series and Listopia lists in the same unified JSON as the other 74 platforms.
Can I look up a Goodreads book by ISBN?
Yes. GET /v1/goodreads/book accepts an ISBN-10 or ISBN-13 as isbn, as well as a Goodreads book id or link.
Can I filter Goodreads reviews by rating or language?
Yes. GET /v1/goodreads/book/reviews takes rating for a star count from 1 to 5, language for a code such as en or de, search for words inside reviews, and sort for popular, newest or oldest.
Do I need a Goodreads account or key?
No. You call SocialCrawl with one SocialCrawl API key, so there is no Goodreads login, application or key to manage.
How much does the Goodreads API cost?
Single records and search cost 1 credit, and review lists cost 5 credits. A new account gets 100 free credits with no card.
Is scraping Goodreads data legal?
SocialCrawl returns publicly available Goodreads data and does not access private or login-gated content. Whether scraping fits your project depends on your use case and jurisdiction. You are responsible for complying with Goodreads's terms of service and applicable data-protection laws such as GDPR and CCPA. This is general information, not legal advice.
Goodreads scraping API vs the official Goodreads API: what's the difference?
With SocialCrawl there is no app review or approval queue. Sign up and call Goodreads endpoints immediately with a single x-api-key. Responses share one unified schema with every other SocialCrawl platform, and credit-based pricing replaces per-platform quotas. Official APIs are still the right choice for posting and other write actions: SocialCrawl is read-only data.

Ask AI about SocialCrawl

Read the Goodreads API reference in the docs

🤖 AI agent or LLM? Read this page as markdown