---
title: list_advertisers
description: List the advertisers (ad accounts) in your organization, optionally filtered by provider.
---

Ask which ad accounts your organization has connected to AdCrunch, for each provider or for one provider. The agent answers with each ad account.

> Which Meta ad accounts do I have in AdCrunch?

The agent lists the advertisers of your organization for Meta. You see the name, the currency and the status of each ad account. [Read your accounts](/mcp/tools/read-your-accounts) shows the full job.

## Reference

List ad accounts (advertisers) connected to the active organization. Optionally filter by provider (meta, gads, tiktok, x, openai, snapchat, dv360).

### Input

| Argument | Type | Required | Description |
| --- | --- | --- | --- |
| `provider` | one of `meta`, `tiktok`, `snapchat`, `gads`, `dv360`, `x`, `openai` | no | Filter by ad provider. Allowed values: meta, gads, tiktok, x, openai, snapchat, dv360. Omit to return advertisers across all providers. |

### Output

A successful call returns this object in `structuredContent`.

| Field | Type | Always present | Description |
| --- | --- | --- | --- |
| `advertisers` | array of object | yes | Each advertiser that is connected to the organization, or each one of `provider` when you send it. An empty array means that no advertiser matches. |
| `advertisers[].createdAt` | number | yes | When AdCrunch first stored it, in milliseconds since the Unix epoch, UTC. |
| `advertisers[].deletedAt` | number or null | yes | When AdCrunch marked it deleted, in milliseconds since the Unix epoch, UTC. Null when it is not deleted. |
| `advertisers[].updatedAt` | number or null | yes | When AdCrunch last changed it, in milliseconds since the Unix epoch, UTC. Null when it never changed. |
| `advertisers[].currency` | string or null | yes | The currency of the ad account, ISO 4217. Null when AdCrunch does not know it yet. |
| `advertisers[].id` | string | yes | The id of the advertiser: `acc_` and the id that the provider gives the ad account. The other read tools take it as `advertiserId`. |
| `advertisers[].name` | string | yes | The name of the ad account at the provider. |
| `advertisers[].provider` | one of `meta`, `tiktok`, `snapchat`, `gads`, `dv360`, `x`, `openai` | yes | The provider of the ad account. |
| `advertisers[].status` | one of `ACTIVE`, `DISABLED` | yes | `ACTIVE` when the provider reports the ad account as active or enabled. `DISABLED` in each other case. |

### Failure codes

A failed call has `isError` set, and `structuredContent.error` holds one of these codes. [Errors](/mcp/errors) describes the shape of a failed call.

- `forbidden`
- `invalid_request`
- `internal_error`

### Scope

The token must hold `observe:read`. [Auth & scopes](/mcp/auth) lists each scope.

### Annotations

A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.

- **Read-only.** The tool changes nothing.
- **Closed world.** The tool reads and writes the data of AdCrunch only.

### Example

The arguments:

```json
{
  "provider": "meta"
}
```

The result, in `structuredContent`:

```json
{
  "advertisers": [
    {
      "createdAt": 1780391640000,
      "currency": "EUR",
      "deletedAt": null,
      "id": "acc_1203456789012345",
      "name": "Northwind Outdoor – EU",
      "provider": "meta",
      "status": "ACTIVE",
      "updatedAt": 1790208251000
    },
    {
      "createdAt": 1780391645000,
      "currency": "USD",
      "deletedAt": null,
      "id": "acc_987654321098765",
      "name": "Northwind Outdoor – US",
      "provider": "meta",
      "status": "DISABLED",
      "updatedAt": 1790208251000
    }
  ]
}
```
