Goodreads URL Parser API — Link to Request Fields

Resolve a Goodreads link

What a goodreads.com link points to (book, author, series, list, quote page, review…), its id and canonical URL, and which route and arguments read it. Free: costs no credits.

POST /resolve-url Utilities
https://api.fetchlayer.dev/goodreads/resolve-url
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

url string required

A goodreads.com link.

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

resolve-url

Resolve a Goodreads link

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.

input string

The link as given.

kind string

What it points to: book, author, series, list, review and so on.

id number | null

Its id; value holds a non-numeric key such as a tag.

canonicalUrl string | null

The canonical goodreads.com URL.

tool string | null

The MCP tool that reads it; the REST route is the same name without the goodreads_ prefix, with dashes.

arguments object | null

The arguments to send to that tool or route.

Request

curl -X POST "https://api.fetchlayer.dev/goodreads/resolve-url" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.goodreads.com/book/show/5907.The_Hobbit"}'

Response

{
  "transport": "goodreads",
  "notes": [],
  "input": "https://www.goodreads.com/book/show/5907.The_Hobbit",
  "kind": "book",
  "id": 5907,
  "value": null,
  "canonicalUrl": "https://www.goodreads.com/book/show/5907",
  "tool": "goodreads_book_detail",
  "arguments": {
    "book": 5907
  }
}
Product overviewGoodreads API: what it returns, pricing and use cases