# Podcast episodes with mentions: API

Source: https://subalytics.com/docs/entity-podcast-episodes/

> GET /api/v1/entity-podcast-episodes/: podcast episodes that mention a monitored company, with the passage, timestamps and speaker.

`GET /api/v1/entity-podcast-episodes/` (Cursor pagination · newest first). Base URL `https://subalytics.com/api/v1/`, API key in the `X-API-key` header; authentication, pagination, dates and errors: https://subalytics.com/docs/

Podcast episodes that mention at least one monitored company, each with its `entities[]`. Each entity includes the transcript passage around the mention (`snippet`), its timestamps (`start` / `end`) and the speaker. The full transcript is not part of this product; with access to the podcast endpoints you can fetch it from [`/api/v1/podcast-transcripts/`](https://subalytics.com/docs/podcast-transcripts/) with `?episode_sub_id=<episode_sub_id>&full=true`.

Transcripts are automatic speech recognition output, so snippets are lower-case and loosely punctuated, and company names are occasionally misheard.

## Query parameters

| Parameter | Type | Description |
|---|---|---|
| `episode_sub_id` | string | One episode |
| `sub_id` | string | Episodes of one podcast |
| `symbol` | string | Episodes mentioning one company |
| `min_confidence` | number | 0.5–1.0, default 0.7 |
| `published_from` | date | Published on or after |
| `published_to` | date | Published on or before |
| `updated_from` | date | Mentions last changed on or after (use for sync) |
| `updated_to` | date | Mentions last changed on or before |
| `limit` | int | Results per page (default 25, max 100) |
| `cursor` | string | next_cursor from the previous page |

## Response fields

| Field | Type | Description |
|---|---|---|
| `episode_sub_id` | string | Public episode ID, same as on podcast-episodes; content_id in entity-mentions |
| `sub_id` | string | The podcast |
| `podcast_name` | string | Podcast name |
| `episode_title` | string \| null | Episode title |
| `link` | string \| null | Episode web page |
| `published_utc` | date | When the episode was published |
| `entities` | array | Company mentions: mention_id, symbol, company_name, match_type, matched_text, confidence, snippet, start, end, speaker |
| `created_at` | date | When the episode first appeared in this product |
| `updated_at` | date | When its mentions last changed |

## Example

```
GET /api/v1/entity-podcast-episodes/?symbol=META&limit=1
```

```
{
  "success": true,
  "results": [
    {
      "episode_sub_id": "c41f7a09e2b85d13",
      "sub_id": "a1b2c3d4e5",
      "podcast_name": "Example Business Show",
      "episode_title": "Rate Cuts, Robotaxis and the Week in Markets",
      "link": "https://example.com/podcast/episodes/248",
      "published_utc": "2026-09-24T16:38:09Z",
      "entities": [
        {
          "mention_id": "4e71d0b93ca2f58e",
          "symbol": "TSLA",
          "company_name": "Tesla, Inc.",
          "match_type": "alias",
          "matched_text": "tesla",
          "confidence": 0.88,
          "snippet": "and tesla launching the robotaxi this week is a bigger deal than the market is pricing in",
          "start": 412.6,
          "end": 419.3,
          "speaker": { "label": "SPEAKER_01", "name": "Sam Guest", "role": "guest" }
        },
        {
          "mention_id": "c07e5b1a94d2f836",
          "symbol": "META",
          "company_name": "Meta Platforms, Inc.",
          "match_type": "product",
          "matched_text": "instagram",
          "confidence": 0.78,
          "snippet": "and instagram is basically where every small brand does its marketing now",
          "start": 1834.2,
          "end": 1841.9,
          "speaker": { "label": "SPEAKER_00", "name": "Jane Host", "role": "host" }
        }
      ],
      "created_at": "2026-09-25T07:15:03Z",
      "updated_at": "2026-09-25T07:15:03Z"
    }
  ],
  "returned_results": 1,
  "limit": 1,
  "next_cursor": "6a7d9d4ec8173839e2253d02"
}
```
