ApplePodcasts API endpoint
Returns the curated editorial shelves from podcasts.apple.com/{country}/new (New Shows, New Seasons, New Trailers, Essentials, and other seasonal spotlights). Shelves that merely mirror a Charts Rankings query are omitted here since `/apple-podcasts/charts/rankings` already covers that data.
/apple-podcasts/newMCP tool: apple_podcasts_new
Query parameters:
country — two-letter storefront country code. Default us.| Field | Filled in, of 6 checked | Values in the sample |
|---|---|---|
| title | 6 | median 10 characters |
| items | 6 | median 20 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| country | string | No | Two-letter storefront country code | us | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/apple-podcasts/new?country=us" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"shelves": [
{
"title": "New Shows",
"items": [
{
"id": 6789198595,
"kind": "podcast",
"name": "Better in Person",
"artist_name": "Freakonomics Radio",
"url": "https://podcasts.apple.com/us/podcast/better-in-person/id6789198595",
"artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/.../mza_.jpg/{w}x{h}bb.{f}",
"genres": [
"Documentary",
"Podcasts",
"Society & Culture"
]
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/applepodcasts.newShelvesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | applepodcasts.NewShelvesResult | No | ||||
| data.shelves | array | No | Editorial shelves from the Apple Podcasts New page, in display order. | |||
| data.shelves[].items | array | No | Shows or episodes featured on the shelf, in display order. | |||
| data.shelves[].items[].artist_name | string | No | Name of the show's publisher or creator. | |||
| data.shelves[].items[].artwork_url | string | No | Artwork URL template. Replace `{w}`, `{h}` and `{f}` with the width, height and image format you want. | |||
| data.shelves[].items[].genres | array | No | Genre names the item is filed under. | |||
| data.shelves[].items[].id | integer | No | Apple Podcasts id of the show, episode or channel. | |||
| data.shelves[].items[].kind | string | No | "podcast" | "episode" | "channel" | |||
| data.shelves[].items[].name | string | No | Name of the show, episode or channel. | |||
| data.shelves[].items[].release_date | string | No | Release time of the item, in ISO 8601 (UTC). | |||
| data.shelves[].items[].show_id | integer | No | Apple Podcasts id of the show an episode belongs to. | |||
| data.shelves[].items[].show_name | string | No | Name of the show an episode belongs to. | |||
| data.shelves[].items[].url | string | No | Apple Podcasts page URL of the item. | |||
| data.shelves[].title | string | No | Shelf title as shown on the Apple Podcasts New page, for example `New Shows`. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 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/new?country=us" \
-H "x-api-key: $CRAWLORA_API_KEY"