> ## 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 Ad Groups

> Lists ad groups (line items) in an X (Twitter) Ads account with full details including objective, bidding, and placements

Lists ad groups (line items) in an X (Twitter) Ads account with full details including objective, bidding, and placements. Budgets and bids are returned in X micro-currency (divide by 1,000,000 for the account currency).

| | |
| - | - |
| **App** | X Ads |
| **Operation ID** | `x_ads_list_ad_groups` |
| **Type** | Action |
| **Connection** | `x_ads` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `account` | DynamicAccount | Yes | - | Select the X Ads account whose ad groups (line items) should be listed. |
| `ad_group_ids` | string or array of string | No | - | Scope to specific ad group (line item) IDs (list or comma-separated string, up to 200). |
| `campaign_ids` | string or array of string | No | - | Scope to ad groups under specific campaign IDs (list or comma-separated string, up to 200). |
| `funding_instrument_ids` | string or array of string | No | - | Scope to ad groups under specific funding instrument IDs (list or comma-separated string, up to 200). |
| `q` | string | No | - | Scope ad groups by name (case-insensitive prefix match, so it matches names that start with this text). |
| `sort_by` | string | No | - | Sort by a supported attribute, e.g. 'created\_at-desc' or 'updated\_at-asc'. |
| `with_drafts` | boolean | No | `False` | Include draft ad groups. |
| `with_deleted` | boolean | No | `False` | Include deleted ad groups. |
| `filters` | array of FilterItem | No | - | Additional filters applied to the returned ad groups. The available fields to filter by are: - id: Filter by ad group ID - name: Filter by ad group name - campaign\_id: Filter by parent campaign ID - entity\_status: Filter by status (ACTIVE, PAUSED, DRAFT) - objective: Filter by objective Filters are combined using AND logic. If you want to use OR logic, use relevant operators like REGEXP\_MATCH or IN\_LIST. |
| `limit` | integer | No | `100` | Maximum number of ad groups to return. Default: 100. |

### 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 the list of X ad groups with full details.

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


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