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

Ask which ad accounts your organization has in 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, and whether it is connected. [Read your accounts](/mcp/tools/read-your-accounts) shows the full job.

An advertiser with `connection` set to `not_connected` has no usable connection to its provider. A tool that asks the provider now, or a change, fails on it with `provider_not_connected`. The stored reads still answer. To repair it, connect the provider again in the AdCrunch console. [Errors](/mcp/errors#an-advertiser-that-is-not-connected) gives the details.

## Reference

List the ad accounts (advertisers) that the active organization owns, and say which ones are connected. 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 the organization owns, 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[].connection` | one of `connected`, `not_connected` | yes | `connected` when the organization holds a usable connection to the provider for this advertiser. `not_connected` when it holds none: a live read (`meta_list_*`, `tiktok_list_*`, `gads_list_*`) or a write on this advertiser fails with `provider_not_connected`. The stored reads (`list_campaigns`, `query_insights` and the others) still answer with the data that AdCrunch holds. Tell the user to reconnect the provider in the AdCrunch console. |
| `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.

- `organization_unentitled`
- `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": [
    {
      "connection": "connected",
      "createdAt": 1780391640000,
      "currency": "EUR",
      "deletedAt": null,
      "id": "acc_1203456789012345",
      "name": "Northwind Outdoor – EU",
      "provider": "meta",
      "status": "ACTIVE",
      "updatedAt": 1790208251000
    },
    {
      "connection": "not_connected",
      "createdAt": 1780391645000,
      "currency": "USD",
      "deletedAt": null,
      "id": "acc_987654321098765",
      "name": "Northwind Outdoor – US",
      "provider": "meta",
      "status": "DISABLED",
      "updatedAt": 1790208251000
    }
  ]
}
```
