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

# List Ads

> List all ads in ad account with creative details and status, including review feedback (disapproval reasons) and delivery issues when Meta reports them

List all ads in ad account with creative details and status, including review feedback (disapproval reasons) and delivery issues when Meta reports them

|                      |                       |
| -------------------- | --------------------- |
| **App**              | Meta Ads              |
| **Operation ID**     | `meta_ads_list_ads`   |
| **Type**             | Action                |
| **Connection**       | `meta_ads` (required) |
| **Credits per run**  | 1                     |
| **Agent / MCP tool** | Yes                   |

## Inputs

| Field                       | Type                                | Required | Default     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| --------------------------- | ----------------------------------- | -------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `account`                   | DynamicAccount                      | Yes      | -           | Select Meta Ads account, ask the user for it if not provided                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `campaign_effective_status` | array of string or SelectableOption | No       | -           | Filter ads by parent campaign effective status. Multiple statuses can be selected. Supported values: ACTIVE, PAUSED, DELETED, ARCHIVED, IN\_PROCESS, WITH\_ISSUES                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `adset_effective_status`    | array of string or SelectableOption | No       | -           | Filter ads by parent ad set effective status. Multiple statuses can be selected. Supported values: ACTIVE, PAUSED, DELETED, CAMPAIGN\_PAUSED, ARCHIVED, IN\_PROCESS, WITH\_ISSUES                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `ad_effective_status`       | array of string or SelectableOption | No       | -           | Filter ads by ad effective status. Multiple statuses can be selected. Supported values: ACTIVE, PAUSED, DELETED, PENDING\_REVIEW, DISAPPROVED, PREAPPROVED, PENDING\_BILLING\_INFO, CAMPAIGN\_PAUSED, ARCHIVED, ADSET\_PAUSED, IN\_PROCESS, WITH\_ISSUES                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `filters`                   | array of FilterItem                 | No       | -           | Additional filters to apply when retrieving ads. The available fields to filter by are: - campaign\_id: Filter by parent campaign ID - campaign\_name: Filter by parent campaign name - adset\_id: Filter by parent ad set ID - adset\_name: Filter by parent ad set name - ad\_id: Filter by ad ID - ad\_name: Filter by ad name Filters are combined using AND logic. If you want to use OR logic, use relevant operators like REGEXP\_MATCH or IN\_LIST. campaign\_id, adset\_id, and ad\_id with EQUALS/IN\_LIST, and ad\_name with CONTAINS, are applied by Meta at the source, so they are fast on any account size. Other combinations are applied after fetching, scanning a bounded number of ads. Prefer the server-side combinations on large accounts. |
| `limit`                     | integer                             | No       | `500`       | Maximum number of matching ads to return (1-1000), counted after all filters are applied                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `include_creative`          | boolean                             | No       | `True`      | Include each ad's creative payload (image URLs, story spec, asset feed spec, degrees of freedom spec). Set to false for lightweight results with ids, names, campaign/ad set info, statuses, and the preview link only; much faster and recommended for lookups on large accounts.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `response_format`           | enum (`flattened`, `raw`)           | No       | `flattened` | Shape of the returned ads. 'flattened' (default) flattens nested Meta objects into top-level fields (for example campaign\_id, adset\_name, creative\_image\_url). 'raw' returns Meta's response untouched, with campaign, adset, and creative kept as nested objects. Status and client-side filters work the same in both modes.                                                                                                                                                                                                                                                                                                                                                                                                                                 |

### FilterItem

| Field      | Type                       | Required | Default | Description                                                                                                                                                                                                                                                                                 |
| ---------- | -------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `field`    | string or SelectableOption | Yes      | -       | The field to filter on, must be one of the current selected metrics or dimensions.                                                                                                                                                                                                          |
| `operator` | string                     | Yes      | -       | The operator to use for filtering. Must be one of the supported values. Use REGEXP\_MATCH to search/filter by multiple OR values like '.*(summer\|holiday).*'                                                                                                                               |
| `value`    | string                     | Yes      | -       | The value to filter by, always as a string: text, a number, or a regex. For IN\_LIST and NOT\_IN\_LIST, pass the values as one comma-separated string such as 'a,b,c', not as an array. For regex values, escape backslashes once in the JSON string: write \b for a word boundary, not \b. |

### SelectableOption

| Field   | Type   | Required | Default | Description |
| ------- | ------ | -------- | ------- | ----------- |
| `value` | string | Yes      | -       |             |
| `label` | string | Yes      | -       |             |

## Output

**Type**: `List[Dict]`

Returns list of ads with creative details.

**Fields**: dynamic (depend on the inputs)
