---
title: "Get a Goodreads book from dataset"
method: GET
path: "/datasets/goodreads-books/items/{id}"
tags: ["Datasets"]
---

# Get a Goodreads book from dataset

`GET /datasets/goodreads-books/items/{id}`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/datasets/goodreads-books/items/{id}`
- Auth: API key in header `x-api-key`

Returns one Goodreads book from the dataset by `id`. The record has title, authors, series, genres, format, page count, publisher, publication date, ISBN and ISBN-13, language, description, average rating with a one-to-five-star breakdown, and review counts. An unknown id returns 404.

## Path parameters

- `id` string, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- DatasetsGoodreadsBookResponseDoc
  - `code` integer
  - `data` EsGoodreadsBookRecord
    - `author_ids` string[]: Goodreads ids of the credited authors.
    - `authors` string[]: Authors/AuthorIDs list every credited contributor (primary + secondary); PrimaryAuthor(ID) denormalizes the first for single-value filters/facets.
    - `crawled_at` string: Time the book's data was fetched, in UTC (RFC 3339).
    - `description` string: Book description from the Goodreads page.
    - `discovery_source` string: DiscoverySource records how this id was found, e.g. "list:1", "search:mystery", "author:153394" — useful for crawl provenance/debugging.
    - `format` string: Book format, for example `Hardcover`.
    - `genres` string[]: List of genres Goodreads shows for the book.
    - `id` string: Goodreads book id.
    - `image_url` string: URL of the cover image.
    - `isbn` string: ISBN-10 of the edition.
    - `isbn13` string: ISBN-13 of the edition.
    - `language` string: Language the edition is written in, for example `English`.
    - `pages` integer: Number of pages.
    - `primary_author` string: Name of the first credited author.
    - `primary_author_id` string: Goodreads id of the first credited author.
    - `publication_date` string: Publication date as Goodreads shows it, for example `2008-10-14`.
    - `publication_year` integer: Year of publication.
    - `publisher` string: Name of the book's publisher.
    - `rating_average` number: Average Goodreads rating of the book.
    - `rating_five_star` integer: Number of 5-star ratings.
    - `rating_four_star` integer: Number of 4-star ratings.
    - `rating_one_star` integer: Rating*Star is the flattened 1-5 star ratings-count distribution.
    - `rating_three_star` integer: Number of 3-star ratings.
    - `rating_two_star` integer: Number of 2-star ratings.
    - `ratings_count` integer: Number of ratings the book has received.
    - `reviews_count` integer: Number of reviews the book has received.
    - `run_id` string: Identifier of the collection run that produced this record. Accepted as a `run_id` filter.
    - `schema_version` integer: Version of the record layout.
    - `seed_rank` integer: SeedRank is the discovery priority (lower = discovered earlier/higher priority): curated list/search seeds rank low; BFS-discovered books from author expansion rank higher so curated breadth crawls first.
    - `series` string: Series is the display string (e.g. "The Hunger Games #1"); SeriesName is the bare series title, split out for exact filtering/faceting.
    - `series_name` string: Title of the series the book belongs to, without the book number.
    - `source_url` string: URL the data was read from.
    - `title` string: Title of the book.
    - `uri` string: Link to the book's Goodreads page.
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
