Docs menu

ApplePodcasts API endpoint

Retrieve Apple Podcasts show episodes

Returns a show and its public Apple Podcasts episodes from Apple's iTunes Lookup API.

GETapiKey1 credit/requestApplePodcastsapplepodcasts.showEpisodesResponseDoc/apple-podcasts/show/{id}/episodes

Overview

Returns a show and its public Apple Podcasts episodes from Apple's iTunes Lookup API.

Request schema

NameInTypeRequiredEnumExampleDescription
idpathstringYes173001861Apple Podcasts show ID
countryquerystringNousTwo-letter storefront country code
langquerystringNoen-usResult language tag
limitqueryintegerNo50Number of episodes to return
x-api-keyheaderstringYesAPI key required

Authentication

Send your scraping API key in the x-api-key header. Use the console API Keys page to rotate or select the active key.

Billing

Endpoint usage is metered in credits. The plan prices, included credits, limits, and overage rates below match the active backend billing configuration.

Credit cost
1 credit/request
Charged response
Successful 2xx responses
PlanPriceIncluded creditsDaily capRate limitOverage
Free$0/mo2,000500 daily credits5/minNo overage
Starter$9/mo20,0005,000 daily credits15/min$0.75/1,000 overage credits when enabled
Growth$29/mo100,00025,000 daily credits45/min$0.45/1,000 overage credits when enabled
Pro$79/mo400,000No daily cap120/min$0.30/1,000 overage credits
Business$199/mo1,200,000No daily cap300/min$0.20/1,000 overage credits
Enterprise$499/mo5,000,000No daily cap1,000/min$0.12/1,000 overage credits

Infrastructure behavior

This endpoint is executed through Crawlora's managed scraping infrastructure.

  • Proxy strategy: managed automatically where needed
  • Browser rendering: enabled for supported targets that require rendered HTML or JavaScript execution
  • Browser cluster: supported dynamic workloads can be routed through distributed browser instances
  • Retry behavior: automatic retry/fallback may be used depending on endpoint type
  • Challenge handling: challenged pages or unusable upstream HTML are detected and surfaced clearly when they cannot be used
  • Billing: credits are charged only for successful 2xx responses
  • Observability: responses include request context where available

MCP

MCP URL
https://mcp.crawlora.net/mcp
Tool name
apple_podcasts.show_episodes
Transport
Streamable HTTP
Docs resource
docs://index

Error behavior

Crawlora does not silently return bad data when the upstream page cannot be used.

StatusCommon failure case
400Invalid input or missing required parameter
429Plan or endpoint rate limit exceeded
500Internal execution error
502Upstream platform failed, returned unusable HTML, or served a challenge page that could not be resolved

When possible, Crawlora returns structured error context so your integration can retry, back off, or inspect the request.

Failure responses

StatusDescriptionSchema
400Missing or invalid parameters#/definitions/app.Response
404Show not found#/definitions/app.Response
429Rate limit exceeded#/definitions/app.Response
500Internal server error#/definitions/app.Response

Example response

{
  "code": 200,
  "msg": "OK",
  "data": {
    "show": {
      "id": 173001861,
      "collection_name": "Dan Carlin's Hardcore History"
    },
    "episodes": [
      {
        "id": 1000742374669,
        "show_id": 173001861,
        "title": "Mania for Subjugation III",
        "duration_millis": 15253000
      }
    ]
  }
}

Request schema

No body schema

Response schema

#/definitions/applepodcasts.showEpisodesResponseDoc

FieldTypeRequiredEnumBoundsExampleDescription
codeintegerNo200
dataapplepodcasts.ShowEpisodesResultNo
data.episodesarrayNo
data.episodes[].artwork_url_160stringNo
data.episodes[].artwork_url_60stringNo
data.episodes[].artwork_url_600stringNo
data.episodes[].closed_captioningstringNo
data.episodes[].content_advisory_ratingstringNo
data.episodes[].countrystringNo
data.episodes[].descriptionstringNo
data.episodes[].duration_millisintegerNo
data.episodes[].episode_content_typestringNo
data.episodes[].episode_file_extensionstringNo
data.episodes[].episode_guidstringNo
data.episodes[].episode_urlstringNo
data.episodes[].feed_urlstringNo
data.episodes[].genresarrayNo
data.episodes[].genres[].idstringNo
data.episodes[].genres[].namestringNo
data.episodes[].idintegerNo
data.episodes[].preview_urlstringNo
data.episodes[].release_datestringNo
data.episodes[].short_descriptionstringNo
data.episodes[].show_idintegerNo
data.episodes[].show_namestringNo
data.episodes[].show_urlstringNo
data.episodes[].titlestringNo
data.episodes[].urlstringNo
data.showapplepodcasts.PodcastShowNo
data.show.artist_idintegerNo
data.show.artist_namestringNo
data.show.artist_urlstringNo
data.show.artwork_url_100stringNo
data.show.artwork_url_30stringNo
data.show.artwork_url_60stringNo
data.show.artwork_url_600stringNo
data.show.collection_explicitnessstringNo
data.show.collection_namestringNo
data.show.content_advisory_ratingstringNo
data.show.countrystringNo
data.show.currencystringNo
data.show.feed_urlstringNo
data.show.genre_idsarrayNo
data.show.genresarrayNo
data.show.idintegerNo
data.show.primary_genre_namestringNo
data.show.release_datestringNo
data.show.track_countintegerNo
data.show.track_explicitnessstringNo
data.show.track_namestringNo
data.show.urlstringNo
msgstringNoOK

Code examples

Use environment variables for secrets and keep Crawlora API keys server-side.

curl -X GET "https://api.crawlora.net/api/v1/apple-podcasts/show/173001861/episodes?country=us&lang=en-us&limit=50" \
  -H "x-api-key: $CRAWLORA_API_KEY"

Responsible public web data workflows

Crawlora is designed for responsible structured public web data workflows. Customers are responsible for using Crawlora in compliance with applicable laws, third-party rights, target-platform rules, and Crawlora terms.

Read Crawlora terms

Related