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

# Particle: List Sponsor Trends

> List podcast sponsors whose ad volume is accelerating, comparing the trailing window (default 7 days) with the window before it.

List podcast sponsors whose ad volume is accelerating, comparing the trailing window (default 7 days) with the window before it.

> [!NOTE]
>
> Tool ID: `particle_list_sponsor_trends`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'particle_list_sponsor_trends',
  {
    "limit": 25,
    "cursor": "cursor_123",
    "window_days": 7
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute particle_list_sponsor_trends --input '{
  "limit": 25,
  "cursor": "cursor_123",
  "window_days": 7
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "data": [
      {
        "ad_count_delta": 123,
        "previous_ad_count": 123,
        "recent_ad_count": 123,
        "sponsor": {
          "ad_count": 123,
          "episode_reach": 123,
          "id": "id_123",
          "name": "Example",
          "podcast_reach": 123
        }
      }
    ],
    "has_more": true
  }
}
```

Use `deepline describe particle_list_sponsor_trends --json` for the latest machine-readable contract.

## Input reference

Surfaces advertisers whose podcast ad volume is accelerating. Each row compares the sponsor's ads aired in the trailing window (default 7 days) against the equal-length window immediately before it, ranked by the delta. Windowing follows episode publication dates, so rankings reflect when ads aired, not when they were ingested. Results may be cached for up to one hour.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.limit` | `integer` | No | `25` | Results per page Format: `int64`. Minimum: 1. Maximum: 100. |
| `payload.cursor` | `string` | No | — | Opaque pagination cursor from previous response |
| `payload.window_days` | `integer` | No | `7` | Length in days of each comparison window. Sponsors are ranked by ads aired in the trailing window\_days versus the equal-length window immediately before it. Format: `int64`. Minimum: 1. Maximum: 90. |
| `payload.min_podcast_reach` | `integer` | No | `3` | Only include sponsors whose in-window ads span at least this many distinct podcasts. Guards the ranking against a single show binge-publishing episodes of one sponsor. Format: `int64`. Minimum: 1. Maximum: 1000. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Surfaces advertisers whose podcast ad volume is accelerating. Each row compares the sponsor's ads aired in the trailing window (default 7 days) against the equal-length window immediately before it, ranked by the delta. Windowing follows episode publication dates, so rankings reflect when ads aired, not when they were ingested. Results may be cached for up to one hour.",
    "properties": {
      "limit": {
        "type": "integer",
        "description": "Results per page",
        "default": 25,
        "minimum": 1,
        "maximum": 100,
        "format": "int64"
      },
      "cursor": {
        "type": "string",
        "description": "Opaque pagination cursor from previous response"
      },
      "window_days": {
        "type": "integer",
        "description": "Length in days of each comparison window. Sponsors are ranked by ads aired in the trailing window_days versus the equal-length window immediately before it.",
        "default": 7,
        "minimum": 1,
        "maximum": 90,
        "format": "int64"
      },
      "min_podcast_reach": {
        "type": "integer",
        "description": "Only include sponsors whose in-window ads span at least this many distinct podcasts. Guards the ranking against a single show binge-publishing episodes of one sponsor.",
        "default": 3,
        "minimum": 1,
        "maximum": 1000,
        "format": "int64"
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.cursor` | `string` | No | — | Pass to next request for more results |
| `result.data.data` | `array` | Yes | — | List of results |
| `result.data.data[].ad_count_delta` | `integer` | Yes | — | recent\_ad\_count minus previous\_ad\_count — the ranking signal Format: `int64`. |
| `result.data.data[].last_ad_at` | `string` | No | — | Publication time of the sponsor's most recent in-window ad Format: `date-time`. |
| `result.data.data[].previous_ad_count` | `integer` | Yes | — | Ads aired inside the equal-length window immediately before the trailing window Format: `int64`. |
| `result.data.data[].recent_ad_count` | `integer` | Yes | — | Ads aired inside the trailing window Format: `int64`. |
| `result.data.data[].sponsor` | `object` | Yes | — | — |
| `result.data.data[].sponsor.ad_count` | `integer` | Yes | — | Total number of ads (excluding network promos) Format: `int64`. |
| `result.data.data[].sponsor.company` | `object` | No | — | — |
| `result.data.data[].sponsor.company.description` | `string` | No | — | Short company description, when known. |
| `result.data.data[].sponsor.company.domain` | `string` | No | — | Primary website domain (e.g. 'nvidia.com'), when known. |
| `result.data.data[].sponsor.company.id` | `string` | Yes | — | Company identifier (domain, slug, or encoded ID) |
| `result.data.data[].sponsor.company.image_url` | `string` | No | — | Company logo or image URL |
| `result.data.data[].sponsor.company.name` | `string` | Yes | — | Company name |
| `result.data.data[].sponsor.company.slug` | `string` | No | — | Stable human-readable handle (the linked knowledge-graph slug, e.g. 'nvidia'), when known. Companies have no slug of their own. prefer this for display and pass it (or id) to /v1/companies. |
| `result.data.data[].sponsor.company.ticker` | `string` | No | — | Primary stock ticker symbol, when listed. |
| `result.data.data[].sponsor.episode_reach` | `integer` | Yes | — | Number of distinct episodes featuring the sponsor Format: `int64`. |
| `result.data.data[].sponsor.first_seen_at` | `string` | No | — | Earliest detected ad appearance Format: `date-time`. |
| `result.data.data[].sponsor.id` | `string` | Yes | — | Unique identifier |
| `result.data.data[].sponsor.last_seen_at` | `string` | No | — | Most recent ad appearance Format: `date-time`. |
| `result.data.data[].sponsor.name` | `string` | Yes | — | Sponsor name |
| `result.data.data[].sponsor.podcast_reach` | `integer` | Yes | — | Number of distinct podcasts the sponsor advertises on Format: `int64`. |
| `result.data.has_more` | `boolean` | Yes | — | Whether more results exist |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "cursor": {
            "type": "string",
            "description": "Pass to next request for more results"
          },
          "data": {
            "type": "array",
            "description": "List of results",
            "items": {
              "type": "object",
              "properties": {
                "ad_count_delta": {
                  "type": "integer",
                  "description": "recent_ad_count minus previous_ad_count — the ranking signal",
                  "format": "int64"
                },
                "last_ad_at": {
                  "type": "string",
                  "description": "Publication time of the sponsor's most recent in-window ad",
                  "format": "date-time"
                },
                "previous_ad_count": {
                  "type": "integer",
                  "description": "Ads aired inside the equal-length window immediately before the trailing window",
                  "format": "int64"
                },
                "recent_ad_count": {
                  "type": "integer",
                  "description": "Ads aired inside the trailing window",
                  "format": "int64"
                },
                "sponsor": {
                  "type": "object",
                  "properties": {
                    "ad_count": {
                      "type": "integer",
                      "description": "Total number of ads (excluding network promos)",
                      "format": "int64"
                    },
                    "company": {
                      "type": "object",
                      "properties": {
                        "description": {
                          "type": "string",
                          "description": "Short company description, when known."
                        },
                        "domain": {
                          "type": "string",
                          "description": "Primary website domain (e.g. 'nvidia.com'), when known."
                        },
                        "id": {
                          "type": "string",
                          "description": "Company identifier (domain, slug, or encoded ID)"
                        },
                        "image_url": {
                          "type": "string",
                          "description": "Company logo or image URL"
                        },
                        "name": {
                          "type": "string",
                          "description": "Company name"
                        },
                        "slug": {
                          "type": "string",
                          "description": "Stable human-readable handle (the linked knowledge-graph slug, e.g. 'nvidia'), when known. Companies have no slug of their own; prefer this for display and pass it (or id) to /v1/companies."
                        },
                        "ticker": {
                          "type": "string",
                          "description": "Primary stock ticker symbol, when listed."
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ],
                      "additionalProperties": false
                    },
                    "episode_reach": {
                      "type": "integer",
                      "description": "Number of distinct episodes featuring the sponsor",
                      "format": "int64"
                    },
                    "first_seen_at": {
                      "type": "string",
                      "description": "Earliest detected ad appearance",
                      "format": "date-time"
                    },
                    "id": {
                      "type": "string",
                      "description": "Unique identifier"
                    },
                    "last_seen_at": {
                      "type": "string",
                      "description": "Most recent ad appearance",
                      "format": "date-time"
                    },
                    "name": {
                      "type": "string",
                      "description": "Sponsor name"
                    },
                    "podcast_reach": {
                      "type": "integer",
                      "description": "Number of distinct podcasts the sponsor advertises on",
                      "format": "int64"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "ad_count",
                    "podcast_reach",
                    "episode_reach"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "sponsor",
                "recent_ad_count",
                "previous_ad_count",
                "ad_count_delta"
              ],
              "additionalProperties": false
            }
          },
          "has_more": {
            "type": "boolean",
            "description": "Whether more results exist"
          }
        },
        "required": [
          "data",
          "has_more"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Particle provider guide](https://deepline.com/docs/providers/particle/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.