---
title: "List episodes for a podcast"
method: GET
path: "/podcasts/{podcast_id}/podcast-episodes"
tags: ["Podcasts"]
---

# List episodes for a podcast

`GET /podcasts/{podcast_id}/podcast-episodes`

## Request

- Base URL: `https://develop.ampache.dev/rest/8/json`
- URL: `https://develop.ampache.dev/rest/8/json/podcasts/{podcast_id}/podcast-episodes`
- Auth: one of:
  - HTTP bearer
  - API key in header `auth`
  - API key in query parameter `auth`

This returns the episodes for a podcast

## Path parameters

- `podcast_id` string, required

## Query parameters

- `offset` integer
- `limit` integer
- `cond` string
- `sort` string

## Response `200`

Podcast episode list

- PodcastEpisodesResponse
  - `total_count` integer, required
  - `md5` string, required
  - `podcast_episode` PodcastEpisodeObject[], required
    - `id` string, required
    - `title` string, nullable, required
    - `name` string, nullable, required
    - `podcast` object, required
      - `id` string, required
      - `name` string, required
    - `description` string, required
    - `category` string, nullable, required
    - `author` string, nullable, required
    - `author_full` string, nullable, required
    - `website` string, required
    - `pubdate` string, nullable, required
    - `state` string, required
    - `filelength` string, required
    - `filesize` string, required
    - `filename` string, required
    - `mime` string, nullable, required
    - `time` integer, required
    - `size` integer, required
    - `bitrate` integer, required
    - `stream_bitrate` integer, required
    - `rate` integer, required
    - `mode` string, nullable, required
    - `channels` integer, nullable, required
    - `public_url` string, required
    - `url` string, required
    - `catalog` string, required
    - `art` string, nullable, required
    - `has_art` boolean, required
    - `flag` boolean, required
    - `rating` integer, nullable, required
    - `averagerating` number, nullable, required
    - `playcount` integer, required
    - `last_played` string, nullable, required
    - `played` string, required

## Other responses

- `400`: HTTP 400 Bad Request (errors 4705, 4710).
- `401`: HTTP 401 Unauthorized (error 4701).
- `403`: HTTP 403 Forbidden (errors 4700, 4703, 4742).
- `404`: HTTP 404 Not Found (error 4704).
- `500`: HTTP 500 Internal Server Error (error 4702).

## Changes

- **2026-07-31** `48f80d018de4`: 1 info
  - added the required property `podcast_episode/items/last_played` to the response with the `200` status
- **2026-07-31** `e8e6b266ea29`: 5 info
  - api operation id `podcastEpisodesPodcastsPodcastEpisodes` was added
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `404`
  - …1 more
- **2026-07-31** `0366bc42fb8f`: 3 info
  - added the required property `md5` to the response with the `200` status
  - added the required property `podcast_episode` to the response with the `200` status
  - added the required property `total_count` to the response with the `200` status
- **2026-07-31** `7ed7a764efd9`: 1 info
  - added the non-success response with the status `400`
- **2026-02-24** `3c57979a295f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ampache/apis/ampache-rest-api/changes/podcasts/:podcast_id/podcast-episodes/get.md)

---

[API](https://skmtc.dev/ampache/apis/ampache-rest-api.md) - [All operations](https://skmtc.dev/ampache/apis/ampache-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ampache/apis/ampache-rest-api/revisions/7e3d431e8627?raw)
