Skip to main content
GET
/
v1
/
podcasts
List podcasts
curl --request GET \
  --url https://api.particle.pro/v1/podcasts \
  --header 'X-API-Key: <api-key>'
{
  "data": [
    {
      "explicit": true,
      "id": "<string>",
      "title": "<string>",
      "bias": "<string>",
      "description": "<string>",
      "episode_count": 123,
      "image_url": "<string>",
      "language": "<string>",
      "political_context": "<string>",
      "slug": "<string>",
      "speakers": [
        {
          "name": "<string>",
          "company": {
            "id": "<string>",
            "domain": "<string>",
            "ticker": "<string>"
          },
          "entity_id": "<string>",
          "entity_slug": "<string>",
          "occurrences": 123,
          "person": {
            "id": "<string>",
            "company": "<string>",
            "image_url": "<string>",
            "title": "<string>"
          },
          "role": "<string>"
        }
      ],
      "topics": [
        {
          "id": "<string>",
          "name": "<string>",
          "slug": "<string>",
          "ancestry": "<string>",
          "ancestry_path": "<string>",
          "episode_count": 123
        }
      ],
      "url": "<string>"
    }
  ],
  "has_more": true,
  "cursor": "<string>"
}

Authorizations

X-API-Key
string
header
required

Pass your API key in the X-API-Key header (recommended).

Query Parameters

limit
integer<int64>
default:25

Results per page

Required range: 1 <= x <= 100
cursor
string

Opaque pagination cursor from previous response

q
string

Text search query. Filters podcasts by title or description (case-insensitive partial match). Unlike segments and clips where q performs semantic vector search, podcast search uses conventional text matching — appropriate for name lookups like 'all-in' or 'lex fridman'.

Maximum string length: 200
topic_id
string

Filter by topic ID, ancestry slug (e.g., technology/artificial-intelligence), or ancestry path hash

language
string

Filter by language (ISO 639-1 code, e.g. 'en', 'es')

Response

OK

data
object[] | null
required

List of results

has_more
boolean
required

Whether more results exist

cursor
string

Pass to next request for more results