SpotifyPodcasts API endpoint
Returns the Spotify podcasts home page as sections of items, for `uri` (default `spotify:genre:podcasts-web`). Each section has a title and items with type, title, publisher, images and Spotify URL. `page_limit` and `section_limit` default to 10 and run 1 to 50; the offsets default to 0.
/spotify-podcasts/homeMCP tool: spotify_podcasts_home
Path/query/body parameters:
uri query string, optional. Spotify podcast genre or page URI.page_offset query integer, optional. Page pagination offset. Defaults to 0.page_limit query integer, optional. Page pagination limit, clamped to 1-50. Defaults to 10.section_offset query integer, optional. Section pagination offset. Defaults to 0.section_limit query integer, optional. Section pagination limit, clamped to 1-50. Defaults to 10.include_episode_content_ratings_v2 query boolean, optional. Includes Spotify episode content ratings v2 when requested.Notable response behavior:
503.| Field | Filled in, of 2 checked | Values in the sample |
|---|---|---|
| uri | 2 | “spotify:section:0JQ5DAwD41iTh6T8ay5IzN” and 1 other value |
| type | 2 | “BrowseGridSectionData” and 1 other value |
| title | 1 | “Categories” |
| totalCount | 2 | 1 to 9, median 1 |
| items | 2 | median 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| uri | string | No | Spotify page or genre URI | spotify:genre:podcasts-web | |
| page_offset | integer | No | Page pagination offset | 0 | |
| page_limit | integer | No | Page pagination limit, clamped to 1-50 | 10 | |
| section_offset | integer | No | Section pagination offset | 0 | |
| section_limit | integer | No | Section pagination limit, clamped to 1-50 | 10 | |
| include_episode_content_ratings_v2 | boolean | No | Include Spotify episode content ratings v2 | false | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/spotify-podcasts/home?include_episode_content_ratings_v2=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"uri": "spotify:genre:podcasts-web",
"title": "Podcasts",
"sections": [
{
"uri": "spotify:section:example",
"title": "Featured",
"items": [
{
"uri": "spotify:show:1QQJ7FElLE0K6CIfZNCxU4",
"type": "Podcast",
"title": "Example Show",
"externalUrl": "https://open.spotify.com/show/1QQJ7FElLE0K6CIfZNCxU4"
}
]
}
],
"meta": {
"operationName": "browsePage",
"sectionCount": 1,
"fetchedAt": "2026-05-13T15:22:41Z"
}
}
}Request schema
No body schema
Response schema
#/definitions/spotify.browsePageResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | spotify.BrowsePageResponse | No | ||||
| data.meta | object | No | Details about this response. | |||
| data.meta.appVersion | string | No | 1.2.90.403.gf901f20f | Version of the Spotify web player the data was read from. | ||
| data.meta.fetchedAt | string | No | 2026-05-13T20:41:12Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.meta.operationName | string | No | browsePage | Name of the Spotify web player operation that returned the data. | ||
| data.meta.sectionCount | integer | No | 8 | Number of sections returned. | ||
| data.sections | array | No | Sections of the page, in display order. BrowsePageSection record, 18 fields: items, subtitle, title, totalCount, type, uri. Described under Spotify Podcasts Categories API. | |||
| data.subtitle | string | No | New shows and episodes | Secondary line shown under the page title. | ||
| data.title | string | No | Podcasts | Page title as Spotify shows it. | ||
| data.type | string | No | BrowseSectionContainer | Kind of page container as Spotify labels it. | ||
| data.uri | string | No | spotify:genre:podcasts-web | Spotify URI of the page that was loaded. | ||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 503 | Spotify upstream request failed | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/spotify-podcasts/home?include_episode_content_ratings_v2=true" \
-H "x-api-key: $CRAWLORA_API_KEY"