API: Folgen automatisch einliefern
Mit der Ingest-API kannst du fertige Podcast-Folgen aus externen Systemen (z. B. einer Newsseite, die Folgen automatisch generiert) direkt in einen bestehenden Podcast auf podcastarena.de einliefern. Du erhältst nach dem Upload sofort eine öffentliche URL, die Folge erscheint automatisch im RSS-Feed und damit auch bei Spotify, Apple Podcasts & Co.
1. Token erstellen
Gehe in deinen API-Zugang, wähle den Podcast aus und erstelle einen Token. Du bekommst einmalig den Token und die Podcast-ID angezeigt — beides hinterlegst du in deinem externen Projekt als Umgebungsvariablen PODCASTARENA_API_TOKEN und PODCASTARENA_PODCAST_ID.
2. Endpoint
POST https://podcastarena.de/api/public/ingest/episodes
Authorization: Bearer <token>
Content-Type: application/json3. Body (JSON)
{
"podcast_id": "uuid", // Pflicht
"title": "KW 23 — Wirtschafts-Update", // Pflicht (3–200 Zeichen)
"description": "Kurzbeschreibung", // optional, max 1000
"show_notes": "Markdown-Show-Notes", // optional, max 20.000
"audio_url": "https://.../folge.mp3", // Pflicht (https, max 200 MB)
"cover_url": "https://.../cover.jpg", // optional (https, max 10 MB)
"published_at": "2026-05-19T08:00:00Z", // optional, default: jetzt
"external_id": "newsseite-kw-23-2026", // empfohlen für Idempotenz
"is_bonus": false, // optional
"duration_sec": 1234 // optional, sonst nach Transcode
}4. Antwort
{
"ok": true,
"episode_id": "uuid",
"url": "https://podcastarena.de/podcast/<slug>/folge/<episode-slug>"
}5. Idempotenz
Schickst du dieselbe external_id ein zweites Mal, antworten wir mit derselben episode_id und laden nichts doppelt hoch. Das macht Retries gefahrlos.
6. Beispiel: aus einem anderen Lovable-Projekt
await fetch("https://podcastarena.de/api/public/ingest/episodes", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.PODCASTARENA_API_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
podcast_id: process.env.PODCASTARENA_PODCAST_ID,
title: `KW ${week} — Wochenzusammenfassung`,
description: shortText,
show_notes: markdownNotes,
audio_url: publicMp3Url,
external_id: `kw-${week}-${year}`,
}),
});7. Sicherheit & Limits
- Audio-/Cover-URLs müssen
https://sein, keine internen Adressen. - Max. Audiogröße 200 MB, Cover 10 MB.
- Tokens werden in der Datenbank nur als SHA-256-Hash gespeichert.
- Wir transkodieren automatisch; Transkript & Moderation laufen im Hintergrund.
8. Fehlercodes
401— Token fehlt, ist ungültig oder widerrufen.403— Token gilt nicht für diesen Podcast / Podcast gesperrt.400— Validierungsfehler (sieheissuesim Body).404— Podcast nicht gefunden.
