Datasets API endpoint
Returns one Goodreads author from the dataset by numeric author `id`. The record has name, about text, genres, birth and death dates, website, average rating, ratings and reviews counts, image and Goodreads URL. An id not in the dataset returns 404.
/datasets/goodreads-authors/items/{id}Returns one crawled Goodreads author profile record by id (the document id) from dataset id enum value goodreads-authors. Returns 404 when the id is absent from the dataset.
Path parameters:
id (required) — Goodreads author id, e.g. 153394.| Field | In the sample | Value in the sample |
|---|---|---|
| id | Has a value | |
| name | Has a value | |
| website | Has a value | evanovich.com |
| genres | Has a value | 3 entries |
| about | Has a value | 319 characters |
| image_url | Has a value | images.gr-assets.com |
| average_rating | Has a value | 4.03 |
| ratings_count | Has a value | 4,679,549 |
| reviews_count | Has a value | 207,401 |
| uri | Has a value | goodreads.com |
| seed_rank | Has a value | 844 |
| discovery_source | Has a value | |
| run_id | Has a value | |
| crawled_at | Has a value | 2026-07-20 |
| schema_version | Has a value |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | Goodreads author id, e.g. 153394 | 153394 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/goodreads-authors/items/153394" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "153394",
"name": "Suzanne Collins",
"birth_date": "August 11, 1962",
"website": "http://suzannecollinsbooks.com",
"genres": [
"Young Adult",
"Fantasy"
],
"about": "Suzanne Collins is the author of...",
"average_rating": 4.3,
"ratings_count": 20189669,
"reviews_count": 900123,
"uri": "https://www.goodreads.com/author/show/153394.Suzanne_Collins",
"source_url": "https://www.goodreads.com/author/show/153394"
}
}Request schema
No body schema
Response schema
#/definitions/datasets.goodreadsAuthorResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | es.GoodreadsAuthorRecord | No | ||||
| data.about | string | No | Author biography from the Goodreads page. | |||
| data.average_rating | number | No | Average rating across the author's books on Goodreads. | |||
| data.birth_date | string | No | Birth date as Goodreads shows it, for example `August 11, 1962`. | |||
| data.crawled_at | string | No | Time the author's data was fetched, in UTC (RFC 3339). | |||
| data.death_date | string | No | Date of death as Goodreads shows it. | |||
| data.discovery_source | string | No | DiscoverySource records how this id was found, e.g. "book:2767052", "genre:fantasy", "search:mystery" — useful for crawl provenance/debugging. | |||
| data.genres | array | No | List of genres Goodreads shows for the author. | |||
| data.id | string | No | Goodreads author id. | |||
| data.image_url | string | No | URL of the author's photo. | |||
| data.name | string | No | Full name of the author. | |||
| data.ratings_count | integer | No | Number of ratings the author's books have received. | |||
| data.reviews_count | integer | No | Number of reviews the author's books have received. | |||
| data.run_id | string | No | Identifier of the collection run that produced this record. Accepted as a `run_id` filter. | |||
| data.schema_version | integer | No | Version of the record layout. | |||
| data.seed_rank | integer | No | SeedRank is the discovery priority (lower = discovered earlier/higher priority), mirroring GoodreadsBookRecord.SeedRank. | |||
| data.source_url | string | No | URL the data was read from. | |||
| data.uri | string | No | Link to the author's Goodreads page. | |||
| data.website | string | No | Author's website address. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/datasets/goodreads-authors/items/153394" \
-H "x-api-key: $CRAWLORA_API_KEY"