Acast Episodes API
Create, read, update, and delete episodes within a show.
Create, read, update, and delete episodes within a show.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/acast-episodes-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Acast Publishing Episodes API
description: The Acast Publishing API lets you programmatically query data about your shows and episodes, and create, update, and delete episodes straight from the command line or an existing CMS.
version: '1.0'
contact:
name: Acast
url: https://developers.acast.com/
servers:
- url: https://api.acast.com
description: Acast Publishing API
security:
- apiKeyAuth: []
tags:
- name: Episodes
description: Create, read, update, and delete episodes within a show.
paths:
/shows/{showId}/episodes:
parameters:
- $ref: '#/components/parameters/ShowId'
get:
operationId: listEpisodes
tags:
- Episodes
summary: List episodes for a show
description: Returns a list of all existing episodes for a show, including each episode's ID. Path modeled; resource and method confirmed from documentation.
responses:
'200':
description: A list of episodes.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Episode'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
post:
operationId: createEpisode
tags:
- Episodes
summary: Create an episode
description: Creates a new episode for a show, accepting an audio file upload (MP3 recommended, up to 150 MB) plus episode metadata. Path modeled; resource and method confirmed from documentation.
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/EpisodeCreate'
responses:
'201':
description: The created episode.
content:
application/json:
schema:
$ref: '#/components/schemas/Episode'
'401':
$ref: '#/components/responses/Unauthorized'
'413':
description: Audio file exceeds the 150 MB maximum.
'429':
$ref: '#/components/responses/RateLimited'
/shows/{showId}/episodes/{episodeId}:
parameters:
- $ref: '#/components/parameters/ShowId'
- $ref: '#/components/parameters/EpisodeId'
get:
operationId: getEpisode
tags:
- Episodes
summary: Get an episode
description: Fetches details for a single episode. Path modeled; resource and method confirmed from documentation.
responses:
'200':
description: The requested episode.
content:
application/json:
schema:
$ref: '#/components/schemas/Episode'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
patch:
operationId: updateEpisode
tags:
- Episodes
summary: Update an episode
description: Updates metadata for an existing episode. Path modeled; resource and method confirmed from documentation.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EpisodeUpdate'
responses:
'200':
description: The updated episode.
content:
application/json:
schema:
$ref: '#/components/schemas/Episode'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
delete:
operationId: deleteEpisode
tags:
- Episodes
summary: Delete an episode
description: Deletes an episode. Path modeled; resource and method confirmed from documentation.
responses:
'204':
description: The episode was deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
components:
parameters:
EpisodeId:
name: episodeId
in: path
required: true
description: The unique identifier of the episode.
schema:
type: string
ShowId:
name: showId
in: path
required: true
description: The unique identifier of the show.
schema:
type: string
responses:
NotFound:
description: The requested resource does not exist or is not assigned to this user.
RateLimited:
description: Rate limit exceeded (60 requests/minute).
Unauthorized:
description: Missing or invalid X-API-Key.
schemas:
EpisodeUpdate:
type: object
description: Mutable episode metadata fields.
properties:
title:
type: string
description:
type: string
publishDate:
type: string
format: date-time
Episode:
type: object
description: An episode belonging to a show.
properties:
id:
type: string
showId:
type: string
title:
type: string
description:
type: string
audioUrl:
type: string
format: uri
publishDate:
type: string
format: date-time
durationSeconds:
type: integer
EpisodeCreate:
type: object
description: Fields for creating a new episode, including the audio upload.
required:
- title
- audio
properties:
title:
type: string
description:
type: string
audio:
type: string
format: binary
description: Audio file, MP3 recommended at 128 kbps, up to 150 MB.
publishDate:
type: string
format: date-time
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: User-scoped API key issued by Acast customer success to Ace plan and Creator Network accounts. Sent on every request in the X-API-Key header.
x-endpointsModeled: true