Docs menu

SpotifyPodcasts API endpoint

Retrieve Spotify podcast episode details

Returns normalized public episode metadata from Spotify's getEpisodeOrChapter Pathfinder response, with episode page, embed page, and anonymous oEmbed fallbacks when Pathfinder is unavailable. Provide either uri or id; defaults to a known public episode when omitted.

GETapiKey2 credits/requestSpotifyPodcastsspotify.episodeResponseDoc/spotify-podcasts/episode

Overview

Returns normalized public episode metadata from Spotify's getEpisodeOrChapter Pathfinder response, with episode page, embed page, and anonymous oEmbed fallbacks when Pathfinder is unavailable. Provide either uri or id; defaults to a known public episode when omitted.

Request schema

NameInTypeRequiredEnumExampleDescription
uriquerystringNospotify:episode:2C2Y5kNq7qCVOVhbA0G3osSpotify episode URI or open.spotify.com episode URL
idquerystringNo2C2Y5kNq7qCVOVhbA0G3osSpotify episode ID. Used when uri is omitted
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
2 credits/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
spotify_podcasts.episode
Transport
Streamable HTTP
Docs resource
docs://index

Response behavior

- Invalid Spotify episode IDs or URLs return `400`. - Pathfinder, upstream page, embed, and oEmbed failures, or parser drift across all sources, return `502`. - The response includes episode metadata, HTML descriptions, release precision, playability and paywall hints, audio preview URLs, video thumbnails, transcript counts, share links, and parent show metadata when available. Example response: ```json { "code": 200, "msg": "OK", "data": { "uri": "spotify:episode:2C2Y5kNq7qCVOVhbA0G3os", "id": "2C2Y5kNq7qCVOVhbA0G3os", "type": "Episode", "name": "#2496 - Julia Mossbridge", "releaseDate": "2026-05-08T17:00:00Z", "durationMs": 9761982, "isExplicit": true, "isPlayable": true, "playabilityReason": "PLAYABLE", "mediaTypes": ["AUDIO", "VIDEO"], "imageUrl": "https://i.scdn.co/image/example", "videoThumbnailUrl": "https://i.scdn.co/image/video-example", "externalUrl": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os", "shareUrl": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os", "previewAudioUrl": "https://audio-preview.spotifycdn.com/example.mp3", "previewAudioUrls": ["https://audio-preview.spotifycdn.com/example.mp3"], "transcriptCount": 1, "show": { "uri": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk", "name": "The Joe Rogan Experience", "externalUrl": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk" }, "meta": { "operationName": "getEpisodeOrChapter", "appVersion": "1.2.90.373.g86862e17", "sourceUrl": "https://api-partner.spotify.com/pathfinder/v2/query", "fetchedAt": "2026-05-13T15:22:41Z" } } } ```

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
429Rate limit exceeded#/definitions/app.Response
502Spotify upstream request failed#/definitions/app.Response

Example response

{
  "code": 200,
  "msg": "OK",
  "data": {
    "uri": "spotify:episode:2C2Y5kNq7qCVOVhbA0G3os",
    "id": "2C2Y5kNq7qCVOVhbA0G3os",
    "type": "Episode",
    "name": "#2496 - Julia Mossbridge",
    "releaseDate": "2026-05-08T17:00:00Z",
    "durationMs": 9761982,
    "isExplicit": true,
    "isPlayable": true,
    "playabilityReason": "PLAYABLE",
    "mediaTypes": [
      "AUDIO",
      "VIDEO"
    ],
    "imageUrl": "https://i.scdn.co/image/example",
    "videoThumbnailUrl": "https://i.scdn.co/image/video-example",
    "externalUrl": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
    "shareUrl": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
    "previewAudioUrl": "https://audio-preview.spotifycdn.com/example.mp3",
    "previewAudioUrls": [
      "https://audio-preview.spotifycdn.com/example.mp3"
    ],
    "transcriptCount": 1,
    "show": {
      "uri": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
      "name": "The Joe Rogan Experience",
      "externalUrl": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk"
    },
    "meta": {
      "operationName": "getEpisodeOrChapter",
      "appVersion": "1.2.90.373.g86862e17",
      "sourceUrl": "https://api-partner.spotify.com/pathfinder/v2/query",
      "fetchedAt": "2026-05-13T15:22:41Z"
    }
  }
}

Request schema

No body schema

Response schema

#/definitions/spotify.episodeResponseDoc

FieldTypeRequiredEnumBoundsExampleDescription
codeintegerNoCode is the HTTP status code or a custom code used to indicate the result of the request @example 200
dataspotify.PodcastEpisodeResponseNo
data.descriptionstringNoA new adventure from the Stinky Dragon crew.
data.durationMsintegerNo3600000
data.externalUrlstringNohttps://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os
data.htmlDescriptionstringNoA new adventure from the Stinky Dragon crew.
data.idstringNo2C2Y5kNq7qCVOVhbA0G3os
data.imageUrlstringNohttps://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0
data.imagesarrayNo
data.images[].heightintegerNo640
data.images[].urlstringNohttps://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0
data.images[].widthintegerNo640
data.isExplicitbooleanNofalse
data.isPaywallContentbooleanNofalse
data.isPlayablebooleanNotrue
data.mediaTypesarrayNoAUDIO
data.metaspotify.PodcastEpisodeMetaNo
data.meta.appVersionstringNo1.2.90.403.gf901f20f
data.meta.fetchedAtstringNo2026-05-13T20:41:13Z
data.meta.operationNamestringNogetEpisodeOrChapter
data.meta.sourceUrlstringNohttps://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os
data.namestringNoTales from the Stinky Dragon
data.playabilityReasonstringNoPLAYABLE
data.previewAudioUrlstringNohttps://p.scdn.co/mp3-preview/example
data.previewAudioUrlsarrayNohttps://p.scdn.co/mp3-preview/example
data.previewVideoUrlstringNohttps://p.scdn.co/video-preview/example
data.releaseDatestringNo2026-05-13
data.releaseDatePrecisionstringNoDAY
data.shareUrlstringNohttps://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os
data.showspotify.PodcastEpisodeShowSummaryNo
data.show.descriptionstringNoTales from the Stinky Dragon is an actual-play comedy podcast.
data.show.externalUrlstringNohttps://open.spotify.com/show/1QQJ7FElLE0K6CIfZNCxU4
data.show.idstringNo1QQJ7FElLE0K6CIfZNCxU4
data.show.imageUrlstringNohttps://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0
data.show.imagesarrayNo
data.show.images[].heightintegerNo640
data.show.images[].urlstringNohttps://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0
data.show.images[].widthintegerNo640
data.show.mediaTypestringNoMIXED
data.show.namestringNoTales from the Stinky Dragon
data.show.publisherstringNoStinky Dragon
data.show.showTypesarrayNoPODCAST
data.show.typestringNoPodcast
data.show.uristringNospotify:show:1QQJ7FElLE0K6CIfZNCxU4
data.transcriptCountintegerNo1
data.typestringNoEpisode
data.unplayabilityReasonsarrayNonot_available_in_region
data.uristringNospotify:episode:2C2Y5kNq7qCVOVhbA0G3os
data.videoThumbnailUrlstringNohttps://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0
data.videoThumbnailsarrayNo
data.videoThumbnails[].heightintegerNo640
data.videoThumbnails[].urlstringNohttps://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0
data.videoThumbnails[].widthintegerNo640
msgunknownNoMsg is the message that describes the result of the request @example "Request successful"

Code examples

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

curl -X GET "https://api.crawlora.net/api/v1/spotify-podcasts/episode?uri=spotify%3Aepisode%3A2C2Y5kNq7qCVOVhbA0G3os&id=2C2Y5kNq7qCVOVhbA0G3os" \
  -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