Goodreads API — Books, Reviews & Authors as JSON | FetchLayer
Unofficial Third-party API
12 endpoints live

Goodreads data.
No developer key required.

Books & ratings Reader reviews Authors Quotes Series & lists

One key returns Goodreads books with ratings and star breakdowns, reader reviews you can filter, every edition by ISBN, authors, quotes, series and Listopia lists, all as typed JSON.

Start building free
Free tier included No credit card No scraper maintenance

Trusted by developers shipping real products.

2,553,465 served today

POST /goodreads/book-detail
200 OK

Request

$ curl -X POST \
  https://api.fetchlayer.dev/goodreads/book-detail \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"book":5907}'

Response

{
  "title": "The Hobbit, or There and Back Again",
  "firstPublishedAt": "1937-09-21",
  "rating": { "average": 4.3, "count": 4663469, "reviewCount": 96247,
    "histogram": { "5": 2529355, "4": 1344789, "1": 95017 } },
  "series": [{ "title": "Middle Earth", "position": "1" }],
  "genres": [{ "name": "Fantasy" }, { "name": "Classics" }],
  "shelvedBy": { "wantToRead": 1404410 }
}

Used by developers at

Individual developers or teams — not official partnerships

Built for feedback workflows

Fetch the public signal. Use it wherever your team works.

The whole rating, not just the average

Every book comes with its 1–5 star breakdown, rating and review counts, and how many readers are reading it or want to, so you can see how opinion is split.

Reviews you can filter

Popular, newest or oldest first, narrowed by stars, language or words in the text, with the reader, likes and comment count on every review.

Every edition, by ISBN

Look a book up by id, link, ISBN-10 or ISBN-13, and list all of its editions with format, publisher, language, ISBNs and ASIN.

Authors and their whole catalogue

Biography, genres, influences and followers, plus every book they wrote with its rating and edition count, sorted how you need.

Series, lists and quotes

A series in reading order, Listopia lists with rank, score and votes, and quotes by book, author, tag or keyword.

Links in, requests out

Paste any goodreads.com link into resolve-url, free, and get back the route and arguments that read it.

FetchLayer Research Chat

Find out what readers really think—then export it.

Prefer not to write code? Name a book in FetchLayer Research Chat, ask what readers love and what they hate, and get the answer with a clean table of reviews to download.

  • ✓Ask questions in plain English
  • ✓Analyze themes, sentiment, and pain points
  • ✓Download the structured results as CSV or JSON
Analyse Goodreads in Chat

No code or setup required · Uses your FetchLayer credits

Goodreads research

Read the most popular Goodreads reviews of Project Hail Mary and its 1-star reviews, then tell me what readers love and what puts people off. Export the reviews as CSV.

Y

I read the most popular reviews and the 1-star ones, and summarised what readers praise and what puts them off. The table lists each review with its stars, date, likes and a one-line summary. It is ready to download.

goodreads-reviews.csv

60 reviews · 6 columns · ready to download

CSV

From raw feedback to action

One request is the start of the workflow.

Store the structured response, run it on a schedule, pass it to an LLM, or feed it into the system your team already uses. FetchLayer handles retrieval so you can focus on the outcome.

  1. 01

    Start from a title, an author or an ISBN

    Search books or authors, or pass a link or ISBN straight to the book you want.

  2. 02

    Read the book

    One request returns its ratings, star breakdown, genres, series, awards and edition details.

  3. 03

    Go deeper where it matters

    Pull its reviews filtered by stars or language, its editions, the author’s other books or the lists it ranks on. Ratings are as at the time of the request, so store what you read.

One command. Your agent does the rest.

Use the Goodreads endpoint directly from your MCP-compatible agent. Ask it to retrieve public feedback, identify patterns, and turn the result into a useful brief without writing integration glue.

Claude Code Codex

1 Run one command, then sign in

$ npx fetchlayer

◇  Agents

│  Claude Code and Codex

◇  Signed in as you@company.com

◇  Connected

│  ✓ Claude Code  ✓ Codex

It opens a sign-in page in your browser. New here? Signing in creates your free account.

2 Ask

›How do readers rate The Hobbit on Goodreads?

fetchlayer.goodreads_book_detail

It averages 4.3 stars from 4,663,469 ratings: 54% give it five stars and just 2% give it one, and 1.4 million readers have it on their want-to-read shelf. One request, one credit.

No key to copy and nothing to install. New accounts are free, with no credit card.

How it works
The same command connects
Cursor
VS Code
Antigravity
OpenCode
Hermes
ChatGPT, Perplexity, the Claude app and others

Use cases

What teams build with Goodreads data.

Same API, endless applications. Here is what teams ship with Goodreads books, reviews, authors and lists.

01

Book discovery

Search books and authors by title, name or ISBN, then pull ratings, genres, editions and series order in one call.

searchbookscatalogue
02

AI agent context

Give Claude, Codex, or your MCP agent structured books, reader reviews, quotes and author bibliographies as clean JSON.

llmagentsmcp
03

Reader sentiment

Filter a book’s reviews by stars, language or text to see what readers praise, what they hated and why.

reviewssentimentresearch
04

Launch & rating tracking

Poll a title on a schedule to watch its average rating, star breakdown, review count and want-to-read numbers move.

alertsmonitoringcron
05

Recommendation datasets

Export Listopia lists, series and similar-book links as a clean dataset for recommendation and reading apps.

listscsvdatasets
06

Author analytics

Track an author’s whole catalogue with ratings, review counts and publication dates to see which books are gaining readers.

authorsanalyticsprofiles

Compare approaches

Spend time on the insight, not the collection layer.

What you needFetchLayerOfficial APIBuild it yourself
Access without a developer key✓No new keys since 2020You maintain it
Reviews with star and language filters✓n/aYou parse them out
One record shape on every route✓n/aYou design it
Missing fields are null, never guessed✓n/aYou detect it
Ready for AI and MCP workflows✓Your integrationYour integration

FetchLayer provides access to publicly available data. It is not affiliated with, endorsed by, or sponsored by the platform.

Start free. Scale when ready.

Try it free, buy credits as you go, or take a monthly plan when your volume is steady.

Free

$0

30 requests

Enough to call the platforms you care about and read real responses before you pay anything.

  • Every platform and endpoint
  • REST and MCP
  • No credit card
Start free

Pay as you go

$1.99

per 1,000

Buy credits when you need them. They stay on your account until you use them.

  • Credits never expire
  • No monthly commitment
  • Same access as subscribers
  • ∞ req/min, ∞ API keys
Get API key

Monthly plan

Starter

$25

per month

15,000 requests a month, about 500 a day.

$1.67 per 1,000, $5 less than credits each month

  • ∞ req/min, ∞ API keys
Get started

1 page fetched is 1 credit

A normal call reads one page. Ask for more pages and each one is one more credit.

The same on every platform

No multiplier for harder targets, and no charge per result returned.

Nothing back, nothing billed

If a request does not return usable data, it costs 0 credits.

Not sure which volume fits?

15 minutes with the founder. Tell us the workload, we tell you what it needs.

Book a call

Guaranteed throughput on the platform you run on

A dedicated platform from $400/mo, plus $500 for each ~21 req/s. Every other platform on the same key. 99.95% uptime, 24-hour support on Slack or Telegram.

Build your plan

API reference

Every parameter, documented.

All requests are POST with a JSON body and Bearer auth header.

POST /goodreads/book-detail

One book in full by id, link or ISBN: ratings with the 1–5 star breakdown, genres, series, awards, edition details and how many readers want to read it.

book* number | string A book id, link or ISBN
POST /goodreads/book-reviews

Reader reviews in popular, newest or oldest order, filtered by stars, language or words in the text.

book* number | string A book id, link or ISBN
rating / language / search number | string Optional filters
limit / cursor number | string Up to 300, 30 to a credit, or continue from cursor.
POST /goodreads/search-books

Books matching a title, author, ISBN or keywords, in relevance order, with ratings and series.

query* string A title, author, ISBN or keywords
limit / cursor number | string Up to 200, 50 to a credit.
POST /goodreads/author-books

Every book by an author with its rating, first publication year and number of editions.

author* number | string An author id or link
sort string popular, title, newest, rating or pages
POST /goodreads/author-profile

An author’s biography, genres, influences, followers, ratings across their books and most popular titles.

author* number | string An author id or link
POST /goodreads/book-editions

Every edition of a book: format, pages, publisher, date, language, ISBN, ISBN-13 and ASIN.

book* number | string A book id, link or ISBN
POST /goodreads/quotes

Quotes from a book, by an author, with a tag or matching keywords, each with its likes.

book / author / tag / query* string Exactly one source
POST /goodreads/series

A series and its books in reading order, with each book’s position, rating and pages.

series* number | string A series id or link
POST /goodreads/list

A Listopia list with each book’s rank, score and votes, or the lists for a tag.

list / tag* number | string A list id or link, or a tag
POST /goodreads/review-comments

The comment thread under one review.

reviewId* string A review id from book-reviews
POST /goodreads/search-authors

Authors by name, with their number of works and followers.

query* string An author’s name
POST /goodreads/resolve-url

What a goodreads.com link points to, with the route and arguments that read it. Free.

url* string Any goodreads.com link

Fields marked * are required. Full API reference →

FAQ

Common questions.

What is a Goodreads API?

Here it means one HTTP endpoint that returns public Goodreads data as clean JSON: a book with its ratings, genres, series and editions, its reader reviews and their comments, an author’s profile and every book they wrote, quotes, series and Listopia lists. You send an id, a link or an ISBN with a Bearer token and get back typed records. Everything returned is public on Goodreads.

Doesn’t Goodreads have its own API?

Goodreads stopped issuing new developer keys in December 2020. FetchLayer needs no Goodreads key and no Goodreads account: you send your FetchLayer key and nothing else. FetchLayer is not affiliated with, endorsed by, or sponsored by Goodreads or Amazon, and the Goodreads name is used only to identify the platform the data comes from.

Can I look a book up by ISBN?

Yes. Every route that takes a book accepts a Goodreads book id, a book link, an ISBN-10 or an ISBN-13. book-editions lists every edition of a book with its own ISBN, ISBN-13 and ASIN.

How do review filters work?

book-reviews returns reviews in Goodreads’ popular order, or newest or oldest first, and narrows them by star rating, by language, or by words in the review text. totalCount tells you how many match. Up to 300 come back in one request, with a cursor to continue.

How does billing work?

A book, an author profile and a series are one credit each. Listings cost one credit per page of results, reported as pagesScraped: 20 editions, 50 search results, 20 authors, 30 of an author’s books, 30 quotes, 10 review comments or 100 list books to a page. Reviews are billed on what you receive: one credit per 30 reviews. Parsing a link with resolve-url is free.

Can my AI agent use it?

Yes. All twelve routes are MCP tools on the same FetchLayer MCP server, from goodreads_book_detail and goodreads_book_reviews to goodreads_quotes, goodreads_series and goodreads_list. They use the same key and bill exactly like REST.

What is not available?

Private data — readers’ shelves, private profiles and anything behind a Goodreads sign-in — and the text of the books themselves; previewUrl links to the publisher’s free sample when there is one. There are no historical snapshots: ratings and counts are as they stand when you ask.

Start pulling Goodreads data today.

Get a free API key, make your first request, and put public feedback to work in your own product or research workflow.