AppleBooks API endpoint
Returns Apple Books ebook chart rankings for `collection`, `top-free` (default) or `top-paid`. Omit `genre` for all genres, or use one of the discovered ebook category IDs. `country` defaults to `us`; `limit` defaults to 50 and maxes at 200. Each entry has `name`, author, `genres`, `release_date`, `artwork_url` and `url`.
/apple-books/chartsMCP tool: apple_books_charts
Query parameters:
collection: optional. Chart collection. Allowed values: top-free, top-paid. Default top-free.genre: optional. Ebook genre ID to filter the chart. Allowed values: 9008 (Biographies & Memoirs), 9009 (Business & Personal Finance), 9026 (Comics & Graphic Novels), 9027 (Computers & Internet), 9028 (Cookbooks, Food & Wine), 9031 (Fiction & Literature), 9025 (Health, Mind & Body), 9015 (History), 11086 (Kids), 9032 (Mysteries & Thrillers), 9002 (Nonfiction), 9034 (Politics & Current Events), 9018 (Religion & Spirituality), 9003 (Romance), 9020 (Sci-Fi & Fantasy), 9035 (Sports & Outdoors), 11165 (Young Adult). Omit the parameter for all genres. These ebook IDs cannot be used as audiobook genre IDs; call /apple-books/genres?media=book to discover current names and canonical URLs.country: optional. Two-letter storefront country code, default us.limit: optional. Number of chart items to return, default 50, max 200.| Field | Filled in, of 40 checked | Values in the sample |
|---|---|---|
| id | 40 | |
| name | 40 | “All The Best People Are” and 39 other values |
| artist_name | 40 | “Sunday St. Marie” and 37 other values |
| artist_id | 40 | |
| artist_url | 40 | books.apple.com |
| url | 40 | books.apple.com |
| artwork_url | 40 | is1-ssl.mzstatic.com |
| genres | 40 | median 4 entries |
| release_date | 40 | 1813-01-28 to 2026-10-07 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| collection | string | No | Chart collection. Allowed values: top-free, top-paid Allowed values: top-free, top-paid. | top-free | |
| genre | integer | No | Optional ebook genre ID. Allowed values: 9008, 9009, 9026, 9027, 9028, 9031, 9025, 9015, 11086, 9032, 9002, 9034, 9018, 9003, 9020, 9035, 11165. Use apple_books_genres with media=book to discover names. Allowed values: 9008, 9009, 9026, 9027, 9028, 9031, 9025, 9015, 11086, 9032, 9002, 9034, 9018, 9003, 9020, 9035, 11165. | 9031 | |
| country | string | No | Two-letter storefront country code | us | |
| limit | integer | No | Number of chart items to return | 50 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/apple-books/charts?collection=top-free&genre=9008&country=us&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": [
{
"id": 395540967,
"name": "The Odyssey",
"artist_name": "Homer",
"artist_id": 781333,
"url": "https://books.apple.com/us/book/the-odyssey/id395540967",
"genres": [
"Poetry",
"Books"
]
}
]
}Request schema
No body schema
Response schema
#/definitions/applebooks.chartsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | array | No | ||||
| data[].artist_id | integer | No | ||||
| data[].artist_name | string | No | ||||
| data[].artist_url | string | No | ||||
| data[].artwork_url | string | No | ||||
| data[].genres | array | No | ||||
| data[].id | integer | No | ||||
| data[].name | string | No | ||||
| data[].release_date | string | No | ||||
| data[].url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/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/apple-books/charts?collection=top-free&genre=9008&country=us&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"