Podcast

Podcast operations and RSS feeds

Get iTunes-compatible RSS feed for podcast distribution

get

Generates a public RSS feed compatible with Spotify, Apple Music, and other podcast platforms. This endpoint is designed for automated platform distribution - no authentication required.

Platform Integration:

  • Submit this RSS URL to Spotify for Podcasters, Apple Podcasts Connect

  • Platforms automatically pull new episodes as they're added via API

  • Supports iTunes namespace for Apple Podcasts compatibility

  • Includes proper enclosure tags with audio URLs and metadata

Automation Workflow:

  1. Create podcast show โ†’ Get RSS URL from response

  2. Submit RSS URL to podcast platforms (one-time setup)

  3. Add episodes via API โ†’ Platforms automatically discover new content

Path parameters
podcastIdstringRequired

Podcast show ID to generate RSS feed for

Example: abc123-def456-ghi789
Responses
200

iTunes-compatible RSS XML feed ready for platform submission

application/xml
Responsestring

RSS 2.0 XML feed with iTunes namespace extensions

get
/podcast/rss/{podcastId}
GET /podcast/rss/{podcastId} HTTP/1.1
Host: api.autocontentapi.com
Accept: */*
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
  <channel>
    <title>My Automated Podcast</title>
    <itunes:author>AI Content Creator</itunes:author>
    <!-- Episodes automatically included as added via API -->
  </channel>
</rss>

Get all podcast shows for automated management

get

Retrieves all podcast shows with their RSS URLs for platform distribution. Each show includes its RSS feed URL for easy platform integration. Supports optional pagination.

Authorizations
Query parameters
pageinteger ยท min: 1Optional

Page number for pagination (starts at 1). If not provided, returns all results.

Example: 1
limitinteger ยท min: 1 ยท max: 100Optional

Number of items per page (max 100, default 50 if page is specified)

Example: 20
Responses
200

List of podcast shows with RSS URLs for platform submission

application/json
Responseone of
or
get
/podcast/shows
GET /podcast/shows HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "description": "text",
    "author": "text",
    "link": "text",
    "email": "[email protected]",
    "token": "text",
    "createdOn": "2025-10-17T19:46:07.704Z",
    "updatedOn": "2025-10-17T19:46:07.704Z",
    "rssUrl": "https://autocontentapi.com/podcast/rss/abc123"
  }
]

Create a new podcast show for automated distribution

post

Creates a new podcast show and returns the RSS URL for platform submission.

Platform Setup Workflow:

  1. Create show via this endpoint โ†’ Get RSS URL in response

  2. Submit RSS URL to:

    • Spotify for Podcasters (https://podcasters.spotify.com)

    • Apple Podcasts Connect (https://podcastsconnect.apple.com)

    • Google Podcasts Manager

    • Other podcast platforms

  3. Start adding episodes via API โ†’ Platforms automatically discover new content

Required Metadata: All major podcast platforms require name, description, author, website link, and owner email for contact and verification purposes.

Authorizations
Body
namestringRequired

Podcast show name (displayed on Spotify, Apple Music, etc.)

Example: AI-Generated Tech Talk
descriptionstringRequired

Show description for platform listings and RSS feed

Example: Weekly tech discussions generated by AI, covering the latest in technology and innovation.
authorstringRequired

Host/author name displayed on podcast platforms

Example: AI Content Creator
linkstring ยท uriRequired

Official website URL for the podcast show

Example: https://mywebsite.com/podcast
imageUrlstring ยท uriRequired

URL of the podcast show image/artwork

Example: https://mywebsite.com/podcast-artwork.jpg
emailstring ยท emailRequired

Owner email address for RSS feed and platform registration

Example: [email protected]
Responses
201

Podcast show created successfully with RSS URL for platform distribution

application/json
post
/podcast/shows
POST /podcast/shows HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 296

{
  "name": "AI-Generated Tech Talk",
  "description": "Weekly tech discussions generated by AI, covering the latest in technology and innovation.",
  "author": "AI Content Creator",
  "link": "https://mywebsite.com/podcast",
  "imageUrl": "https://mywebsite.com/podcast-artwork.jpg",
  "email": "[email protected]"
}
{
  "success": true,
  "podcastId": "abc123-def456-ghi789",
  "rssUrl": "https://autocontentapi.com/podcast/rss/abc123-def456-ghi789"
}

Create a new podcast show with image upload for automated distribution

post

Creates a new podcast show with image upload and returns the RSS URL for platform submission. This endpoint accepts multipart/form-data to allow direct image upload alongside podcast metadata.

Platform Setup Workflow:

  1. Create show via this endpoint โ†’ Get RSS URL in response

  2. Submit RSS URL to:

    • Spotify for Podcasters (https://podcasters.spotify.com)

    • Apple Podcasts Connect (https://podcastsconnect.apple.com)

    • Google Podcasts Manager

    • Other podcast platforms

  3. Start adding episodes via API โ†’ Platforms automatically discover new content

Required Metadata: All major podcast platforms require name, description, author, website link, and owner email for contact and verification purposes.

Authorizations
Body
namestringRequired

Podcast show name (displayed on Spotify, Apple Music, etc.)

Example: AI-Generated Tech Talk
descriptionstringRequired

Show description for platform listings and RSS feed

Example: Weekly tech discussions generated by AI, covering the latest in technology and innovation.
authorstringRequired

Host/author name displayed on podcast platforms

Example: AI Content Creator
linkstring ยท uriRequired

Official website URL for the podcast show

Example: https://mywebsite.com/podcast
emailstring ยท emailRequired

Owner email address for RSS feed and platform registration

Example: [email protected]
imageFilestring ยท binaryRequired

Podcast show image/artwork file (JPG, PNG, etc.)

Responses
201

Podcast show created successfully with RSS URL for platform distribution

application/json
post
/podcast/shows/with-image
POST /podcast/shows/with-image HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 262

{
  "name": "AI-Generated Tech Talk",
  "description": "Weekly tech discussions generated by AI, covering the latest in technology and innovation.",
  "author": "AI Content Creator",
  "link": "https://mywebsite.com/podcast",
  "email": "[email protected]",
  "imageFile": "binary"
}
{
  "success": true,
  "podcastId": "abc123-def456-ghi789",
  "rssUrl": "https://autocontentapi.com/podcast/rss/abc123-def456-ghi789",
  "imageUrl": "https://autocontentapi.com/uploads/podcast-artwork-abc123.jpg"
}

Get all podcast episodes for user

get

Retrieves all podcast episodes owned by the user, including:

  • Episodes assigned to one or more podcast shows (with podcast show IDs)

  • Orphaned episodes not yet assigned to any podcast show (with empty podcastShowIds array)

Each episode includes an array of podcast show IDs it belongs to, supporting episodes that appear in multiple shows. Useful for getting a comprehensive view of all published episodes and their distribution across shows. Supports optional pagination.

Authorizations
Query parameters
pageinteger ยท min: 1Optional

Page number for pagination (starts at 1). If not provided, returns all results.

Example: 1
limitinteger ยท min: 1 ยท max: 100Optional

Number of items per page (max 100, default 50 if page is specified)

Example: 20
Responses
200

List of all episodes with platform-ready metadata and associated podcast show IDs

application/json
Responseone of
or
get
/podcast/episodes
GET /podcast/episodes HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": 1,
    "podcastId": "text",
    "requestId": "text",
    "title": "text",
    "description": "text",
    "audioTitle": "text",
    "audioUrl": "text",
    "requestedOn": "2025-10-17T19:46:07.704Z",
    "succeededOn": "2025-10-17T19:46:07.704Z",
    "scheduledOn": "2025-10-17T19:46:07.704Z",
    "fileSize": 1,
    "durationSeconds": 1,
    "podcastShowIds": [
      "abc123-def456",
      "ghi789-jkl012"
    ]
  }
]

Get all episodes for automated podcast management

get

Retrieves all episodes for a specific podcast show. Each episode includes an array of podcast show IDs it belongs to (including the specified one and any others). Useful for monitoring automated podcast publishing and episode management. Supports optional pagination.

Authorizations
Path parameters
podcastIdstringRequired

The podcast show ID

Example: abc123-def456-ghi789
Query parameters
pageinteger ยท min: 1Optional

Page number for pagination (starts at 1). If not provided, returns all results.

Example: 1
limitinteger ยท min: 1 ยท max: 100Optional

Number of items per page (max 100, default 50 if page is specified)

Example: 20
Responses
200

List of episodes with platform-ready metadata and associated podcast show IDs

application/json
Responseone of
or
get
/podcast/shows/{podcastId}/episodes
GET /podcast/shows/{podcastId}/episodes HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": 1,
    "podcastId": "text",
    "requestId": "text",
    "title": "text",
    "description": "text",
    "audioTitle": "text",
    "audioUrl": "text",
    "requestedOn": "2025-10-17T19:46:07.704Z",
    "succeededOn": "2025-10-17T19:46:07.704Z",
    "scheduledOn": "2025-10-17T19:46:07.704Z",
    "fileSize": 1,
    "durationSeconds": 1,
    "podcastShowIds": [
      "abc123-def456",
      "ghi789-jkl012"
    ]
  }
]

Add episode to podcast for automated distribution

post

Converts existing audio content into a podcast episode for automated platform distribution.

Automation Workflow:

  1. Generate audio content via content API โ†’ Get requestId

  2. Add episode via this endpoint โ†’ Links audio to podcast show

  3. RSS feed automatically updates with new episode

  4. Spotify, Apple Music, etc. automatically discover and publish new episode

Content Linking: Uses requestId to link existing audio content, enabling seamless conversion of any generated audio into podcast episodes without file uploads.

Authorizations
Path parameters
podcastIdstringRequired

The podcast show ID to add episode to

Example: abc123-def456-ghi789
Body
requestIdstringRequired

ID of existing audio content to convert into podcast episode

Example: req_789xyz123abc
titlestringOptional

Custom episode title (optional - defaults to original audio title)

Example: Episode 1: The Future of AI
descriptionstringOptional

Custom episode description (optional - defaults to original audio title)

Example: In this episode, we explore the exciting developments in artificial intelligence...
Responses
201

Episode added successfully - will appear on podcast platforms automatically

application/json
post
/podcast/shows/{podcastId}/episodes
POST /podcast/shows/{podcastId}/episodes HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 170

{
  "requestId": "req_789xyz123abc",
  "title": "Episode 1: The Future of AI",
  "description": "In this episode, we explore the exciting developments in artificial intelligence..."
}
{
  "success": true,
  "episodeId": 42,
  "message": "Episode added successfully"
}

Remove episode from automated podcast distribution

post

Removes an episode from the podcast show and RSS feed. The episode will be automatically removed from podcast platforms on their next RSS feed refresh.

Authorizations
Body
episodeIdintegerRequired

The episode ID to remove from podcast distribution

Example: 42
Responses
200

Episode removed successfully - will be removed from platforms automatically

application/json
post
/podcast/episodes/remove
POST /podcast/episodes/remove HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "episodeId": 42
}
{
  "success": true,
  "message": "Episode removed successfully"
}

Update podcast episode title and description

post

Updates the title and description of a specific podcast episode. The episode must belong to a podcast owned by the authenticated user.

Authorizations
Path parameters
episodeIdintegerRequired

The ID of the episode to update

Example: 42
Body
titlestringRequired

New episode title

Example: Updated Episode Title
descriptionstringRequired

New episode description

Example: Updated episode description with more details...
Responses
200

Episode updated successfully

application/json
post
/podcast/episodes/{episodeId}
POST /podcast/episodes/{episodeId} HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 98

{
  "title": "Updated Episode Title",
  "description": "Updated episode description with more details..."
}
{
  "success": true,
  "message": "Episode updated successfully"
}

Import podcast from RSS feed URL

post

Imports an entire podcast show and its episodes from an existing RSS feed URL. This is perfect for migrating podcasts from other platforms (Buzzsprout, Anchor, Podbean, etc.) to AutoContent API.

Features:

  • Preserves ALL RSS metadata (language, copyright, categories, season/episode numbers, etc.)

  • Smart duplicate detection using GUIDs

  • Automatically imports and stores podcast artwork

  • Updates existing podcasts if they already exist

  • Generates new RSS feed URL that maintains all original metadata

Migration Workflow:

  1. Import your existing podcast from any platform using this endpoint

  2. All metadata is preserved (language, categories, episode numbers, etc.)

  3. Get a new RSS URL that you can submit to Spotify, Apple Podcasts, etc.

  4. Your podcast continues seamlessly with all historical data intact

Authorizations
Body
rssUrlstring ยท uriRequired

The RSS feed URL to import from (must end with .rss or contain 'rss' or 'feed')

Example: https://example.com/podcast/feed.rss
Responses
200

Podcast imported successfully

application/json
post
/podcast/import-rss
POST /podcast/import-rss HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 49

{
  "rssUrl": "https://example.com/podcast/feed.rss"
}
{
  "success": true,
  "podcastId": "abc123-def456-ghi789",
  "rssUrl": "https://api.autocontentapi.com/podcast/rss/abc123-def456-ghi789"
}

Remove podcast from distribution

post

Endpoint for removing individual podcast episodes or shows.

Note: This marks content as deleted rather than physically removing it, allowing for potential recovery and maintaining referential integrity.

Authorizations
Body
idstringRequired

The podcast or episode ID to mark as deleted

Example: abc123-def456-ghi789
Responses
200

Podcast marked as deleted successfully

application/json
post
/podcast/remove
POST /podcast/remove HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 29

{
  "id": "abc123-def456-ghi789"
}
{
  "success": true,
  "message": "Podcast deleted successfully"
}

Download all podcast episodes as CSV

get

Downloads all episodes for the authenticated user as a CSV file. The CSV includes: id, audioUrl, title, and requestedOn fields. Useful for data export, analysis, or backup purposes.

Authorizations
Responses
200

CSV file containing all podcast episodes

text/csv
ResponsestringExample: id,audioUrl,title,requestedOn "episode1","https://example.com/audio1.mp3","Episode 1: Introduction","2024-01-15T10:30:00.000Z" "episode2","https://example.com/audio2.mp3","Episode 2: Deep Dive","2024-01-16T11:00:00.000Z"
get
/podcast/episodes/csv
GET /podcast/episodes/csv HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
id,audioUrl,title,requestedOn
"episode1","https://example.com/audio1.mp3","Episode 1: Introduction","2024-01-15T10:30:00.000Z"
"episode2","https://example.com/audio2.mp3","Episode 2: Deep Dive","2024-01-16T11:00:00.000Z"

Download podcast show episodes as CSV

get

Downloads all episodes for a specific podcast show as a CSV file. The CSV includes: id, audioUrl, title, and requestedOn fields. Useful for exporting podcast show data for analysis or migration.

Authorizations
Path parameters
podcastIdstringRequired

The podcast show ID

Example: abc123-def456-ghi789
Responses
200

CSV file containing podcast show episodes

text/csv
ResponsestringExample: id,audioUrl,title,requestedOn "episode1","https://example.com/audio1.mp3","Episode 1: Introduction","2024-01-15T10:30:00.000Z" "episode2","https://example.com/audio2.mp3","Episode 2: Deep Dive","2024-01-16T11:00:00.000Z"
get
/podcast/shows/{podcastId}/episodes/csv
GET /podcast/shows/{podcastId}/episodes/csv HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
id,audioUrl,title,requestedOn
"episode1","https://example.com/audio1.mp3","Episode 1: Introduction","2024-01-15T10:30:00.000Z"
"episode2","https://example.com/audio2.mp3","Episode 2: Deep Dive","2024-01-16T11:00:00.000Z"

Generate podcast ideas (public)

post

Returns 3โ€“8 podcast concepts. Each idea includes a podcast name, description, exactly four episode titles, and AI-estimated 0โ€“100 scores for questionComplexity, topicalDepth, searchVolumeConversational, and contentFreshness. No token required. Rate limited to 10 requests per IP per 24 hours and maximum of 2 concurrent requests per IP.

Body
topicstring | nullableOptional

Optional topic to tailor podcast ideas. If omitted or null, the AI will propose topics.

Example: AI in healthcare
Responses
200

Structured list of podcast ideas

application/json
post
/podcast/ideas
POST /podcast/ideas HTTP/1.1
Host: api.autocontentapi.com
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "topic": "AI in healthcare"
}
{
  "success": true,
  "requestId": "text",
  "ideas": [
    {
      "name": "text",
      "description": "text",
      "episodes": [
        "text"
      ],
      "stats": {
        "questionComplexity": 1,
        "topicalDepth": 1,
        "searchVolumeConversational": 1,
        "contentFreshness": 1
      }
    }
  ]
}