Goodreads data.
No developer key required.
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.
Trusted by developers shipping real products.
2,553,465 served today
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 }
} 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.
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
No code or setup required · Uses your FetchLayer credits
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.
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
Solutions
Build the workflow around the feedback.
Where the books sell
Amazon product details and prices, to put a book’s readers next to its sales listing.
Explore →Where readers argue about them
Reddit threads from book communities, for the conversation beyond the review.
Explore →BookTube, at scale
YouTube video comments, when a title takes off on video first.
Explore →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.
- 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.
- 02
Read the book
One request returns its ratings, star breakdown, genres, series, awards and edition details.
- 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.
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.
Use cases
What teams build with Goodreads data.
Same API, endless applications. Here is what teams ship with Goodreads books, reviews, authors and lists.
Book discovery
Search books and authors by title, name or ISBN, then pull ratings, genres, editions and series order in one call.
AI agent context
Give Claude, Codex, or your MCP agent structured books, reader reviews, quotes and author bibliographies as clean JSON.
Reader sentiment
Filter a book’s reviews by stars, language or text to see what readers praise, what they hated and why.
Launch & rating tracking
Poll a title on a schedule to watch its average rating, star breakdown, review count and want-to-read numbers move.
Recommendation datasets
Export Listopia lists, series and similar-book links as a clean dataset for recommendation and reading apps.
Author analytics
Track an author’s whole catalogue with ratings, review counts and publication dates to see which books are gaining readers.
Compare approaches
Spend time on the insight, not the collection layer.
| What you need | FetchLayer | Official API | Build it yourself |
|---|---|---|---|
| Access without a developer key | ✓ | No new keys since 2020 | You maintain it |
| Reviews with star and language filters | ✓ | n/a | You parse them out |
| One record shape on every route | ✓ | n/a | You design it |
| Missing fields are null, never guessed | ✓ | n/a | You detect it |
| Ready for AI and MCP workflows | ✓ | Your integration | Your 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
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
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
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.
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.
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.
Used by developers at
Individual developers or teams — not official partnerships