ApplePodcasts API endpoint
Searches Apple Podcasts shows by `term`, which is required. `country`, `lang`, `limit` and `page` (1-based) refine the search. Each show has `collection_name`, `artist_name`, `feed_url`, `primary_genre_name`, `genres`, `track_count`, `release_date`, content advisory rating and several artwork sizes.
/apple-podcasts/searchMCP tool: apple_podcasts_search
Returns Apple Podcasts show results for a query.
| Field | Filled in, of 14 checked | Values in the sample |
|---|---|---|
| id | 14 | |
| artist_id | 2 | |
| artist_name | 14 | “Dan Carlin” and 12 other values |
| artist_url | 2 | podcasts.apple.com |
| collection_name | 14 | “Dan Carlin's Hardcore History” and 13 other values |
| track_name | 14 | “Dan Carlin's Hardcore History” and 13 other values |
| url | 14 | podcasts.apple.com |
| feed_url | 14 | feeds.feedburner.com and 9 other hosts |
| artwork_url_30 | 14 | is1-ssl.mzstatic.com |
| artwork_url_60 | 14 | is1-ssl.mzstatic.com |
| artwork_url_100 | 14 | is1-ssl.mzstatic.com |
| artwork_url_600 | 14 | is1-ssl.mzstatic.com |
| release_date | 14 | 2021-05-26 to 2026-10-19 |
| collection_explicitness | 14 | notExplicit in all 14 |
| track_explicitness | 14 | cleaned (11), explicit (3) |
| track_count | 14 | 1 to 620, median 34 |
| country | 14 | USA in all 14 |
| currency | 14 | USD in all 14 |
| primary_genre_name | 14 | History (5), Music History (5), Music (1) and 3 more |
| content_advisory_rating | 14 | Clean (11), Explicit (3) |
| genre_ids | 14 | |
| genres | 14 | median 3 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| term | string | Yes | Search term | hardcore history | |
| country | string | No | Two-letter storefront country code | us | |
| lang | string | No | Result language tag | en-us | |
| limit | integer | No | Number of shows per page | 50 | |
| page | integer | No | Search page number (1-based) | 1 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/apple-podcasts/search?term=hardcore+history&country=us&lang=en&limit=10&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": [
{
"id": 173001861,
"artist_name": "Dan Carlin",
"collection_name": "Dan Carlin's Hardcore History",
"track_name": "Dan Carlin's Hardcore History",
"url": "https://podcasts.apple.com/us/podcast/dan-carlins-hardcore-history/id173001861?uo=4",
"feed_url": "https://feeds.feedburner.com/dancarlin/history?format=xml",
"primary_genre_name": "History"
}
]
}Request schema
No body schema
Response schema
#/definitions/applepodcasts.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | array | No | ||||
| data[].artist_id | integer | No | Apple id of the show's publisher or creator. | |||
| 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_100 | string | No | URL of the show artwork image, 100 pixels wide. | |||
| data[].artwork_url_30 | string | No | URL of the show artwork image, 30 pixels wide. | |||
| data[].artwork_url_60 | string | No | URL of the show artwork image, 60 pixels wide. | |||
| data[].artwork_url_600 | string | No | URL of the show artwork image, 600 pixels wide. | |||
| data[].collection_explicitness | string | No | Explicitness label Apple gives the show collection. | |||
| data[].collection_name | string | No | Show name as listed in the collection. | |||
| data[].content_advisory_rating | string | No | Content advisory rating Apple gives the show. | |||
| data[].country | string | No | Storefront country code of the show. | |||
| data[].currency | string | No | Currency code Apple lists for the show. | |||
| data[].feed_url | string | No | URL of the show's RSS feed. | |||
| data[].genre_ids | array | No | Apple genre ids the show is filed under. | |||
| data[].genres | array | No | Names of the genres the show is filed under. | |||
| data[].id | integer | No | Apple Podcasts id of the show. | |||
| data[].primary_genre_name | string | No | Name of the show's main genre. | |||
| data[].release_date | string | No | Release date and time Apple lists for the show, as Apple returns it. | |||
| data[].track_count | integer | No | Number of episodes Apple reports for the show. | |||
| data[].track_explicitness | string | No | Explicitness label Apple gives the show's track entry. | |||
| data[].track_name | string | No | Show name as listed on the track entry. | |||
| 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/search?term=hardcore+history&country=us&lang=en&limit=10&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"