-
Notifications
You must be signed in to change notification settings - Fork 79
Podcast endpoints? #551
Comments
Thanks for the feature request @seahorsepip! |
@hughrawlinson Can you give us more insights? Is it on a roadmap? Thanks :) |
Hi @HenrikFricke - we don't have a public roadmap at the moment, but any updates will be posted on developer.spotify.com, and this thread will be updated. Right now, there's no timeline for podcast endpoints. |
@hughrawlinson okay, thanks for the answer :) |
+1 asking to bring podcasts to the web api. My pain is I cant fetch metadata for podcasts like this one https://open.spotify.com/episode/5TSsSAR7MHV2aC7jVvpvBw?si=ZMg7hkWOQa6lI383S2QEzQ |
I'd love this as a feature, too. Just adding this due to radio silence |
+1 from me - I'd like to link to Spotify from podcast pages like this one; as the #2 podcast destination in the world, it would be brilliant to link further to Spotify. |
+1 Need this API to be open. There is no in-app feature to view the podcasts I've seen unless I individually go to a podcast, and filter by progress. |
+1 from me too |
+1 here also |
@hughrawlinson who do we have to bribe to get this functionality available? |
+1 please |
+1, that would be a great feature |
indeed, +1 |
+1 |
+1. I'm currently writing an app to get recent episodes for a podcast and push the data to a webhook. I thought Spotify would make this easy, but it looks like I'll have to make my own solution. |
+1 |
1 similar comment
+1 |
Podcasts now appear to be showing up in search on open.spotify.com |
@nathangathright That's nice to know - but sadly, there's still no sign of them in the web API. Unless we know different! |
Actually... ah, this is interesting. So, podcasts are appearing under this URL: This works ONLY if you have a valid token. There appears to be an Authorization header sent. Here's a snippet of what it returns:
...so the "type" is the undocumented "show" in this instance. |
@jamescridland But that only works if you know what podcast to search for right? |
@maracuja-juice Yes, I haven't tried any of the other API end points. My suspicion is that they should all behave in the same way - use the undocumented "show". But I've not tried them or tested them. |
@jamescridland I couldn't find a documented API endpoint to do this when I was searching a few weeks ago - not for lack of trying. The web player exposes a bunch of undocumented APIs for almost anything you might need, including podcast search, but obtaining a valid token in a repeatable automated way is an adventure. |
@drpancake The normal token when using the web api doesn't work for these undocumented endpoints then, right? |
I'm successfully querying this undocumented endpoint using a token from the standard web API. It works just fine (though searching for a podcast called "The Daily" is rather more painful than it needs be). |
Yeah, I'm able to use the search, and also the currently-playing end point as entry points into a specific podcast (though the object structure is very different between "tracks" and "episodes") using the normal bearer token. I've then been able to get information on the "show" and the "episode" using hrefs returned in the json by these initial end points. Samples that worked for me, using just a simple get at these two urls, using the normal bearer token: https://api.spotify.com/v1/shows/2SuODPath8vx2W3JNHluKA Things that haven't worked for me that I'd like to have working in an ideal world: I just want to listen to Spotify podcasts offline on my new Samsung Galaxy Watch! It's driving me nuts that I can't. I was hoping the APIs would give me a workaround but I've had no luck so far. |
As a quick additional note, you can search using a type of "episode" to find specific podcasts, in addition to type=show Simple example: https://api.spotify.com/v1/search?q=dan%20carlin&type=episode vs https://api.spotify.com/v1/search?q=dan%20carlin&type=show or with both: https://api.spotify.com/v1/search?q=dan%20carlin&type=episode,show |
Using which endpoint? |
Add to queue probably isn't the right term, sorry. Play now would be better. I'm using this one: https://api.spotify.com/v1/player/play Documented here: https://developer.spotify.com/documentation/web-api/reference/player/start-a-users-playback/ |
I can't find followed podcasts in any of the endpoints available. |
Nevermind, just found. |
You have two endpoints : But there is some missing information with the second ; like "resume_point" for each podcast entries. If i use a token generated thought the web client, everything is fine, but not a token generated with Oauth (Authorization Code) with all scopes available. Do someone knows if there is a way to get this data ? |
These undocumented endpoints were created for use with Spotify's own Web Player, not for use in third party projects. That's why a regular token, as issued to a user of a third party application, is not sufficient to access them. |
+1 |
+1 I assume there's still no way to use episode uris with the https://api.spotify.com/v1/me/player/play endpoint? |
+1 |
3 similar comments
+1 |
+1 |
+1 |
Furthermore, it would be extremely helpful if we could access podcast statistics (ie: subscriber count, starts, streams, etc) via API, so that we can pull statistics from different podcast platforms together to get a holistic view of one's statistics across all podcast platforms. |
Apparently the endpoint exists as @jamescridland mentioned, it would be nice if it was documented though. |
Undocumented Spotify Podcasts API
Show endpoints
Find single, by ID - shows
Example: Find multiple, by ID - shows
Example: Retrieving episodes for a show with limits and offsetThis doesn't seem to work at the moment.
Example: Search - showsFind a single show by keywords, following Search API.
Example: Note: market is not optional when searching for shows, limit and offset still work as normal. Expected JSONIf you find one ID, you will be given the episodes. If you're searching for multiple, episodes will be omitted.
Episode end points
Find single, by ID - episodes
Example: Find multiple, by ID - episodes
Example: Search - episodesFind a single episode by keywords, following Search API.
Example: Note: market is not optional when searching for episodes, limit and offset still work as normal. Expected JSONIf you find one ID, you will be given the show. If you're using the show for the episodes, show will not be included in the JSON for episodes.
Playlist tracksIt's also apparent that the Get a Playlist's Tracks endpoint offers 'type' filtering as an optional query parameter. For example: Find playlist tracksThis is the default expected request.
Find playlist tracks and episodesThis request filers tracks and episodes differently, showing episodes with their correct API endpoint data-type as per the JSON expected above.
In short: episodes are listed with thier accompanying show within the response. If you use track, you will still receive episodes, except they are formatted like a track (i.e. album, artist instead of show). Likewise, if you use 'type' of just 'episode' you will still receive tracks and they will be formatted as they are currently without this filter. Removing episodes from a playlistIf you have added episodes to a playlist, you can programmatically remove them using their position in the playlist. Send a DELETE request to:
The payload should be an array of positions, e.g. { "positions": [0, 1] } Note: you must send the This example will remove the first and second track (read: episode) from the playlist. As of 29-02-2020, you can also pass episode URIs as per the remove tracks endpoint documentation. The payload should be array of URIs, e.g. {
"tracks": [
{ "uri": "spotify:episode:6GO8UvfFR1kQmnNdmdffFG" }
]
} Add episodes to a playlistYou can add episodes to a playlist by passing an episode URI. This works the same as adding tracks to a playlist with the difference being that you use an episode URI. For example, send a GET request to:
Use the query parameter of
Your GET request should look like:
Alternatively, send a POST request to:
Use a payload of URIs, e.g. {"uris": ["spotify:episode:6GO8UvfFR1kQmnNdmdffFG"]} You can mix tracks and episodes in both POST and GET requests too. Reordering tracks in a playlistIt is possible to reorder tracks using the API, however, episodes that were once added and are no longer available are output as an empty item. In other words, the 'track' hash of the 'items' array is missing for episodes that are no longer available; the 'added_at', 'added_by', 'is_local' still appear. CaveatsI've been doing some experimental work with this API and have found the following:
Revision history
|
Official endpoints: Search, browse and follow podcasts using the new Podcast APIs Web API Reference: |
I am trying do stream the audio track from the spotify endpoint, is this possible? One of the use cases that I am thinking is to do analysis with this audio track |
Add endpoints to get, save, remove etc. podcasts.
The text was updated successfully, but these errors were encountered: