ApplePodcasts API endpoint
Returns Apple Podcasts show chart rankings for a `collection`, either `toppodcasts` or `topaudiopodcasts`. Narrow with `category` (a numeric Apple podcast genre ID), `country` and `limit`. Each entry has `name`, `artist_name`, `genre`, `genre_id`, `description`, `release_date`, `artwork_url` and `url`.
/apple-podcasts/charts| Field | Filled in, of 40 checked | Values in the sample |
|---|---|---|
| id | 40 | |
| name | 40 | “The Daily” and 39 other values |
| artist_name | 40 | “The New York Times” and 38 other values |
| artist_url | 15 | podcasts.apple.com |
| url | 40 | podcasts.apple.com |
| description | 40 | median 601 characters |
| artwork_url | 40 | is1-ssl.mzstatic.com |
| genre | 40 | “Daily News” and 19 other values |
| genre_id | 40 | |
| release_date | 40 | 2026-09-29 to 2026-11-22 |
| price | 40 | 0 |
| currency | 40 | USD in all 40 |
| free | 40 | true in 40 of 40 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| collection | string | No | Chart collection | toppodcasts | |
| category | integer | No | Numeric Apple podcast genre ID | 1303 | |
| 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-podcasts/charts?country=us&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": [
{
"id": 360084272,
"name": "The Joe Rogan Experience",
"artist_name": "Joe Rogan",
"url": "https://podcasts.apple.com/us/podcast/the-joe-rogan-experience/id360084272?uo=2",
"genre": "Comedy",
"genre_id": 1303
}
]
}Request schema
No body schema
Response schema
#/definitions/applepodcasts.chartsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | array | No | ||||
| data[].artist_name | string | No | Name of the show's publisher or creator. | |||
| data[].artist_url | string | No | Apple Podcasts page URL of the publisher or creator. | |||
| data[].artwork_url | string | No | URL of the show artwork image. | |||
| data[].currency | string | No | Currency code of `price`. | |||
| data[].description | string | No | Show description as shown in the chart. | |||
| data[].free | boolean | No | Whether the show is free, meaning `price` is 0. | |||
| data[].genre | string | No | Name of the genre the chart entry is filed under. | |||
| data[].genre_id | integer | No | Apple genre id of the chart entry. Use it as the chart genre filter. | |||
| data[].id | integer | No | Apple Podcasts id of the show. | |||
| data[].name | string | No | Show name as listed in the chart. | |||
| data[].price | number | No | Price of the show in the currency given by `currency`. | |||
| data[].release_date | string | No | Release date and time of the show, in ISO 8601 with a UTC offset. | |||
| data[].url | string | No | Apple Podcasts page URL of the show. | |||
| 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-podcasts/charts?country=us&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"