> ## 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: Get Publisher Advertising

> Get a podcast publisher's advertising profile from its publisher slug (from particle_list_podcast_publishers). Includes SDK V2 examples, schemas, and cost.

Get a podcast publisher's advertising profile from its publisher slug (from particle\_list\_podcast\_publishers).

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

## 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_get_publisher_advertising',
  {
    "id": "id_123"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute particle_get_publisher_advertising --input '{
  "id": "id_123"
}' --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": {
    "ads_per_active_podcast": 123,
    "coverage": {
      "active_coverage": 123,
      "active_podcasts": 123,
      "total_podcasts": 123
    },
    "episode_reach": 123,
    "network_buyers_count": 123,
    "publisher": {
      "id": "id_123",
      "name": "Example"
    },
    "read_type_breakdown": {
      "host_read": 123,
      "pre_recorded": 123
    },
    "top_sponsors": [
      {
        "ad_count": 123,
        "episode_count": 123,
        "podcast_coverage": 123,
        "sponsor_name": "Example"
      }
    ],
    "total_ads": 123,
    "unique_sponsors": 123
  }
}
```

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

## Input reference

Returns advertising intelligence rolled up across every podcast attributed to the publisher: total ads, unique sponsors, episode reach, host-read vs pre-recorded mix, the top sponsors, and the count of network buyers (sponsors hitting at least 3 podcasts and at least 25% of the publisher's catalog).

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.id` | `string` | Yes | — | Podcast publisher slug (e.g., 'iheartpodcasts', 'bbc-radio-4') or ID |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Returns advertising intelligence rolled up across every podcast attributed to the publisher: total ads, unique sponsors, episode reach, host-read vs pre-recorded mix, the top sponsors, and the count of network buyers (sponsors hitting at least 3 podcasts and at least 25% of the publisher's catalog).",
    "properties": {
      "id": {
        "type": "string",
        "description": "Podcast publisher slug (e.g., 'iheartpodcasts', 'bbc-radio-4') or ID"
      }
    },
    "required": [
      "id"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.ads_per_active_podcast` | `number` | Yes | — | Mean ad count across podcasts that ran at least one ad — monetization density. Same metric the cross-publisher leaderboard ranks on. Format: `double`. |
| `result.data.coverage` | `object` | Yes | — | — |
| `result.data.coverage.active_coverage` | `number` | Yes | — | active\_podcasts / total\_podcasts, clamped to \[0, 1]. Treat as a confidence proxy for the rolled-up totals. Format: `double`. |
| `result.data.coverage.active_podcasts` | `integer` | Yes | — | Number of catalog podcasts that have at least one detected ad. Format: `int64`. |
| `result.data.coverage.total_podcasts` | `integer` | Yes | — | Number of podcasts in the publisher's catalog (denormalized from podcast\_publishers.podcast\_count). Format: `int64`. |
| `result.data.episode_reach` | `integer` | Yes | — | Distinct episodes with ads Format: `int64`. |
| `result.data.network_buyers_count` | `integer` | Yes | — | Sponsors hitting at least 3 podcasts and at least 25% of the publisher's catalog — the bundle-buy signal. Format: `int64`. |
| `result.data.publisher` | `object` | Yes | — | — |
| `result.data.publisher.id` | `string` | Yes | — | Publisher ID |
| `result.data.publisher.name` | `string` | Yes | — | Publisher name |
| `result.data.publisher.slug` | `string` | No | — | Human-readable slug identifier (e.g., 'goalhanger', 'iheartpodcasts'). When present, accepted in place of the ID anywhere a publisher reference is taken in the API. Occasionally absent on publishers whose name doesn't slugify (e.g., scripts not representable in ASCII URL slugs). |
| `result.data.read_type_breakdown` | `object` | Yes | — | — |
| `result.data.read_type_breakdown.host_read` | `integer` | Yes | — | Number of host-read ads Format: `int64`. |
| `result.data.read_type_breakdown.pre_recorded` | `integer` | Yes | — | Number of pre-recorded ads Format: `int64`. |
| `result.data.top_sponsors` | `array \| null` | Yes | — | Most frequent sponsors across the catalog |
| `result.data.top_sponsors[].ad_count` | `integer` | Yes | — | Total number of ads across the publisher's catalog Format: `int64`. |
| `result.data.top_sponsors[].company_id` | `string` | No | — | Linked company identifier (domain, slug, or encoded ID) |
| `result.data.top_sponsors[].episode_count` | `integer` | Yes | — | Distinct episodes featuring this sponsor Format: `int64`. |
| `result.data.top_sponsors[].podcast_coverage` | `integer` | Yes | — | Distinct podcasts in the publisher where this sponsor appears Format: `int64`. |
| `result.data.top_sponsors[].slug` | `string` | No | — | Stable human-readable handle (the linked knowledge-graph slug, e.g. 'nvidia'), when known. Prefer it (or company\_id) as a /v1/companies key. |
| `result.data.top_sponsors[].sponsor_name` | `string` | Yes | — | Sponsor name |
| `result.data.total_ads` | `integer` | Yes | — | Total ads detected across the catalog (excludes network promos) Format: `int64`. |
| `result.data.unique_sponsors` | `integer` | Yes | — | Distinct sponsors across the catalog Format: `int64`. |
| `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": {
          "ads_per_active_podcast": {
            "type": "number",
            "description": "Mean ad count across podcasts that ran at least one ad — monetization density. Same metric the cross-publisher leaderboard ranks on.",
            "format": "double"
          },
          "coverage": {
            "type": "object",
            "properties": {
              "active_coverage": {
                "type": "number",
                "description": "active_podcasts / total_podcasts, clamped to [0, 1]. Treat as a confidence proxy for the rolled-up totals.",
                "format": "double"
              },
              "active_podcasts": {
                "type": "integer",
                "description": "Number of catalog podcasts that have at least one detected ad.",
                "format": "int64"
              },
              "total_podcasts": {
                "type": "integer",
                "description": "Number of podcasts in the publisher's catalog (denormalized from podcast_publishers.podcast_count).",
                "format": "int64"
              }
            },
            "required": [
              "total_podcasts",
              "active_podcasts",
              "active_coverage"
            ],
            "additionalProperties": false
          },
          "episode_reach": {
            "type": "integer",
            "description": "Distinct episodes with ads",
            "format": "int64"
          },
          "network_buyers_count": {
            "type": "integer",
            "description": "Sponsors hitting at least 3 podcasts and at least 25% of the publisher's catalog — the bundle-buy signal.",
            "format": "int64"
          },
          "publisher": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Publisher ID"
              },
              "name": {
                "type": "string",
                "description": "Publisher name"
              },
              "slug": {
                "type": "string",
                "description": "Human-readable slug identifier (e.g., 'goalhanger', 'iheartpodcasts'). When present, accepted in place of the ID anywhere a publisher reference is taken in the API. Occasionally absent on publishers whose name doesn't slugify (e.g., scripts not representable in ASCII URL slugs)."
              }
            },
            "required": [
              "id",
              "name"
            ],
            "additionalProperties": false
          },
          "read_type_breakdown": {
            "type": "object",
            "properties": {
              "host_read": {
                "type": "integer",
                "description": "Number of host-read ads",
                "format": "int64"
              },
              "pre_recorded": {
                "type": "integer",
                "description": "Number of pre-recorded ads",
                "format": "int64"
              }
            },
            "required": [
              "host_read",
              "pre_recorded"
            ],
            "additionalProperties": false
          },
          "top_sponsors": {
            "type": [
              "array",
              "null"
            ],
            "description": "Most frequent sponsors across the catalog",
            "items": {
              "type": "object",
              "properties": {
                "ad_count": {
                  "type": "integer",
                  "description": "Total number of ads across the publisher's catalog",
                  "format": "int64"
                },
                "company_id": {
                  "type": "string",
                  "description": "Linked company identifier (domain, slug, or encoded ID)"
                },
                "episode_count": {
                  "type": "integer",
                  "description": "Distinct episodes featuring this sponsor",
                  "format": "int64"
                },
                "podcast_coverage": {
                  "type": "integer",
                  "description": "Distinct podcasts in the publisher where this sponsor appears",
                  "format": "int64"
                },
                "slug": {
                  "type": "string",
                  "description": "Stable human-readable handle (the linked knowledge-graph slug, e.g. 'nvidia'), when known. Prefer it (or company_id) as a /v1/companies key."
                },
                "sponsor_name": {
                  "type": "string",
                  "description": "Sponsor name"
                }
              },
              "required": [
                "sponsor_name",
                "ad_count",
                "podcast_coverage",
                "episode_count"
              ],
              "additionalProperties": false
            }
          },
          "total_ads": {
            "type": "integer",
            "description": "Total ads detected across the catalog (excludes network promos)",
            "format": "int64"
          },
          "unique_sponsors": {
            "type": "integer",
            "description": "Distinct sponsors across the catalog",
            "format": "int64"
          }
        },
        "required": [
          "publisher",
          "coverage",
          "total_ads",
          "unique_sponsors",
          "episode_reach",
          "ads_per_active_podcast",
          "read_type_breakdown",
          "network_buyers_count",
          "top_sponsors"
        ],
        "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.