MENU navbar-image

Introduction

Through the podcaster API you can access your media files, podcast feeds and episodes.

This documentation aims to provide all the information you need to work with our API.

<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>

Authenticating requests

This API is not authenticated.

Endpoints

POST api/webhooks/syncing

Example request:
curl --request POST \
    "https://app.podcaster.de/api/webhooks/syncing" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/webhooks/syncing"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/webhooks/syncing';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/webhooks/syncing'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/webhooks/syncing

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Episodes

List episodes

Returns a list of episodes belonging to a podcast channel. Accessible with scopes: shows,shows-read-only

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/shows?channel_id=123e4567-e89b-12d3-a456-426655440000&page[number]=22&page[size]=7&filter=Kurzfilm&sortBy=published_at&sortDesc=desc&page%5Bnumber%5D=1&page%5Bsize%5D=10" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/shows"
);

const params = {
    "channel_id": "123e4567-e89b-12d3-a456-426655440000",
    "page[number]": "22",
    "page[size]": "7",
    "filter": "Kurzfilm",
    "sortBy": "published_at",
    "sortDesc": "desc",
    "page[number]": "1",
    "page[size]": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/shows';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'channel_id' => '123e4567-e89b-12d3-a456-426655440000',
            'page[number]' => '22',
            'page[size]' => '7',
            'filter' => 'Kurzfilm',
            'sortBy' => 'published_at',
            'sortDesc' => 'desc',
            'page[number]' => '1',
            'page[size]' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/shows'
params = {
  'channel_id': '123e4567-e89b-12d3-a456-426655440000',
  'page[number]': '22',
  'page[size]': '7',
  'filter': 'Kurzfilm',
  'sortBy': 'published_at',
  'sortDesc': 'desc',
  'page[number]': '1',
  'page[size]': '10',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (200):


{
    "data": [
        {
            "type": "show",
            "id": "pod-5ea2082c6bc37297937508",
            "feed_id": "Der_Podcast",
            "links": {
                "self": "https://api.podcaster.sattoaster/api/shows/pod-5ea2082c6bc37297937508?feedId=Der_Podcast",
                "web": "https://beispiel.podcaster.de/der_podcast/beispiel-013/",
                "logo": "",
                "media": ""
            },
            "attributes": {
                "title": "Beispiel #013",
                "description": "Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de",
                "author": "beispiel@kundendomain.me (Fabio Bacigalupo)",
                "link": "https://beispiel.podcaster.de/der_podcast/beispiel-013/",
                "copyright": "podcaster.de",
                "logo": "",
                "guid": "pod-5ea2082c6bc37297937508",
                "publish_date": "1587677228",
                "publish_date_formatted": "23.04.2020, 23:27 Uhr",
                "status": "2",
                "file": "",
                "enclosure_url": "",
                "itunes": {
                    "title": "Nur als Entwurf",
                    "subtitle": "",
                    "logo": "1587677200",
                    "summary": "",
                    "episodeType": "full",
                    "author": "Fabio Bacigalupo",
                    "duration": "00:05:08",
                    "season": "",
                    "episode": ""
                },
                "type": "unknown",
                "duration_formatted": "5m 8s"
            },
            "relationships": [
                "entry"
            ]
        },
        {
            "type": "show",
            "id": "pod-5cc21955598f7405476263",
            "feed_id": "Der_Podcast",
            "links": {
                "self": "https://api.podcaster.sattoaster/api/shows/pod-5cc21955598f7405476263?feedId=Der_Podcast",
                "web": "https://beispiel.podcaster.de/der_podcast/beispiel-folge-xyz-011/",
                "logo": "",
                "media": ""
            },
            "attributes": {
                "title": "#012 Beispiel-Folge",
                "description": "<div>Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de <br></div><div></div>\n\nIn der Folge wird erklärt, was ein Podcast ist.",
                "author": "beispiel@kundendomain.me (Fabio Bacigalupo)",
                "link": "https://beispiel.podcaster.de/der_podcast/beispiel-folge-xyz-011/",
                "copyright": "podcaster.de",
                "logo": "",
                "guid": "pod-5cc21955598f7405476263",
                "publish_date": "1557908895",
                "publish_date_formatted": "15.05.2019, 10:28 Uhr",
                "status": 4,
                "file": "",
                "enclosure_url": "",
                "itunes": {
                    "title": "Beispiel-Folge xyz",
                    "subtitle": "xyz sagt alles",
                    "logo": "1555322159",
                    "summary": "",
                    "episodeType": "full",
                    "author": "Fabio Bacigalupo",
                    "duration": "00:05:08",
                    "season": "1",
                    "episode": "10"
                },
                "type": "unknown",
                "duration_formatted": "5m 8s"
            },
            "relationships": [
                "entry"
            ]
        }
    ]
}
 

Request      

GET api/shows

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Query Parameters

channel_id   string  optional    

UUId des Podcasts. Example: 123e4567-e89b-12d3-a456-426655440000

page   object  optional    
page.number   number  optional    

value muss mindestens 1 sein. Example: 22

page.size   number  optional    

value muss mindestens 1 sein. value darf maximal 500 sein. Example: 7

filter   string  optional    

Suche in Titel und Beschreibung nach bestimmten Episoden. Example: Kurzfilm

sortBy   string  optional    

You can either sort by published_at or status Example: published_at

sortDesc   string  optional    

Sort order. Example: desc

page[number]   integer  optional    

Used for pagination. The page number. Example: 1

page[size]   integer  optional    

Used for pagination. The page size. Example: 10

Create episode

Adds a new episode. Accessible with scope: shows

Example request:
curl --request POST \
    "https://app.podcaster.de/api/shows" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "channel_id=123e4567-e89b-12d3-a456-426655440000"\
    --form "status=PUBLISHED"\
    --form "title=Dies ist eine Episode."\
    --form "description="\
    --form "author=Maxima Musterfrau"\
    --form "copyright=Podcast-Team MM"\
    --form "link="\
    --form "file_id=1554927456"\
    --form "itunes[title]="\
    --form "itunes[subtitle]="\
    --form "itunes[summary]="\
    --form "itunes[episode]=0"\
    --form "itunes[episodeType]="\
    --form "itunes[season]=0"\
    --form "itunes[logo]="\
    --form "itunes[explicit]="\
    --form "itunes[block]="\
    --form "itunes[author]="\
    --form "publishing_date=2021-08-26"\
    --form "publishing_time=12:10:59"\
    --form "podcastindex[episode_node_value]=4326.41688"\
    --form "podcastindex[episode_display]=m"\
    --form "podcastindex[chapter_url]=https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt"\
    --form "podcastindex[chapter_type]=w"\
    --form "podcastindex[image_srcset]=architecto"\
    --form "podcastindex[license_node_value]=n"\
    --form "podcastindex[license_url]=http://crooks.biz/et-fugiat-sunt-nihil-accusantium"\
    --form "podcastindex[location_node_value]=n"\
    --form "podcastindex[location_geo_latitude]=4326.41688"\
    --form "podcastindex[location_geo_longitude]=4326.41688"\
    --form "podcastindex[location_osm]=m"\
    --form "podcastindex[season_node_value]=16"\
    --form "podcastindex[season_name]=n"\
    --form "write_metadata=1"\
    --form "media=@/tmp/php39719aq2b0b2amgHh6C" 
const url = new URL(
    "https://app.podcaster.de/api/shows"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('channel_id', '123e4567-e89b-12d3-a456-426655440000');
body.append('status', 'PUBLISHED');
body.append('title', 'Dies ist eine Episode.');
body.append('description', '');
body.append('author', 'Maxima Musterfrau');
body.append('copyright', 'Podcast-Team MM');
body.append('link', '');
body.append('file_id', '1554927456');
body.append('itunes[title]', '');
body.append('itunes[subtitle]', '');
body.append('itunes[summary]', '');
body.append('itunes[episode]', '0');
body.append('itunes[episodeType]', '');
body.append('itunes[season]', '0');
body.append('itunes[logo]', '');
body.append('itunes[explicit]', '');
body.append('itunes[block]', '');
body.append('itunes[author]', '');
body.append('publishing_date', '2021-08-26');
body.append('publishing_time', '12:10:59');
body.append('podcastindex[episode_node_value]', '4326.41688');
body.append('podcastindex[episode_display]', 'm');
body.append('podcastindex[chapter_url]', 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt');
body.append('podcastindex[chapter_type]', 'w');
body.append('podcastindex[image_srcset]', 'architecto');
body.append('podcastindex[license_node_value]', 'n');
body.append('podcastindex[license_url]', 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium');
body.append('podcastindex[location_node_value]', 'n');
body.append('podcastindex[location_geo_latitude]', '4326.41688');
body.append('podcastindex[location_geo_longitude]', '4326.41688');
body.append('podcastindex[location_osm]', 'm');
body.append('podcastindex[season_node_value]', '16');
body.append('podcastindex[season_name]', 'n');
body.append('write_metadata', '1');
body.append('media', document.querySelector('input[name="media"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/shows';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'multipart/form-data',
            'Accept' => 'application/json',
        ],
        'multipart' => [
            [
                'name' => 'channel_id',
                'contents' => '123e4567-e89b-12d3-a456-426655440000'
            ],
            [
                'name' => 'status',
                'contents' => 'PUBLISHED'
            ],
            [
                'name' => 'title',
                'contents' => 'Dies ist eine Episode.'
            ],
            [
                'name' => 'description',
                'contents' => ''
            ],
            [
                'name' => 'author',
                'contents' => 'Maxima Musterfrau'
            ],
            [
                'name' => 'copyright',
                'contents' => 'Podcast-Team MM'
            ],
            [
                'name' => 'link',
                'contents' => ''
            ],
            [
                'name' => 'file_id',
                'contents' => '1554927456'
            ],
            [
                'name' => 'itunes[title]',
                'contents' => ''
            ],
            [
                'name' => 'itunes[subtitle]',
                'contents' => ''
            ],
            [
                'name' => 'itunes[summary]',
                'contents' => ''
            ],
            [
                'name' => 'itunes[episode]',
                'contents' => '0'
            ],
            [
                'name' => 'itunes[episodeType]',
                'contents' => ''
            ],
            [
                'name' => 'itunes[season]',
                'contents' => '0'
            ],
            [
                'name' => 'itunes[logo]',
                'contents' => ''
            ],
            [
                'name' => 'itunes[explicit]',
                'contents' => ''
            ],
            [
                'name' => 'itunes[block]',
                'contents' => ''
            ],
            [
                'name' => 'itunes[author]',
                'contents' => ''
            ],
            [
                'name' => 'publishing_date',
                'contents' => '2021-08-26'
            ],
            [
                'name' => 'publishing_time',
                'contents' => '12:10:59'
            ],
            [
                'name' => 'podcastindex[episode_node_value]',
                'contents' => '4326.41688'
            ],
            [
                'name' => 'podcastindex[episode_display]',
                'contents' => 'm'
            ],
            [
                'name' => 'podcastindex[chapter_url]',
                'contents' => 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt'
            ],
            [
                'name' => 'podcastindex[chapter_type]',
                'contents' => 'w'
            ],
            [
                'name' => 'podcastindex[image_srcset]',
                'contents' => 'architecto'
            ],
            [
                'name' => 'podcastindex[license_node_value]',
                'contents' => 'n'
            ],
            [
                'name' => 'podcastindex[license_url]',
                'contents' => 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium'
            ],
            [
                'name' => 'podcastindex[location_node_value]',
                'contents' => 'n'
            ],
            [
                'name' => 'podcastindex[location_geo_latitude]',
                'contents' => '4326.41688'
            ],
            [
                'name' => 'podcastindex[location_geo_longitude]',
                'contents' => '4326.41688'
            ],
            [
                'name' => 'podcastindex[location_osm]',
                'contents' => 'm'
            ],
            [
                'name' => 'podcastindex[season_node_value]',
                'contents' => '16'
            ],
            [
                'name' => 'podcastindex[season_name]',
                'contents' => 'n'
            ],
            [
                'name' => 'write_metadata',
                'contents' => '1'
            ],
            [
                'name' => 'media',
                'contents' => fopen('/tmp/php39719aq2b0b2amgHh6C', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/shows'
files = {
  'channel_id': (None, '123e4567-e89b-12d3-a456-426655440000'),
  'status': (None, 'PUBLISHED'),
  'title': (None, 'Dies ist eine Episode.'),
  'description': (None, ''),
  'author': (None, 'Maxima Musterfrau'),
  'copyright': (None, 'Podcast-Team MM'),
  'link': (None, ''),
  'file_id': (None, '1554927456'),
  'itunes[title]': (None, ''),
  'itunes[subtitle]': (None, ''),
  'itunes[summary]': (None, ''),
  'itunes[episode]': (None, '0'),
  'itunes[episodeType]': (None, ''),
  'itunes[season]': (None, '0'),
  'itunes[logo]': (None, ''),
  'itunes[explicit]': (None, ''),
  'itunes[block]': (None, ''),
  'itunes[author]': (None, ''),
  'publishing_date': (None, '2021-08-26'),
  'publishing_time': (None, '12:10:59'),
  'podcastindex[episode_node_value]': (None, '4326.41688'),
  'podcastindex[episode_display]': (None, 'm'),
  'podcastindex[chapter_url]': (None, 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt'),
  'podcastindex[chapter_type]': (None, 'w'),
  'podcastindex[image_srcset]': (None, 'architecto'),
  'podcastindex[license_node_value]': (None, 'n'),
  'podcastindex[license_url]': (None, 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium'),
  'podcastindex[location_node_value]': (None, 'n'),
  'podcastindex[location_geo_latitude]': (None, '4326.41688'),
  'podcastindex[location_geo_longitude]': (None, '4326.41688'),
  'podcastindex[location_osm]': (None, 'm'),
  'podcastindex[season_node_value]': (None, '16'),
  'podcastindex[season_name]': (None, 'n'),
  'write_metadata': (None, '1'),
  'media': open('/tmp/php39719aq2b0b2amgHh6C', 'rb')}
payload = {
    "channel_id": "123e4567-e89b-12d3-a456-426655440000",
    "status": "PUBLISHED",
    "title": "Dies ist eine Episode.",
    "description": "",
    "author": "Maxima Musterfrau",
    "copyright": "Podcast-Team MM",
    "link": "",
    "file_id": "1554927456",
    "itunes": {
        "title": "",
        "subtitle": "",
        "summary": "",
        "episode": 0,
        "episodeType": "",
        "season": 0,
        "logo": "",
        "explicit": false,
        "block": false,
        "author": ""
    },
    "publishing_date": "2021-08-26",
    "publishing_time": "12:10:59",
    "podcastindex": {
        "episode_node_value": 4326.41688,
        "episode_display": "m",
        "chapter_url": "https:\/\/www.gulgowski.com\/nihil-accusantium-harum-mollitia-modi-deserunt",
        "chapter_type": "w",
        "image_srcset": "architecto",
        "license_node_value": "n",
        "license_url": "http:\/\/crooks.biz\/et-fugiat-sunt-nihil-accusantium",
        "location_node_value": "n",
        "location_geo_latitude": 4326.41688,
        "location_geo_longitude": 4326.41688,
        "location_osm": "m",
        "season_node_value": 16,
        "season_name": "n"
    },
    "write_metadata": true
}
headers = {
  'Content-Type': 'multipart/form-data',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, files=files)
response.json()

Request      

POST api/shows

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

channel_id   string  optional    

UUId des Podcasts. Example: 123e4567-e89b-12d3-a456-426655440000

status   string  optional    

Status der Episode: DRAFT (Entwurf), PUBLISHED (Veröffentlicht) Example: PUBLISHED

title   string     

Titel der Episode. value darf maximal 255 Zeichen haben. Example: Dies ist eine Episode.

description   string     

Beschreibung der Episde. value darf maximal 4000 Zeichen haben.

author   string     

Autor der Episode. value darf maximal 255 Zeichen haben. Example: Maxima Musterfrau

copyright   string  optional    

Angabe zu Nutzerrechten. value darf maximal 255 Zeichen haben. Example: Podcast-Team MM

link   string  optional    

Must be a valid URL.

file_id   string  optional    

ID einer Medien-Datei. Example: 1554927456

itunes   object  optional    
title   string  optional    

Apple Podcast-spezifischer Titel der Episode. value darf maximal 255 Zeichen haben.

subtitle   string  optional    

Apple Podcast-spezifischer Untertitel der Episode. value darf maximal 255 Zeichen haben.

summary   string  optional    

Apple Podcast-spezifische Zusammenfassung der Episode (ohne HTML). value darf maximal 4000 Zeichen haben.

episode   integer  optional    

Example: 0

episodeType   string     
Must be one of:
  • full
  • trailer
  • bonus
season   integer  optional    

Example: 0

logo   string  optional    
explicit   boolean     

Example: false

block   boolean  optional    

Example: false

author   string  optional    

value darf maximal 255 Zeichen haben.

publishing_date   string     

Must be a valid date in the format Y-m-d. Example: 2021-08-26

publishing_time   string     

Must be a valid date in the format H:i:s. Example: 12:10:59

media   file  optional    

Must be a file. Example: /tmp/php39719aq2b0b2amgHh6C

podcastindex   object  optional    
episode_node_value   number  optional    

Example: 4326.41688

episode_display   string  optional    

value darf maximal 255 Zeichen haben. Example: m

chapter_url   string  optional    

value darf maximal 255 Zeichen haben. Example: https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt

chapter_type   string  optional    

value darf maximal 50 Zeichen haben. Example: w

image_srcset   string  optional    

Example: architecto

license_node_value   string  optional    

value darf maximal 255 Zeichen haben. Example: n

license_url   string  optional    

value darf maximal 255 Zeichen haben. Example: http://crooks.biz/et-fugiat-sunt-nihil-accusantium

location_node_value   string  optional    

value darf maximal 255 Zeichen haben. Example: n

location_geo_latitude   number  optional    

Example: 4326.41688

location_geo_longitude   number  optional    

Example: 4326.41688

location_osm   string  optional    

value darf maximal 255 Zeichen haben. Example: m

season_node_value   integer  optional    

Example: 16

season_name   string  optional    

value darf maximal 255 Zeichen haben. Example: n

transcript   string  optional    
write_metadata   boolean  optional    

Example: true

Get episode

Gets details of an episode. Accessible with scopes: shows,shows-read-only

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):


{
    "data": {
        "type": "show",
        "id": "pod-5ea2082c6bc37297937508",
        "feed_id": "Der_Podcast",
        "attributes": {
            "title": "Beispiel #013",
            "subtitle": "",
            "link": "https://beispiel.podcaster.de/der_podcast/beispiel-013/",
            "description": "Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de",
            "author": "beispiel@kundendomain.me (Fabio Bacigalupo)",
            "email": "",
            "copyright": "podcaster.de",
            "itunes": {
                "title": "Nur als Entwurf",
                "subtitle": "",
                "logo": "1587677200",
                "summary": "",
                "episodeType": "full",
                "author": "Fabio Bacigalupo",
                "duration": "00:05:08",
                "season": "",
                "episode": ""
            }
        }
    }
}
 

Request      

GET api/shows/{uuid}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

uuid   string     

UUID einer Episode. Example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed

Delete episode

Removes an episode from a podcast channel. Accessible with scope: shows

Example request:
curl --request DELETE \
    "https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

Request      

DELETE api/shows/{uuid}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

uuid   string     

Example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed

Copy episode

Creates a copy of a show. You can create a duplicate within the same podcast or copy the show to another podcast. The copy is always saved with status draft. Accessible with scope: shows

Example request:
curl --request POST \
    "https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/copy" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/copy"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/copy';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/copy'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/show/{uuid}/copy

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

uuid   string     

GUID of the episode Example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed

Body Parameters

channel_uuid_to   string  optional    

The uuid of an existing record in the App\Models\Channel table.

Moves an episode from one podcast to another.

Accessible with scope: shows

Example request:
curl --request POST \
    "https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/move/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/move/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/move/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/move/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/show/{uuid}/move/{channel_uuid}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

uuid   string     

Example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed

channel_uuid   string     

Example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed

string   string  optional    

$channelUuidTo Example: architecto

Media

List files

Gets a list of the user´s uploaded (media) files. Accessible with scopes: media,media-read-only

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/media?sort_by=name&sort_dir=desc&filter=%22kreativ%22&strict=1&page[number]=1&page[size]=10" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/media"
);

const params = {
    "sort_by": "name",
    "sort_dir": "desc",
    "filter": ""kreativ"",
    "strict": "1",
    "page[number]": "1",
    "page[size]": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_by' => 'name',
            'sort_dir' => 'desc',
            'filter' => '"kreativ"',
            'strict' => '1',
            'page[number]' => '1',
            'page[size]' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/media'
params = {
  'sort_by': 'name',
  'sort_dir': 'desc',
  'filter': '"kreativ"',
  'strict': '1',
  'page[number]': '1',
  'page[size]': '10',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (200):


{
    "count": 7,
    "items": [
        {
            "id": "1600240053",
            "name": "1400x1400.png",
            "byte": 14644,
            "created": "16.09.2020 09:07:33",
            "size": "14.3 KB",
            "last": "09:07:33 16.09.2020",
            "cat": "_default_",
            "url": "https://beispiel.podcaster.de/download/1400x1400.png",
            "extension": "png",
            "mimetype": "image/png",
            "type": "image",
            "created_date": "16.09.2020",
            "created_time": "09:09"
        },
        {
            "id": "1593720040",
            "name": "3000x3000.png",
            "byte": 93132,
            "created": "02.07.2020 22:00:40",
            "size": "90.95 KB",
            "last": "22:00:40 02.07.2020",
            "cat": "logos",
            "url": "https://beispiel.podcaster.de/download/3000x3000.png",
            "extension": "png",
            "mimetype": "image/png",
            "type": "image",
            "created_date": "02.07.2020",
            "created_time": "22:10"
        }
    ]
}
 

Request      

GET api/media

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Query Parameters

sort_by   string  optional    

Sort criterium (Allowed values: 'name', 'size', 'created'. Default: 'name'). Example: name

sort_dir   string  optional    

Sort order ('asc', 'desc'. Default: 'desc'). Example: desc

filter   string  optional    

Search for a file (name). Example: "kreativ"

strict   integer  optional    

Used to limit search results to exact matches. (Default: 0) Example: 1

page   object  optional    
page.number   integer  optional    

Used for pagination. The page number. Example: 1

page.size   integer  optional    

Used for pagination. The page size. Example: 10

Upload file

Stores a file in the media manager.

Example request:
curl --request POST \
    "https://app.podcaster.de/api/media" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "media=@/tmp/phpq2h1tqivoir7c5VevDq" 
const url = new URL(
    "https://app.podcaster.de/api/media"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('media', document.querySelector('input[name="media"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'multipart/form-data',
            'Accept' => 'application/json',
        ],
        'multipart' => [
            [
                'name' => 'media',
                'contents' => fopen('/tmp/phpq2h1tqivoir7c5VevDq', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/media'
files = {
  'media': open('/tmp/phpq2h1tqivoir7c5VevDq', 'rb')}
headers = {
  'Content-Type': 'multipart/form-data',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, files=files)
response.json()

Request      

POST api/media

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

media   file     

The media file to upload. Example: /tmp/phpq2h1tqivoir7c5VevDq

Get file

Gets details for a media file.

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/media/0" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/media/0"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media/0';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/media/0'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):


{
    "id": 1600240053,
    "name": "1400x1400.png",
    "byte": 14644,
    "size": "14.3 KB",
    "time": "16.09.2020 09:07:33",
    "last": "16.09.2020 09:07:33",
    "cat": null,
    "mimetype": "image/png",
    "type": "image",
    "info": "PNG image data, 1400 x 1400, 8-bit/color RGBA, non-interlaced",
    "mime": "image/png"
}
 

Request      

GET api/media/{media_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

media_id   integer     

ID of the media file. Example: 0

Delete file

Remove a file from the media manager.

Example request:
curl --request DELETE \
    "https://app.podcaster.de/api/media/123456789" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/media/123456789"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media/123456789';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/media/123456789'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

Request      

DELETE api/media/{media_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

media_id   integer     

ID of the media file to be deleted. Example: 123456789

Get metadata

Retrieves the metadata of a mediafile

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/media/architecto/metadata" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id\": \"6ff8f7f6-1eb3-3525-be4a-3932c805afed\"
}"
const url = new URL(
    "https://app.podcaster.de/api/media/architecto/metadata"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": "6ff8f7f6-1eb3-3525-be4a-3932c805afed"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media/architecto/metadata';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'id' => '6ff8f7f6-1eb3-3525-be4a-3932c805afed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/media/architecto/metadata'
payload = {
    "id": "6ff8f7f6-1eb3-3525-be4a-3932c805afed"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, json=payload)
response.json()

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/media/{id}/metadata

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the medium. Example: architecto

media_id   integer     

ID of the media file. Example: 123456789

Body Parameters

id   string     

value muss ein UUID sein. The uuid of an existing record in the media table. Example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed

type   string  optional    

Update metadata

Change a mediafile's metadata

Example request:
curl --request PUT \
    "https://app.podcaster.de/api/media/architecto/metadata" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"image\": 4326.41688
}"
const url = new URL(
    "https://app.podcaster.de/api/media/architecto/metadata"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "image": 4326.41688
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media/architecto/metadata';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'image' => 4326.41688,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/media/architecto/metadata'
payload = {
    "image": 4326.41688
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/media/{id}/metadata

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the medium. Example: architecto

media_id   integer     

ID of the media file. Example: 123456789

Body Parameters

adbreak   object  optional    
fields   object  optional    
image   number  optional    

Example: 4326.41688

Podcasts

List podcasts (legacy)

Do not use this endpoint anymore. Use /api/channels instead.

Returns a list of podcasts. Accessible with scopes: feeds,feeds-read-only

Changes since deprecation: type has changed from 'feed' to 'channel', new fields for Podcast Index added

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/feeds?page%5Bnumber%5D=1&page%5Bsize%5D=10" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/feeds"
);

const params = {
    "page[number]": "1",
    "page[size]": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/feeds';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'page[number]' => '1',
            'page[size]' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/feeds'
params = {
  'page[number]': '1',
  'page[size]': '10',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (200):


{
    "data": [
        {
            "type": "channel",
            "id": "a7fdb298-1594-4b29-99e1-8aa9ef247912",
            "links": {
                "self": "https://app.podcaster.de/api/channels/a7fdb298-1594-4b29-99e1-8aa9ef247912",
                "rss": "https://hmoalr.podcaster.de/A9n5TEXhTpeAx8pmLr5q.rss",
                "web": "",
                "logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
            },
            "attributes": {
                "rss": {
                    "title": "voluptas",
                    "subtitle": "Consequatur hic.",
                    "description": "Occaecati eum reiciendis perferendis natus. Dolorem porro nobis vitae. Iure qui doloribus alias a laboriosam impedit. Neque dolor consequatur quia et voluptatem laboriosam.",
                    "copyright": "Minima."
                },
                "logo": null,
                "is_explicit": true,
                "is_protected": null,
                "imported": null,
                "podcastindex": {
                    "guid": "ZU1p9w5CcQUW3C5G2JPJ",
                    "medium": "temporibus",
                    "podping": true,
                    "license": {
                        "identifier": "Velit assumenda qui.",
                        "url": "http://www.christ.com/aut-repellat-officiis-veritatis-amet-dolores.html"
                    },
                    "locked": {
                        "value": "yes",
                        "owner": "tino90@hein.com"
                    },
                    "update_frequency": {
                        "description": "Täglich",
                        "complete": false,
                        "dtstart": "2025-12-31T10:54:19.000000Z",
                        "rrule": "FREQ=DAILY"
                    },
                    "chat": [],
                    "trailer": [],
                    "blocks": [],
                    "fundings": [],
                    "images": [],
                    "locations": [],
                    "persons": [],
                    "txts": [],
                    "social_interacts": [],
                    "remote_items": [],
                    "podrolls": [],
                    "publisher": [],
                    "live_items": [],
                    "values": []
                }
            },
            "shows_count": 0
        },
        {
            "type": "channel",
            "id": "476386bf-71b3-40c8-9906-aee0978f9f31",
            "links": {
                "self": "https://app.podcaster.de/api/channels/476386bf-71b3-40c8-9906-aee0978f9f31",
                "rss": "https://bhq8n8.podcaster.de/CK9s30Jxk9eWeLnoXsaF.rss",
                "web": "",
                "logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
            },
            "attributes": {
                "rss": {
                    "title": "est",
                    "subtitle": "Dolores maxime est.",
                    "description": "Fugit eaque rem perferendis animi tempora labore debitis. Ab tenetur doloribus nobis quod. Qui rem quis aut ut libero. Cupiditate in dolor autem rerum ex pariatur corrupti.",
                    "copyright": "Sed ea."
                },
                "logo": null,
                "is_explicit": true,
                "is_protected": null,
                "imported": null,
                "podcastindex": {
                    "guid": "njMkhHlA4GsMSwv7r94h",
                    "medium": "et",
                    "podping": true,
                    "license": {
                        "identifier": "Molestiae dolor eos.",
                        "url": "http://www.bartels.com/excepturi-repellat-architecto-vero-necessitatibus-reiciendis-recusandae.html"
                    },
                    "locked": {
                        "value": "yes",
                        "owner": "joachim86@westphal.com"
                    },
                    "update_frequency": {
                        "description": "Täglich",
                        "complete": false,
                        "dtstart": "2025-12-31T10:54:20.000000Z",
                        "rrule": "FREQ=DAILY"
                    },
                    "chat": [],
                    "trailer": [],
                    "blocks": [],
                    "fundings": [],
                    "images": [],
                    "locations": [],
                    "persons": [],
                    "txts": [],
                    "social_interacts": [],
                    "remote_items": [],
                    "podrolls": [],
                    "publisher": [],
                    "live_items": [],
                    "values": []
                }
            },
            "shows_count": 0
        }
    ]
}
 

Request      

GET api/feeds

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Query Parameters

page[number]   integer  optional    

Used for pagination. The page number. Example: 1

page[size]   integer  optional    

Used for pagination. The page size. Example: 10

Get podcast (legacy)

Returns information about a podcast (feed). Accessible with scopes: feeds,feeds-read-only

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/feeds/beispiel" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/feeds/beispiel"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/feeds/beispiel';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/feeds/beispiel'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):


{
    "data": {
        "type": "channel",
        "id": "e7bad4f5-2e8e-4110-ac4e-c8b5609f725c",
        "feed_id": "FX1J7laadcQmXQABVPsd",
        "attributes": {
            "rss": {
                "title": "fugit",
                "description": "Voluptatibus aut voluptatem consectetur aut error. Tempore molestiae minus quidem et doloribus quis nisi. Dolorem ut vel et voluptate est impedit.",
                "copyright": "Dolore.",
                "subtitle": "Quis sunt ea ut.",
                "link": "http://busse.com/cum-odio-et-nisi-natus",
                "author": "Frau Hertha Sauter",
                "email": "ilse82@gmail.com",
                "language": "km",
                "category": "sed"
            },
            "itunes": {
                "title": null,
                "subtitle": "Quis sunt ea ut.",
                "summary": "Dolores libero.",
                "author": null,
                "type": "serial",
                "block": true,
                "explicit": false,
                "complete": false,
                "new_feed_url": "http://www.wiedemann.org/et-vel-libero-vel",
                "category": [],
                "logo": null
            },
            "podcastindex": {
                "guid": "cory1j3l8hvxnzQYVitA",
                "medium": "nesciunt",
                "podping": true,
                "license": {
                    "identifier": "Aut reiciendis.",
                    "url": "http://www.kaufmann.de/dolore-maiores-impedit-voluptatem-omnis-perspiciatis-iusto.html"
                },
                "locked": {
                    "value": "yes",
                    "owner": "jost09@googlemail.com"
                },
                "update_frequency": {
                    "description": "Täglich",
                    "complete": false,
                    "dtstart": "2025-12-31T10:54:20.000000Z",
                    "rrule": "FREQ=DAILY"
                },
                "chat": [],
                "trailer": [],
                "blocks": [],
                "fundings": [],
                "images": [],
                "locations": [],
                "persons": [],
                "txts": [],
                "social_interacts": [],
                "remote_items": [],
                "podrolls": [],
                "publisher": [],
                "live_items": [],
                "values": []
            },
            "logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
        },
        "links": {
            "self": "https://app.podcaster.de/api/channels/FX1J7laadcQmXQABVPsd",
            "rss": "https://8nsbvi.podcaster.de/FX1J7laadcQmXQABVPsd.rss",
            "web": "",
            "logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1",
            "remove_sync": false
        },
        "shows_count": 0,
        "imported": null
    }
}
 

Request      

GET api/feeds/{feed_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

feed_id   string     

ID of the podcast (feed). Example: beispiel

List podcasts

Returns a list of podcasts. Accessible with scopes: feeds,feeds-read-only

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/channels?page%5Bnumber%5D=1&page%5Bsize%5D=10" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/channels"
);

const params = {
    "page[number]": "1",
    "page[size]": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/channels';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'page[number]' => '1',
            'page[size]' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/channels'
params = {
  'page[number]': '1',
  'page[size]': '10',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (200):


{
    "data": [
        {
            "type": "channel",
            "id": "12306f37-837f-4997-8123-5448beb8ecc3",
            "links": {
                "self": "https://app.podcaster.de/api/channels/12306f37-837f-4997-8123-5448beb8ecc3",
                "rss": "https://1esweby.podcaster.de/NjgWxJJSjtgPlsC39V8y.rss",
                "web": "",
                "logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
            },
            "attributes": {
                "rss": {
                    "title": "repellendus",
                    "subtitle": "Rerum sunt.",
                    "description": "Provident commodi neque deleniti veniam nam at. Autem ratione aut vel et. Dolorem dolorem aspernatur reprehenderit ut voluptatem qui aperiam. Fugit cum veritatis est accusantium illum.",
                    "copyright": "Nostrum."
                },
                "logo": null,
                "is_explicit": false,
                "is_protected": null,
                "imported": null,
                "podcastindex": {
                    "guid": "z2uFj8Bm4kZpRZzSN9XD",
                    "medium": "ut",
                    "podping": true,
                    "license": {
                        "identifier": "Rerum dolores quo.",
                        "url": "http://herold.com/"
                    },
                    "locked": {
                        "value": "yes",
                        "owner": "nico06@hotmail.de"
                    },
                    "update_frequency": {
                        "description": "Täglich",
                        "complete": true,
                        "dtstart": "2025-12-31T10:54:21.000000Z",
                        "rrule": "FREQ=DAILY"
                    },
                    "chat": [],
                    "trailer": [],
                    "blocks": [],
                    "fundings": [],
                    "images": [],
                    "locations": [],
                    "persons": [],
                    "txts": [],
                    "social_interacts": [],
                    "remote_items": [],
                    "podrolls": [],
                    "publisher": [],
                    "live_items": [],
                    "values": []
                }
            },
            "shows_count": 0
        },
        {
            "type": "channel",
            "id": "896a582a-2bdb-4b0d-affc-d4cd5a718517",
            "links": {
                "self": "https://app.podcaster.de/api/channels/896a582a-2bdb-4b0d-affc-d4cd5a718517",
                "rss": "https://2b6dx1.podcaster.de/niGvw1ghOXVg3y6J5Qri.rss",
                "web": "",
                "logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
            },
            "attributes": {
                "rss": {
                    "title": "qui",
                    "subtitle": "Enim animi ipsam.",
                    "description": "Rem expedita repellat vitae neque ipsam. Accusamus sit voluptatibus et neque. Impedit similique placeat assumenda aut.",
                    "copyright": "Sequi vel."
                },
                "logo": null,
                "is_explicit": false,
                "is_protected": null,
                "imported": null,
                "podcastindex": {
                    "guid": "x6xQrXNXWKGHRDFgl4Ca",
                    "medium": "quia",
                    "podping": true,
                    "license": {
                        "identifier": "Suscipit ea sit.",
                        "url": "http://www.schmidt.org/aspernatur-explicabo-deserunt-quisquam-quae-est"
                    },
                    "locked": {
                        "value": "yes",
                        "owner": "schulze.knut@googlemail.com"
                    },
                    "update_frequency": {
                        "description": "Täglich",
                        "complete": true,
                        "dtstart": "2025-12-31T10:54:22.000000Z",
                        "rrule": "FREQ=DAILY"
                    },
                    "chat": [],
                    "trailer": [],
                    "blocks": [],
                    "fundings": [],
                    "images": [],
                    "locations": [],
                    "persons": [],
                    "txts": [],
                    "social_interacts": [],
                    "remote_items": [],
                    "podrolls": [],
                    "publisher": [],
                    "live_items": [],
                    "values": []
                }
            },
            "shows_count": 0
        }
    ]
}
 

Request      

GET api/channels

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Query Parameters

page[number]   integer  optional    

Used for pagination. The page number. Example: 1

page[size]   integer  optional    

Used for pagination. The page size. Example: 10

Create podcast

Creates a new podcast. Accessible with scope: feeds

Example request:
curl --request POST \
    "https://app.podcaster.de/api/channels?channel=architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"feed_id\": \"neuer-podcast\",
    \"feed_url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
    \"title\": \"Dies ist ein Podcast.\",
    \"author\": \"Fabio\",
    \"description\": \"Diese Episode ist über das podcaster API.\",
    \"copyright\": \"Free to use\",
    \"link\": \"https:\\/\\/beispiel.podcast.de\",
    \"email\": \"cecil42@example.com\",
    \"language\": \"y\",
    \"category\": \"k\",
    \"apple_podcasts_title\": \"c\",
    \"apple_podcasts_subtitle\": \"Das ist der Untertitel\",
    \"apple_podcasts_summary\": \"m\",
    \"apple_podcasts_explicit\": \"\",
    \"apple_podcasts_block\": \"yes\",
    \"apple_podcasts_complete\": \"yes\",
    \"apple_podcasts_author\": \"y\",
    \"apple_podcasts_type\": \"episodic\",
    \"channel_apple_podcasts_category\": [],
    \"channel_domain\": {
        \"protocol\": \"https\",
        \"domain\": \"b\",
        \"subdomain\": \"n\"
    },
    \"image_id\": \"architecto\",
    \"podcast_index_guid\": \"architecto\",
    \"podcast_index_medium\": \"n\",
    \"podcast_index_uses_podping\": true,
    \"podcast_index_license_node_value\": \"g\",
    \"podcast_index_license_url\": \"http:\\/\\/www.okuneva.com\\/fugiat-sunt-nihil-accusantium-harum-mollitia.html\",
    \"podcast_index_locked_node_value\": \"k\",
    \"podcast_index_locked_owner\": \"aschuster@example.com\",
    \"podcast_index_update_frequency_node_value\": \"k\",
    \"podcast_index_update_frequency_complete\": true,
    \"podcast_index_update_frequency_dt_start\": \"2025-12-31T11:54:22\",
    \"podcast_index_update_frequency_rrule\": \"architecto\",
    \"podcast_index_trailer\": {
        \"node_value\": \"n\",
        \"url\": \"http:\\/\\/crooks.biz\\/et-fugiat-sunt-nihil-accusantium\",
        \"pubdate\": \"2025-12-31T11:54:22\",
        \"type\": \"n\",
        \"season\": 4326.41688
    },
    \"podcast_index_chat\": {
        \"server\": \"architecto\",
        \"protocol\": \"architecto\",
        \"accountId\": \"architecto\",
        \"space\": \"architecto\"
    },
    \"podcast_index_blocks\": [
        {
            \"node_value\": \"n\",
            \"service_id\": \"g\"
        }
    ],
    \"podcast_index_fundings\": [
        {
            \"node_value\": \"z\",
            \"url\": \"http:\\/\\/rempel.com\\/sunt-nihil-accusantium-harum-mollitia\"
        }
    ],
    \"podcast_index_txts\": [
        {
            \"node_value\": \"k\",
            \"purpose\": \"h\"
        }
    ],
    \"podcast_index_images\": [
        {
            \"href\": \"http:\\/\\/www.dubuque.net\\/quo-omnis-nostrum-aut-adipisci\",
            \"alt\": \"architecto\",
            \"aspect_ratio\": \"ngzmiyvdljnikhwa\",
            \"width\": 4326.41688,
            \"height\": 4326.41688,
            \"type\": \"architecto\",
            \"purpose\": \"n\"
        }
    ],
    \"podcast_index_locations\": [
        {
            \"node_value\": \"g\",
            \"rel\": \"z\",
            \"geo_latitude\": 4326.41688,
            \"geo_longitude\": 4326.41688,
            \"osm\": \"m\",
            \"country\": \"iy\"
        }
    ],
    \"podcast_index_persons\": [
        {
            \"node_value\": \"v\",
            \"role\": \"d\",
            \"group\": \"l\",
            \"img\": \"j\",
            \"href\": \"http:\\/\\/tillman.com\\/\"
        }
    ],
    \"podcast_index_social_interacts\": [
        {
            \"uri\": \"architecto\",
            \"protocol\": \"n\",
            \"account_id\": \"architecto\",
            \"account_url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
            \"priority\": 4326.41688
        }
    ],
    \"podcast_index_remote_items\": [
        {
            \"feed_guid\": \"m\",
            \"feed_url\": \"https:\\/\\/www.gulgowski.com\\/nihil-accusantium-harum-mollitia-modi-deserunt\",
            \"item_guid\": \"w\",
            \"medium\": \"a\",
            \"title\": \"y\"
        }
    ],
    \"podcast_index_values\": [
        {
            \"type\": \"k\",
            \"method\": \"c\",
            \"suggested\": 4326.41688,
            \"recipients\": [
                {
                    \"name\": \"m\",
                    \"custom_key\": \"i\",
                    \"custom_value\": \"y\",
                    \"type\": \"v\",
                    \"address\": \"d\",
                    \"split\": 4326.41688,
                    \"fee\": true
                }
            ]
        }
    ],
    \"podcast_index_live_items\": [
        {
            \"status\": \"miyvdl\",
            \"start\": \"2025-12-31T11:54:22\",
            \"end\": \"2025-12-31T11:54:22\",
            \"content_links\": [
                {
                    \"node_value\": \"j\",
                    \"href\": \"http:\\/\\/tillman.com\\/\"
                }
            ]
        }
    ]
}"
const url = new URL(
    "https://app.podcaster.de/api/channels"
);

const params = {
    "channel": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "feed_id": "neuer-podcast",
    "feed_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
    "title": "Dies ist ein Podcast.",
    "author": "Fabio",
    "description": "Diese Episode ist über das podcaster API.",
    "copyright": "Free to use",
    "link": "https:\/\/beispiel.podcast.de",
    "email": "cecil42@example.com",
    "language": "y",
    "category": "k",
    "apple_podcasts_title": "c",
    "apple_podcasts_subtitle": "Das ist der Untertitel",
    "apple_podcasts_summary": "m",
    "apple_podcasts_explicit": "",
    "apple_podcasts_block": "yes",
    "apple_podcasts_complete": "yes",
    "apple_podcasts_author": "y",
    "apple_podcasts_type": "episodic",
    "channel_apple_podcasts_category": [],
    "channel_domain": {
        "protocol": "https",
        "domain": "b",
        "subdomain": "n"
    },
    "image_id": "architecto",
    "podcast_index_guid": "architecto",
    "podcast_index_medium": "n",
    "podcast_index_uses_podping": true,
    "podcast_index_license_node_value": "g",
    "podcast_index_license_url": "http:\/\/www.okuneva.com\/fugiat-sunt-nihil-accusantium-harum-mollitia.html",
    "podcast_index_locked_node_value": "k",
    "podcast_index_locked_owner": "aschuster@example.com",
    "podcast_index_update_frequency_node_value": "k",
    "podcast_index_update_frequency_complete": true,
    "podcast_index_update_frequency_dt_start": "2025-12-31T11:54:22",
    "podcast_index_update_frequency_rrule": "architecto",
    "podcast_index_trailer": {
        "node_value": "n",
        "url": "http:\/\/crooks.biz\/et-fugiat-sunt-nihil-accusantium",
        "pubdate": "2025-12-31T11:54:22",
        "type": "n",
        "season": 4326.41688
    },
    "podcast_index_chat": {
        "server": "architecto",
        "protocol": "architecto",
        "accountId": "architecto",
        "space": "architecto"
    },
    "podcast_index_blocks": [
        {
            "node_value": "n",
            "service_id": "g"
        }
    ],
    "podcast_index_fundings": [
        {
            "node_value": "z",
            "url": "http:\/\/rempel.com\/sunt-nihil-accusantium-harum-mollitia"
        }
    ],
    "podcast_index_txts": [
        {
            "node_value": "k",
            "purpose": "h"
        }
    ],
    "podcast_index_images": [
        {
            "href": "http:\/\/www.dubuque.net\/quo-omnis-nostrum-aut-adipisci",
            "alt": "architecto",
            "aspect_ratio": "ngzmiyvdljnikhwa",
            "width": 4326.41688,
            "height": 4326.41688,
            "type": "architecto",
            "purpose": "n"
        }
    ],
    "podcast_index_locations": [
        {
            "node_value": "g",
            "rel": "z",
            "geo_latitude": 4326.41688,
            "geo_longitude": 4326.41688,
            "osm": "m",
            "country": "iy"
        }
    ],
    "podcast_index_persons": [
        {
            "node_value": "v",
            "role": "d",
            "group": "l",
            "img": "j",
            "href": "http:\/\/tillman.com\/"
        }
    ],
    "podcast_index_social_interacts": [
        {
            "uri": "architecto",
            "protocol": "n",
            "account_id": "architecto",
            "account_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
            "priority": 4326.41688
        }
    ],
    "podcast_index_remote_items": [
        {
            "feed_guid": "m",
            "feed_url": "https:\/\/www.gulgowski.com\/nihil-accusantium-harum-mollitia-modi-deserunt",
            "item_guid": "w",
            "medium": "a",
            "title": "y"
        }
    ],
    "podcast_index_values": [
        {
            "type": "k",
            "method": "c",
            "suggested": 4326.41688,
            "recipients": [
                {
                    "name": "m",
                    "custom_key": "i",
                    "custom_value": "y",
                    "type": "v",
                    "address": "d",
                    "split": 4326.41688,
                    "fee": true
                }
            ]
        }
    ],
    "podcast_index_live_items": [
        {
            "status": "miyvdl",
            "start": "2025-12-31T11:54:22",
            "end": "2025-12-31T11:54:22",
            "content_links": [
                {
                    "node_value": "j",
                    "href": "http:\/\/tillman.com\/"
                }
            ]
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/channels';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'channel' => 'architecto',
        ],
        'json' => [
            'feed_id' => 'neuer-podcast',
            'feed_url' => 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html',
            'title' => 'Dies ist ein Podcast.',
            'author' => 'Fabio',
            'description' => 'Diese Episode ist über das podcaster API.',
            'copyright' => 'Free to use',
            'link' => 'https://beispiel.podcast.de',
            'email' => 'cecil42@example.com',
            'language' => 'y',
            'category' => 'k',
            'apple_podcasts_title' => 'c',
            'apple_podcasts_subtitle' => 'Das ist der Untertitel',
            'apple_podcasts_summary' => 'm',
            'apple_podcasts_explicit' => '',
            'apple_podcasts_block' => 'yes',
            'apple_podcasts_complete' => 'yes',
            'apple_podcasts_author' => 'y',
            'apple_podcasts_type' => 'episodic',
            'channel_apple_podcasts_category' => [],
            'channel_domain' => [
                'protocol' => 'https',
                'domain' => 'b',
                'subdomain' => 'n',
            ],
            'image_id' => 'architecto',
            'podcast_index_guid' => 'architecto',
            'podcast_index_medium' => 'n',
            'podcast_index_uses_podping' => true,
            'podcast_index_license_node_value' => 'g',
            'podcast_index_license_url' => 'http://www.okuneva.com/fugiat-sunt-nihil-accusantium-harum-mollitia.html',
            'podcast_index_locked_node_value' => 'k',
            'podcast_index_locked_owner' => 'aschuster@example.com',
            'podcast_index_update_frequency_node_value' => 'k',
            'podcast_index_update_frequency_complete' => true,
            'podcast_index_update_frequency_dt_start' => '2025-12-31T11:54:22',
            'podcast_index_update_frequency_rrule' => 'architecto',
            'podcast_index_trailer' => [
                'node_value' => 'n',
                'url' => 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium',
                'pubdate' => '2025-12-31T11:54:22',
                'type' => 'n',
                'season' => 4326.41688,
            ],
            'podcast_index_chat' => [
                'server' => 'architecto',
                'protocol' => 'architecto',
                'accountId' => 'architecto',
                'space' => 'architecto',
            ],
            'podcast_index_blocks' => [
                [
                    'node_value' => 'n',
                    'service_id' => 'g',
                ],
            ],
            'podcast_index_fundings' => [
                [
                    'node_value' => 'z',
                    'url' => 'http://rempel.com/sunt-nihil-accusantium-harum-mollitia',
                ],
            ],
            'podcast_index_txts' => [
                [
                    'node_value' => 'k',
                    'purpose' => 'h',
                ],
            ],
            'podcast_index_images' => [
                [
                    'href' => 'http://www.dubuque.net/quo-omnis-nostrum-aut-adipisci',
                    'alt' => 'architecto',
                    'aspect_ratio' => 'ngzmiyvdljnikhwa',
                    'width' => 4326.41688,
                    'height' => 4326.41688,
                    'type' => 'architecto',
                    'purpose' => 'n',
                ],
            ],
            'podcast_index_locations' => [
                [
                    'node_value' => 'g',
                    'rel' => 'z',
                    'geo_latitude' => 4326.41688,
                    'geo_longitude' => 4326.41688,
                    'osm' => 'm',
                    'country' => 'iy',
                ],
            ],
            'podcast_index_persons' => [
                [
                    'node_value' => 'v',
                    'role' => 'd',
                    'group' => 'l',
                    'img' => 'j',
                    'href' => 'http://tillman.com/',
                ],
            ],
            'podcast_index_social_interacts' => [
                [
                    'uri' => 'architecto',
                    'protocol' => 'n',
                    'account_id' => 'architecto',
                    'account_url' => 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html',
                    'priority' => 4326.41688,
                ],
            ],
            'podcast_index_remote_items' => [
                [
                    'feed_guid' => 'm',
                    'feed_url' => 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt',
                    'item_guid' => 'w',
                    'medium' => 'a',
                    'title' => 'y',
                ],
            ],
            'podcast_index_values' => [
                [
                    'type' => 'k',
                    'method' => 'c',
                    'suggested' => 4326.41688,
                    'recipients' => [
                        [
                            'name' => 'm',
                            'custom_key' => 'i',
                            'custom_value' => 'y',
                            'type' => 'v',
                            'address' => 'd',
                            'split' => 4326.41688,
                            'fee' => true,
                        ],
                    ],
                ],
            ],
            'podcast_index_live_items' => [
                [
                    'status' => 'miyvdl',
                    'start' => '2025-12-31T11:54:22',
                    'end' => '2025-12-31T11:54:22',
                    'content_links' => [
                        [
                            'node_value' => 'j',
                            'href' => 'http://tillman.com/',
                        ],
                    ],
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/channels'
payload = {
    "feed_id": "neuer-podcast",
    "feed_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
    "title": "Dies ist ein Podcast.",
    "author": "Fabio",
    "description": "Diese Episode ist über das podcaster API.",
    "copyright": "Free to use",
    "link": "https:\/\/beispiel.podcast.de",
    "email": "cecil42@example.com",
    "language": "y",
    "category": "k",
    "apple_podcasts_title": "c",
    "apple_podcasts_subtitle": "Das ist der Untertitel",
    "apple_podcasts_summary": "m",
    "apple_podcasts_explicit": "",
    "apple_podcasts_block": "yes",
    "apple_podcasts_complete": "yes",
    "apple_podcasts_author": "y",
    "apple_podcasts_type": "episodic",
    "channel_apple_podcasts_category": [],
    "channel_domain": {
        "protocol": "https",
        "domain": "b",
        "subdomain": "n"
    },
    "image_id": "architecto",
    "podcast_index_guid": "architecto",
    "podcast_index_medium": "n",
    "podcast_index_uses_podping": true,
    "podcast_index_license_node_value": "g",
    "podcast_index_license_url": "http:\/\/www.okuneva.com\/fugiat-sunt-nihil-accusantium-harum-mollitia.html",
    "podcast_index_locked_node_value": "k",
    "podcast_index_locked_owner": "aschuster@example.com",
    "podcast_index_update_frequency_node_value": "k",
    "podcast_index_update_frequency_complete": true,
    "podcast_index_update_frequency_dt_start": "2025-12-31T11:54:22",
    "podcast_index_update_frequency_rrule": "architecto",
    "podcast_index_trailer": {
        "node_value": "n",
        "url": "http:\/\/crooks.biz\/et-fugiat-sunt-nihil-accusantium",
        "pubdate": "2025-12-31T11:54:22",
        "type": "n",
        "season": 4326.41688
    },
    "podcast_index_chat": {
        "server": "architecto",
        "protocol": "architecto",
        "accountId": "architecto",
        "space": "architecto"
    },
    "podcast_index_blocks": [
        {
            "node_value": "n",
            "service_id": "g"
        }
    ],
    "podcast_index_fundings": [
        {
            "node_value": "z",
            "url": "http:\/\/rempel.com\/sunt-nihil-accusantium-harum-mollitia"
        }
    ],
    "podcast_index_txts": [
        {
            "node_value": "k",
            "purpose": "h"
        }
    ],
    "podcast_index_images": [
        {
            "href": "http:\/\/www.dubuque.net\/quo-omnis-nostrum-aut-adipisci",
            "alt": "architecto",
            "aspect_ratio": "ngzmiyvdljnikhwa",
            "width": 4326.41688,
            "height": 4326.41688,
            "type": "architecto",
            "purpose": "n"
        }
    ],
    "podcast_index_locations": [
        {
            "node_value": "g",
            "rel": "z",
            "geo_latitude": 4326.41688,
            "geo_longitude": 4326.41688,
            "osm": "m",
            "country": "iy"
        }
    ],
    "podcast_index_persons": [
        {
            "node_value": "v",
            "role": "d",
            "group": "l",
            "img": "j",
            "href": "http:\/\/tillman.com\/"
        }
    ],
    "podcast_index_social_interacts": [
        {
            "uri": "architecto",
            "protocol": "n",
            "account_id": "architecto",
            "account_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
            "priority": 4326.41688
        }
    ],
    "podcast_index_remote_items": [
        {
            "feed_guid": "m",
            "feed_url": "https:\/\/www.gulgowski.com\/nihil-accusantium-harum-mollitia-modi-deserunt",
            "item_guid": "w",
            "medium": "a",
            "title": "y"
        }
    ],
    "podcast_index_values": [
        {
            "type": "k",
            "method": "c",
            "suggested": 4326.41688,
            "recipients": [
                {
                    "name": "m",
                    "custom_key": "i",
                    "custom_value": "y",
                    "type": "v",
                    "address": "d",
                    "split": 4326.41688,
                    "fee": true
                }
            ]
        }
    ],
    "podcast_index_live_items": [
        {
            "status": "miyvdl",
            "start": "2025-12-31T11:54:22",
            "end": "2025-12-31T11:54:22",
            "content_links": [
                {
                    "node_value": "j",
                    "href": "http:\/\/tillman.com\/"
                }
            ]
        }
    ]
}
params = {
  'channel': 'architecto',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload, params=params)
response.json()

Request      

POST api/channels

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Query Parameters

channel   string  optional    

Object Example: architecto

Body Parameters

feed_id   string     

ID (Bezeichner) für den Podcast(-Feed). value darf maximal 100 Zeichen haben. Example: neuer-podcast

feed_url   string  optional    

This field is required when feed_id is not present. Must be a valid URL. Example: http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html

title   string     

Titel des Podcasts. value darf maximal 255 Zeichen haben. Example: Dies ist ein Podcast.

author   string     

Autor des Podcasts. value darf maximal 255 Zeichen haben. Example: Fabio

description   string     

Beschreibung des Podcasts. value darf maximal 4000 Zeichen haben. Example: Diese Episode ist über das podcaster API.

copyright   string     

Angabe zu Nutzerrechten. value darf maximal 255 Zeichen haben. Example: Free to use

link   string  optional    

Link zur Webseite des Podcasts. Must be a valid URL. Example: https://beispiel.podcast.de

email   string     

value muss eine gültige E-Mail-Adresse sein. Example: cecil42@example.com

language   string     

The id of an existing record in the languages table. value darf maximal 3 Zeichen haben. Example: y

category   string  optional    

value darf maximal 255 Zeichen haben. Example: k

apple_podcasts_title   string  optional    

value darf maximal 255 Zeichen haben. Example: c

apple_podcasts_subtitle   string  optional    

Untertitel. value darf maximal 255 Zeichen haben. Example: Das ist der Untertitel

apple_podcasts_summary   string  optional    

value darf maximal 4000 Zeichen haben. Example: m

apple_podcasts_explicit   string  optional    

Inhalt nur für Erwachsene geeignet.

Must be one of:
  • no
  • yes
  • true
  • false
apple_podcasts_block   string  optional    

Example: yes

Must be one of:
  • no
  • yes
  • true
  • false
apple_podcasts_complete   string  optional    

Beendet/Vollständig . Example: yes

Must be one of:
  • no
  • yes
  • true
  • false
apple_podcasts_author   string  optional    

value darf maximal 255 Zeichen haben. Example: y

apple_podcasts_type   string  optional    

Podcast-Typ. Example: episodic

Must be one of:
  • episodic
  • serial
channel_apple_podcasts_category   object     

value muss mindestens 1 Elemente haben. value darf nicht mehr als 3 Elemente haben.

channel_domain   object  optional    
protocol   string  optional    

Example: https

Must be one of:
  • http
  • https
domain   string  optional    

value darf maximal 100 Zeichen haben. Example: b

subdomain   string     

Must match the regex /^(A-Za-z0-9?$)/u. value darf maximal 100 Zeichen haben. Example: n

image_id   string  optional    

Example: architecto

podcast_index_guid   string  optional    

Example: architecto

podcast_index_medium   string  optional    

value darf maximal 32 Zeichen haben. Example: n

podcast_index_uses_podping   boolean  optional    

Example: true

podcast_index_license_node_value   string  optional    

value darf maximal 128 Zeichen haben. Example: g

podcast_index_license_url   string  optional    

Must be a valid URL. Example: http://www.okuneva.com/fugiat-sunt-nihil-accusantium-harum-mollitia.html

podcast_index_locked_node_value   string  optional    

value darf maximal 3 Zeichen haben. Example: k

podcast_index_locked_owner   string  optional    

value muss eine gültige E-Mail-Adresse sein. Example: aschuster@example.com

podcast_index_update_frequency_node_value   string  optional    

value darf maximal 128 Zeichen haben. Example: k

podcast_index_update_frequency_complete   boolean  optional    

Example: true

podcast_index_update_frequency_dt_start   string  optional    

value muss ein gültiges Datum sein. Example: 2025-12-31T11:54:22

podcast_index_update_frequency_rrule   string  optional    

Example: architecto

podcast_index_trailer   object  optional    
node_value   string  optional    

value darf maximal 128 Zeichen haben. Example: n

url   string  optional    

Must be a valid URL. Example: http://crooks.biz/et-fugiat-sunt-nihil-accusantium

pubdate   string  optional    

value muss ein gültiges Datum sein. Example: 2025-12-31T11:54:22

type   string  optional    

value darf maximal 50 Zeichen haben. Example: n

season   number  optional    

Example: 4326.41688

podcast_index_chat   object  optional    
server   string  optional    

Example: architecto

protocol   string  optional    

Example: architecto

accountId   string  optional    

Example: architecto

space   string  optional    

Example: architecto

podcast_index_blocks   object[]  optional    
node_value   string  optional    

value darf maximal 3 Zeichen haben. Example: n

service_id   string  optional    

value darf maximal 32 Zeichen haben. Example: g

podcast_index_fundings   object[]  optional    
node_value   string  optional    

value darf maximal 128 Zeichen haben. Example: z

url   string  optional    

Must be a valid URL. Example: http://rempel.com/sunt-nihil-accusantium-harum-mollitia

podcast_index_txts   object[]  optional    
node_value   string  optional    

value darf maximal 4000 Zeichen haben. Example: k

purpose   string  optional    

value darf maximal 128 Zeichen haben. Example: h

podcast_index_images   object[]  optional    
href   string  optional    

Must be a valid URL. Example: http://www.dubuque.net/quo-omnis-nostrum-aut-adipisci

alt   string  optional    

Example: architecto

aspect_ratio   string  optional    

value darf maximal 16 Zeichen haben. Example: ngzmiyvdljnikhwa

width   number  optional    

Example: 4326.41688

height   number  optional    

Example: 4326.41688

type   string  optional    

Example: architecto

purpose   string  optional    

value darf maximal 128 Zeichen haben. Example: n

podcast_index_locations   object[]  optional    
node_value   string  optional    

value darf maximal 128 Zeichen haben. Example: g

rel   string  optional    

value darf maximal 30 Zeichen haben. Example: z

geo_latitude   number  optional    

Example: 4326.41688

geo_longitude   number  optional    

Example: 4326.41688

osm   string  optional    

value darf maximal 128 Zeichen haben. Example: m

country   string  optional    

value darf maximal 2 Zeichen haben. Example: iy

podcast_index_persons   object[]  optional    
node_value   string  optional    

value darf maximal 128 Zeichen haben. Example: v

role   string  optional    

value darf maximal 50 Zeichen haben. Example: d

group   string  optional    

value darf maximal 50 Zeichen haben. Example: l

img   string  optional    

value darf maximal 255 Zeichen haben. Example: j

href   string  optional    

Must be a valid URL. Example: http://tillman.com/

podcast_index_social_interacts   object[]  optional    
uri   string  optional    

Example: architecto

protocol   string  optional    

value darf maximal 32 Zeichen haben. Example: n

account_id   string  optional    

Example: architecto

account_url   string  optional    

Example: http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html

priority   number  optional    

Example: 4326.41688

podcast_index_remote_items   object[]  optional    
feed_guid   string  optional    

value darf maximal 255 Zeichen haben. Example: m

feed_url   string  optional    

Must be a valid URL. Example: https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt

item_guid   string  optional    

value darf maximal 255 Zeichen haben. Example: w

medium   string  optional    

value darf maximal 32 Zeichen haben. Example: a

title   string  optional    

value darf maximal 128 Zeichen haben. Example: y

podcast_index_values   object[]  optional    
type   string  optional    

value darf maximal 50 Zeichen haben. Example: k

method   string  optional    

value darf maximal 50 Zeichen haben. Example: c

suggested   number  optional    

Example: 4326.41688

recipients   object[]  optional    
name   string  optional    

value darf maximal 128 Zeichen haben. Example: m

custom_key   string  optional    

value darf maximal 255 Zeichen haben. Example: i

custom_value   string  optional    

value darf maximal 255 Zeichen haben. Example: y

type   string  optional    

value darf maximal 50 Zeichen haben. Example: v

address   string  optional    

value darf maximal 255 Zeichen haben. Example: d

split   number  optional    

Example: 4326.41688

fee   boolean  optional    

Example: true

podcast_index_live_items   object[]  optional    
status   string  optional    

value darf maximal 10 Zeichen haben. Example: miyvdl

start   string  optional    

value muss ein gültiges Datum sein. Example: 2025-12-31T11:54:22

end   string  optional    

value muss ein gültiges Datum sein. Example: 2025-12-31T11:54:22

content_links   object[]  optional    
node_value   string  optional    

value darf maximal 128 Zeichen haben. Example: j

href   string  optional    

Must be a valid URL. Example: http://tillman.com/

Get podcast

Returns information about a podcast (feed). Accessible with scopes: feeds,feeds-read-only

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):


{
    "data": {
        "type": "channel",
        "id": "eacbe625-e7cc-4849-acf3-8a5963f8eecf",
        "feed_id": "aWqCKqoSZDO4NqZBkJwS",
        "attributes": {
            "rss": {
                "title": "autem",
                "description": "Neque blanditiis odio veritatis excepturi doloribus delectus. Qui repudiandae laboriosam est alias.",
                "copyright": "Molestiae.",
                "subtitle": "Et ut dicta vitae.",
                "link": "http://heim.com/ut-aut-deserunt-et-error-neque-recusandae-et.html",
                "author": "Evelyn Ott",
                "email": "rklein@haupt.com",
                "language": "km",
                "category": "ipsam"
            },
            "itunes": {
                "title": null,
                "subtitle": "Et ut dicta vitae.",
                "summary": "Consequatur ut et.",
                "author": null,
                "type": "episodic",
                "block": true,
                "explicit": false,
                "complete": false,
                "new_feed_url": "http://marquardt.de/dolores-sed-rem-ea",
                "category": [],
                "logo": null
            },
            "podcastindex": {
                "guid": "RfSmoShEEg8ZzZkCgQVu",
                "medium": "ut",
                "podping": true,
                "license": {
                    "identifier": "Deserunt sint quis.",
                    "url": "http://strauss.com/id-a-consectetur-assumenda-eaque-neque-sit-sunt-nihil.html"
                },
                "locked": {
                    "value": "no",
                    "owner": "tina72@schott.com"
                },
                "update_frequency": {
                    "description": "Täglich",
                    "complete": false,
                    "dtstart": "2025-12-31T10:54:23.000000Z",
                    "rrule": "FREQ=DAILY"
                },
                "chat": [],
                "trailer": [],
                "blocks": [],
                "fundings": [],
                "images": [],
                "locations": [],
                "persons": [],
                "txts": [],
                "social_interacts": [],
                "remote_items": [],
                "podrolls": [],
                "publisher": [],
                "live_items": [],
                "values": []
            },
            "logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
        },
        "links": {
            "self": "https://app.podcaster.de/api/channels/aWqCKqoSZDO4NqZBkJwS",
            "rss": "https://8tw9gc.podcaster.de/aWqCKqoSZDO4NqZBkJwS.rss",
            "web": "",
            "logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1",
            "remove_sync": false
        },
        "shows_count": 0,
        "imported": null
    }
}
 

Request      

GET api/channels/{uuid}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

uuid   string     

UUID of the podcast (channel). Example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed

Delete podcast

Caution Removes a podcast. Accessible with scope: feeds

Example request:
curl --request DELETE \
    "https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

Request      

DELETE api/channels/{uuid}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

uuid   string     

UUID of the podcast (channel). Example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed

User

Get user

Fetches details about authenticated user.

Example request:
curl --request GET \
    --get "https://app.podcaster.de/api/user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.podcaster.de/api/user"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/user';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/user'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):


{
    "data": {
        "type": "user",
        "id": 23027,
        "attributes": {
            "id": 23027,
            "name": "Marija Rau",
            "first_name": "Marija",
            "last_name": "Rau",
            "username": "testing-buckhanspeter575",
            "email": "georg42@example.com",
            "name_title": null,
            "telephone": "(0441) 093 3724",
            "telefax": "(0211) 0319279",
            "url": "https://www.krug.net/nostrum-omnis-autem-et-consequatur-aut",
            "organisation": "Steiner",
            "department": null,
            "street": "Anne-Beyer-Ring",
            "housenumber": "426",
            "city": "Wiehl",
            "country": "VG",
            "post_code": "37788",
            "representative": null,
            "mediarepresentative": null,
            "register_court": null,
            "register_number": null,
            "board": null,
            "chairman": null,
            "controlling_authority": null,
            "additional_specifications": null
        },
        "links": {
            "self": "https://app.podcaster.de/api/user"
        }
    }
}
 

Request      

GET api/user

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Update user

Updates details of a podcast. Accessible with scope: feeds

Example request:
curl --request PUT \
    "https://app.podcaster.de/api/user/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name_title\": \"Prof\",
    \"first_name\": \"Fabio\",
    \"last_name\": \"Bacigalupo\",
    \"telephone\": \"030-549072653\",
    \"telefax\": \"030-549072660\",
    \"url\": \"https:\\/\\/www.podcaster.de\",
    \"organisation\": \"Podcast Plattform\",
    \"department\": \"IT\",
    \"street\": \"Brunnenstraße\",
    \"housenumber\": \"147\",
    \"city\": \"Berlin\",
    \"country\": \"DE\",
    \"post_code\": \"10115\",
    \"representative\": \"Fabio Bacigalupo\",
    \"mediarepresentative\": \"Steffen Wrede\",
    \"register_court\": \"Berlin\",
    \"register_number\": \"1234567890\",
    \"board\": \"Yvonne Ständin\",
    \"chairman\": \"Frauke Vorsätzer\",
    \"controlling_authority\": \"Bafa\",
    \"additional_specifications\": \"Hier kann ein beliebiger Freitext ergänzt werden.\",
    \"organisiation\": \"\'Podcast Plattform\'\"
}"
const url = new URL(
    "https://app.podcaster.de/api/user/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name_title": "Prof",
    "first_name": "Fabio",
    "last_name": "Bacigalupo",
    "telephone": "030-549072653",
    "telefax": "030-549072660",
    "url": "https:\/\/www.podcaster.de",
    "organisation": "Podcast Plattform",
    "department": "IT",
    "street": "Brunnenstraße",
    "housenumber": "147",
    "city": "Berlin",
    "country": "DE",
    "post_code": "10115",
    "representative": "Fabio Bacigalupo",
    "mediarepresentative": "Steffen Wrede",
    "register_court": "Berlin",
    "register_number": "1234567890",
    "board": "Yvonne Ständin",
    "chairman": "Frauke Vorsätzer",
    "controlling_authority": "Bafa",
    "additional_specifications": "Hier kann ein beliebiger Freitext ergänzt werden.",
    "organisiation": "'Podcast Plattform'"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/user/1';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name_title' => 'Prof',
            'first_name' => 'Fabio',
            'last_name' => 'Bacigalupo',
            'telephone' => '030-549072653',
            'telefax' => '030-549072660',
            'url' => 'https://www.podcaster.de',
            'organisation' => 'Podcast Plattform',
            'department' => 'IT',
            'street' => 'Brunnenstraße',
            'housenumber' => '147',
            'city' => 'Berlin',
            'country' => 'DE',
            'post_code' => '10115',
            'representative' => 'Fabio Bacigalupo',
            'mediarepresentative' => 'Steffen Wrede',
            'register_court' => 'Berlin',
            'register_number' => '1234567890',
            'board' => 'Yvonne Ständin',
            'chairman' => 'Frauke Vorsätzer',
            'controlling_authority' => 'Bafa',
            'additional_specifications' => 'Hier kann ein beliebiger Freitext ergänzt werden.',
            'organisiation' => '\'Podcast Plattform\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://app.podcaster.de/api/user/1'
payload = {
    "name_title": "Prof",
    "first_name": "Fabio",
    "last_name": "Bacigalupo",
    "telephone": "030-549072653",
    "telefax": "030-549072660",
    "url": "https:\/\/www.podcaster.de",
    "organisation": "Podcast Plattform",
    "department": "IT",
    "street": "Brunnenstraße",
    "housenumber": "147",
    "city": "Berlin",
    "country": "DE",
    "post_code": "10115",
    "representative": "Fabio Bacigalupo",
    "mediarepresentative": "Steffen Wrede",
    "register_court": "Berlin",
    "register_number": "1234567890",
    "board": "Yvonne Ständin",
    "chairman": "Frauke Vorsätzer",
    "controlling_authority": "Bafa",
    "additional_specifications": "Hier kann ein beliebiger Freitext ergänzt werden.",
    "organisiation": "'Podcast Plattform'"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/user/{id}

PATCH api/user/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the user. Example: 1

Body Parameters

name_title   string  optional    

Title from profession or heritage. value muss mindestens 2 Zeichen lang sein. Example: Prof

first_name   string  optional    

First name. value muss mindestens 2 Zeichen lang sein. Example: Fabio

last_name   string     

Surname. value muss mindestens 2 Zeichen lang sein. Example: Bacigalupo

telephone   string  optional    

Telephone number. value muss mindestens 2 Zeichen lang sein. Example: 030-549072653

telefax   string  optional    

Fax number. value muss mindestens 2 Zeichen lang sein. Example: 030-549072660

url   string  optional    

Website url. Must be a valid URL. value muss mindestens 6 Zeichen lang sein. Example: https://www.podcaster.de

organisation   string  optional    

Organisation. Example: Podcast Plattform

department   string  optional    

Abteilung. Example: IT

street   string  optional    

Straße. value muss mindestens 3 Zeichen lang sein. Example: Brunnenstraße

housenumber   string  optional    

Hausnummer. Example: 147

city   string  optional    

Ort. Example: Berlin

country   string     

Ländercode. Example: DE

Must be one of:
  • AF
  • EG
  • AX
  • AL
  • DZ
  • AS
  • VI
  • UM
  • AD
  • AO
  • AI
  • AQ
  • AG
  • GQ
  • AR
  • AM
  • AW
  • AZ
  • ET
  • AU
  • BS
  • BH
  • BD
  • BB
  • BY
  • BE
  • BZ
  • BJ
  • BM
  • BT
  • BO
  • BQ
  • BA
  • BW
  • BV
  • BR
  • VG
  • IO
  • BN
  • BG
  • BF
  • BI
  • CV
  • CL
  • CN
  • CK
  • CR
  • CI
  • CW
  • DK
  • DE
  • DM
  • DO
  • DJ
  • EC
  • SV
  • ER
  • EE
  • SZ
  • FK
  • FO
  • FJ
  • FI
  • FR
  • GF
  • PF
  • TF
  • GA
  • GM
  • GE
  • GH
  • GI
  • GD
  • GR
  • GL
  • GP
  • GU
  • GT
  • GG
  • GN
  • GW
  • GY
  • HT
  • HM
  • HN
  • IN
  • ID
  • IQ
  • IR
  • IE
  • IS
  • IM
  • IL
  • IT
  • JM
  • JP
  • YE
  • JE
  • JO
  • KY
  • KH
  • CM
  • CA
  • KZ
  • QA
  • KE
  • KG
  • KI
  • CC
  • CO
  • KM
  • CG
  • CD
  • HR
  • CU
  • KW
  • LA
  • LS
  • LV
  • LB
  • LR
  • LY
  • LI
  • LT
  • LU
  • MG
  • MW
  • MY
  • MV
  • ML
  • MT
  • MA
  • MH
  • MQ
  • MR
  • MU
  • YT
  • MX
  • FM
  • MC
  • MN
  • ME
  • MS
  • MZ
  • MM
  • NA
  • NR
  • NP
  • NC
  • NZ
  • NI
  • NL
  • NE
  • NG
  • NU
  • KP
  • MP
  • MK
  • NF
  • NO
  • OM
  • AT
  • PK
  • PS
  • PW
  • PA
  • PG
  • PY
  • PE
  • PH
  • PN
  • PL
  • PT
  • PR
  • MD
  • RE
  • RW
  • RO
  • RU
  • SB
  • ZM
  • WS
  • SM
  • ST
  • SA
  • SE
  • CH
  • SN
  • RS
  • SC
  • SL
  • ZW
  • SG
  • SX
  • SK
  • SI
  • SO
  • HK
  • MO
  • ES
  • SJ
  • LK
  • BL
  • SH
  • KN
  • LC
  • MF
  • PM
  • VC
  • ZA
  • SD
  • GS
  • KR
  • SS
  • SR
  • SY
  • TJ
  • TW
  • TZ
  • TH
  • TL
  • TG
  • TK
  • TO
  • TT
  • TD
  • CZ
  • TN
  • TR
  • TM
  • TC
  • TV
  • UG
  • UA
  • HU
  • UY
  • UZ
  • VU
  • VA
  • VE
  • AE
  • US
  • GB
  • VN
  • WF
  • CX
  • EH
  • CF
  • CY
post_code   string  optional    

Postleitzahl. value muss mindestens 2 Zeichen lang sein. Example: 10115

representative   string  optional    

Repräsentant/in. value muss mindestens 2 Zeichen lang sein. Example: Fabio Bacigalupo

mediarepresentative   string  optional    

Repräsentant/in für Öffentlichkeitsarbeit. value muss mindestens 2 Zeichen lang sein. Example: Steffen Wrede

register_court   string  optional    

Amtsgericht. value muss mindestens 2 Zeichen lang sein. Example: Berlin

register_number   string  optional    

Register-Nummer. value muss mindestens 2 Zeichen lang sein. Example: 1234567890

board   string  optional    

Vorstand. value muss mindestens 2 Zeichen lang sein. Example: Yvonne Ständin

chairman   string  optional    

Vorsitzende/r. value muss mindestens 2 Zeichen lang sein. Example: Frauke Vorsätzer

controlling_authority   string  optional    

Finanzaufsicht. value muss mindestens 2 Zeichen lang sein. Example: Bafa

additional_specifications   string  optional    

Weitere Angaben. Example: Hier kann ein beliebiger Freitext ergänzt werden.

organisiation   string  optional    

The organisation of the account owner. Example: 'Podcast Plattform'