API Anything

Goodreads APIunofficial

Goodreads books, logged out: search, book details, an author's books, and community reviews. Explored and built by an agent with the api-anything skill (bench/explore).

all live 5 operations, checked by the installs that call them.

Try it

Set up API Anything for your agents:

npx -y api-anything setup

Then ask your agent, which finds this site by itself, or call it from a shell:

api-anything pull goodreads
api-anything call goodreads authorBooks authorId=2687

Operations

OperationMethodLoginWritesStatus
authorBooks(authorId) -> bookId, title, avgRating, ratingsCount

An author's books (first page, up to 30): bookId, title, avgRating, ratingsCount.

GET no no Live0 confirmations
getBook(bookId) -> title, author, authorUrl, avgRating, ratingsCount, pages, firstPublished, genres, description

One book's page: title, author, authorUrl, avgRating, ratingsCount ("1,481,183 ratings"), pages ("393 pages, Hardcover"), firstPublished, genres (list) and description.

GET no no Live1 confirmation · 100% success; last worked
getReviews(workId) -> reviewer, rating, text

Top community reviews of a work: reviewer, rating (1-5) and text (HTML). Long reviews make the result truncated after a few.

POST no no Live0 confirmations
getWorkId(bookId) -> workId, legacyWorkId

The work id (kca://work/...) that getReviews needs, for a book id.

GET no no Live0 confirmations
searchBooks(q) -> bookId, title, author, authorId, avgRating, ratingsCount

Search books by title or author: the site's own search-box results (top 5), with bookId, title, author, authorId, avgRating and ratingsCount. A "title author" query often ranks study guides first; search by title and pick the result by the right author with the most ratings.

GET no no Live1 confirmation · 100% success; last worked

Notes

No account is needed.

  • Numbers keep the page's format. avgRating is a string ("4.22"). ratingsCount is "1,481,183 ratings" in getBook, "1,481,180" in authorBooks and a number in searchBooks.
  • Page 1 only: 5 search results, 30 of an author's books, the first reviews.
  • On a new install, the first getReviews call opens the page in Chrome once (about 6 s) to pick up a site-wide API key. Later calls are plain HTTP.

About these operations

Each operation is a request learned from Goodreads's own web pages: API Anything replays it over plain HTTP and falls back to a browser when it must. Read them as JSON.

← All shared sites