API Documentation

thank you for your interest in the podcast.de API. Our new REST like API provides functionality to access data and services around podcasting.
Authentication

You´ll find two kinds of actions: private and public ones.

For private actions you will need a special partner key which we only hand out to certified partners. Certification is easy. Just get in touch.

Public actions are accessible for all API users but are secured if not otherwise stated. You need to authenticate your calls by either providing a combination of valid username/password credentials (HTTP Basic Auth over SSL) or by authenticating with a valid OAuth (OAuth 1.0a or OAuth 2 Bearer) token (preferred way). See oauth/request_token / oauth2/token for details on how to obtain your consumer token.
Languages

We are starting to make all content available and selectable. You´ll find a few actions where you can pass the lang parameter to filter for specific languages. We support all languages specified by ISO 639-1 e.g. en = English, de = German, es = Spanish, fr = French, ru = Russian, ja = Japanese, hi=Hindi, el=Greek or pt=Portugese.
Request limits

A maximum of 200 results is enforced for all calls (except charts) to ensure platform stability and best performance for all users. We have no other limits at the moment.
Contact

Please do not hesitate to get in touch with me. Email me if you have any questions regarding the API in English or German at: (api [at] podcast [dot] de).
Updates

01.10.2015: Added /directory to retrieve a list of channels
03.06.2015: Implemented PUT call to add podcast feed by url (/subscriptions)
05.03.2015: Retrieving details on a show with /show is now public.
16.03.2014: Added /comment to retrieve and post comments for channels and shows; increased the maximum number of channels in the charts to 500; Added the possibility to import subscriptions with an OPML file
24.11.2013: Added OAuth2 authentification. Restricted to certified partners as of now.
11.04.2013: Switched signatures of /report method so URLs can be submitted as well.
28.09.2013: Added /autolist , /firehose and /report , fixed count on favorites & added fields (channel_*) for playlist results
22.03.2013: Added the lang parameter for channels selected by a category (/category/)

Parameters

Name

Required

channel_id

✓

offset

-

limit

-

This action needs no authorization.

A channel (aka podcast) is a series of shows (aka episodes) by an individual, a group of people or an organisation.

GET: Returns detailled information and the list of shows. With limit and offset you control the number and position of shows returned for this channel. count indicates how many shows are actually available alltogether for this channel.

A JSON-call for channel 14677 with a maximum of 50 shows has to look like this:

Parameters

Name

Required

show_id

-

This action needs no authorization.

Every show (aka episode) belongs to one channel (aka podcast). It´s the actual content made up of meta data.

GET: Returns detailled information and the list of shows. With limit and offset you control the number and position of shows returned for this channel. count indicates how many shows are actually available alltogether for this channel.

OAuth actions

Parameters

POST: Used to exchange the User-authorized Request Token for an Access Token

Oauthauthorize/oauth/authorize

Parameters

Name

Required

oauth_token

-

GET or POST: Used to obtain User authorization for Consumer access

Oauthrequesttoken/oauth/request_token

POST: Used to obtain an unauthorized Request Token as specified in the The OAuth 1.0 Protocol

Register at podcast.de to get an account if you do not have one, yet

Add your app here to get a Consumer key and Consumer secret

Get a get Request token using this action providing the Consumer key and Consumer secret fetched in step 2:

https://api.podcast.de/oauth/request_token

OAuth2 actions

Oauth2token/oauth2/token

Use OAuth2 to authenticate users with an access token. You´ll need a special client_id and client_secret which is only available to certified partners. If you are interested in partnering up do not hesitate to contact us.

POST: Retrieve an access token for an existing user. Provide grant_type=password , the provided client_id and client_secret and the user´s username and password.