PodHoodDocs
API Reference

Browse your channel's episodes

Keyset-paginated list of your channel's episodes — every non-archived status. Episode rows carry mediaUrl (the YouTube watch URL or RSS enclosure), so segment timestamps convert into source deep links. Pass the response's nextCursor back as cursor for the next page; the same facet filters as search apply.

GET
/api/v1/channels/{slug}/episodes
x-api-key<token>

A user-owned key created in Studio → Settings → API keys (paid plans). It reads the channels its owner is a member of.

In: header

Path Parameters

slug*string

The channel's slug.

Query Parameters

status?string

Narrow to one processing-status view; all (or absent) = no narrowing.

Default"all"

Value in

  • "all"
  • "queued"
  • "indexing"
  • "live"
  • "failed"
sort?string
Default"newest"

Value in

  • "newest"
  • "popular"
  • "longest"
  • "oldest"
cursor?string

Opaque pagination cursor from a prior response's nextCursor.

topicIds?string

Filter to these topic ids.

personIds?string

Filter to episodes featuring these person entity ids (hosts and guests).

entityIds?string

Filter to episodes mentioning these company/product entity ids.

episodeIds?string

Scope to these episode ids (e.g. to search within a prior result set).

collectionId?string

Filter to one collection (mirrored playlist).

year?integer

Filter to a publication year.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/channels/string/episodes"
{  "episodes": [    {      "id": "string",      "title": "string",      "description": "string",      "link": "string",      "thumbnail": "string",      "mediaUrl": "string",      "durationMs": 0,      "publishedAt": "string",      "viewCount": 0,      "status": "pending",      "summary": "string",      "error": "string"    }  ],  "nextCursor": "string"}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
Was this page helpful?