Goodreads Series API — Every Book in Reading Order

Get a series in reading order

A book series: title, description, counts of primary and total works, and its books in reading order, each with its position as Goodreads prints it ("1", "0.5", "1-3"), rating, pages, first publication year and a reading-sample link when there is one. 1 credit.

POST /series Quotes, series & lists
https://api.fetchlayer.dev/goodreads/series
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

series integer | string required

The series: a Goodreads series id (66175) or a series URL.

format string optional

json or markdown, lowercase; any other value is a 400. Over MCP, markdown returns the result rendered as text; the REST API accepts it and returns JSON. (default: json)

timeoutMs number optional

Per-request time limit in milliseconds (max 600000).

Response Fields

series

Get a series in reading order

transport string

The data source: always the platform id, "goodreads".

notes string[]

Caveats about this response you can act on, such as a series listing fewer works than its total. Empty when there are none.

id number

The series id.

title string

The series title; subtitle is Goodreads’ summary line, such as "4 primary works • 17 total works".

description string | null

The description as plain text; descriptionHtml keeps its formatting and links.

primaryWorks number | null

Works Goodreads counts as primary.

totalWorks number | null

All works in the series. When fewer books are listed, notes says so.

books object[]

The books in reading order.

books[].id number

The book id, which every route that takes a book accepts.

books[].workId number | null

The work id shared by all of the book’s editions; quotes accepts it as workId.

books[].title string

The title, with the series in brackets when Goodreads shows it that way.

books[].url string

Link to the book on goodreads.com.

books[].coverUrl string | null

Cover image.

books[].authors object[]

Authors, each with id, name, url, and where Goodreads gives them, role (Author, Illustrator, Translator…), isGoodreadsAuthor and imageUrl.

books[].rating object

{ average, count, reviewCount }: the average star rating, how many ratings and how many reviews. reviewCount is null where the listing does not show it.

books[].firstPublishedYear number | null

Year of first publication.

books[].position string | null

Its place in the series, as Goodreads prints it.

books[].pages number | null

Page count.

books[].previewUrl string | null

Link to the free reading sample, when there is one.

Request

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

Response

{
  "transport": "goodreads",
  "notes": [
    "Goodreads lists 15 of the series' 17 works on its series page."
  ],
  "id": 66175,
  "url": "https://www.goodreads.com/series/66175",
  "title": "Middle Earth Series",
  "subtitle": "4 primary works • 17 total works",
  "description": "See also:\n* Unfinished Tales\n* The History of Middle-Earth\n\nThe Lord of the Rings is an epic high fantasy trilogy written by English philologist and University of Oxford professor J.R.R. Tolkien. The story began as a seq…",
  "descriptionHtml": "See also:<br />* <a href=\"https://www.goodreads.com/series/58079-unfinished-tales\" rel=\"nofollow noopener\">Unfinished Tales</a><br />* <a href=\"https://www.goodreads.com/series/45924-the-history-of-middle-earth\" rel=\"nof…",
  "primaryWorks": 4,
  "totalWorks": 17,
  "books": [
    {
      "id": 7332,
      "workId": 4733799,
      "title": "The Silmarillion",
      "url": "https://www.goodreads.com/book/show/7332.The_Silmarillion",
      "coverUrl": "https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1610045590i/7332._SX120_.jpg",
      "authors": [
        {
          "id": 656983,
          "name": "J.R.R. Tolkien",
          "url": "https://www.goodreads.com/author/show/656983.J_R_R_Tolkien",
          "isGoodreadsAuthor": false
        }
      ],
      "rating": {
        "average": 4.04,
        "count": 352215,
        "reviewCount": 17641
      },
      "firstPublishedYear": 1977,
      "pages": 386,
      "editionsCount": 4,
      "position": "0.5",
      "previewUrl": null
    }
  ]
}
Product overviewGoodreads API: what it returns, pricing and use cases