> ## Documentation Index
> Fetch the complete documentation index at: https://docs.particle.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# particle_podcast_get_episode_timeseries

> Time-bucketed episode counts — appearance, publication, and topic trend lines per day, week, or month.

Time-bucketed episode counts — the purpose-built answer to "how often is X discussed over time". Counts episodes matching the same filters as [`particle_podcast_list_episodes`](/mcp/tools/podcasts/podcast-list-episodes) (person, company, entity, podcast, keyword, language, duration, transcript availability) per day, week, or month, plus range totals. `keyword_search` additionally counts matching transcript segments per bucket — exact counts, no pagination floors.

Use this for trend charts instead of paging `particle_podcast_list_episodes` or `particle_podcast_find_mentions` once per period. Buckets are UTC-aligned, zero-filled, and Monday-aligned for weeks; a `published_after`/`published_before` inside a bucket produces a partial first or last bucket labeled with the full bucket's start date. Omitting `published_after` aggregates all time. Ranges are capped at 1000 buckets.

At least one subject filter is required: `podcast_slug`, `person_slug`, `company_slug`, `entity_slug`, or `keyword_search`.

## Inputs

| Field                           | Type    | Required                    | Default  | Description                                                                                                                                                                                       |
| ------------------------------- | ------- | --------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `podcast_slug`                  | string  | one subject filter required | —        | Podcast slug, internal ID, or numeric iTunes ID.                                                                                                                                                  |
| `person_slug`                   | string  | one subject filter required | —        | Person slug or encoded person ID (e.g. `"sam-altman"`). Counts episodes featuring the person as a speaker — and, when the person has a linked knowledge-graph entity, episodes that mention them. |
| `company_slug`                  | string  | one subject filter required | —        | Company slug, domain, or ID. Resolves to the linked entity.                                                                                                                                       |
| `entity_slug`                   | string  | one subject filter required | —        | Knowledge-graph entity slug for the long tail that isn't a person or company (e.g. `"germany"`).                                                                                                  |
| `keyword_search`                | string  | one subject filter required | —        | Keyword filter over transcript content. Double-quoted substrings must appear as exact phrases; unquoted terms must all appear in one transcript segment. Adds per-bucket mention counts.          |
| `role`                          | string  | no                          | —        | Role filter when a person/company/entity filter is set: `guest`, `host`, `panelist`, `correspondent`, or `mention`.                                                                               |
| `published_after`               | string  | no                          | all time | Inclusive range start (ISO 8601 date or date-time).                                                                                                                                               |
| `published_before`              | string  | no                          | now      | Range end (ISO 8601 date or date-time).                                                                                                                                                           |
| `interval`                      | string  | no                          | `week`   | Bucket width: `day`, `week`, or `month`.                                                                                                                                                          |
| `language`                      | string  | no                          | —        | ISO 639-1 language code.                                                                                                                                                                          |
| `has_transcript`                | boolean | no                          | false    | Only count episodes with a completed transcript.                                                                                                                                                  |
| `min_duration` / `max_duration` | integer | no                          | —        | Episode duration bounds in seconds.                                                                                                                                                               |

## Output

A markdown document with `## Episode timeseries — per <interval>`, `**Range:**`, `**Total episodes:**`, and `**Distinct podcasts:**` rows (plus `**Total mentions:**` when `keyword_search` is set), followed by a table of buckets — `Bucket | Episodes` columns, with a `Mentions` column added when `keyword_search` is set. Buckets are contiguous and zero-filled in ascending order.

Sample (`person_slug="sam-altman"`, `interval="week"`, truncated):

```markdown theme={"dark"}
## Episode timeseries — per week

**Range:** 2026-06-01 → 2026-06-29
**Total episodes:** 12
**Distinct podcasts:** 7

| Bucket | Episodes |
| --- | --- |
| 2026-06-01 | 8 |
| 2026-06-08 | 4 |
```

## Example

```text theme={"dark"}
Agent calls: particle_podcast_get_episode_timeseries {
  "keyword_search": "\"artificial general intelligence\"",
  "interval": "month",
  "published_after": "2026-01-01"
}
```

## Related

* REST equivalent: [`GET /v1/podcasts/episodes/timeseries`](/podcasts/episodes).
* For the underlying episodes, use [`particle_podcast_list_episodes`](/mcp/tools/podcasts/podcast-list-episodes); for the dialogue lines themselves, [`particle_podcast_find_mentions`](/mcp/tools/podcasts/podcast-find-mentions).
