> ## 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 Products

> Lists or searches products inside a Meta catalog with an optional raw Meta filter

Lists or searches products inside a Meta catalog with an optional raw Meta filter. Uses the same filter syntax as product sets, so it can preview which products a product set filter would match. Use meta\_ads\_list\_catalogs first to find the catalog id.

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

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `catalog_id` | string or SelectItem | Yes | - | Meta catalog ID. Use Meta Ads List Catalogs first to find this value. |
| `filter` | object or string | No | - | Optional raw Meta product filter as an object, sent to Meta as-is. Uses the same syntax as product set filters, so this is also useful to preview which products a product set filter would match. Operators like is\_any, contains, i\_contains, eq, neq, and and/or groups over catalog fields such as retailer\_id, brand, category, availability, condition, or custom\_label\_0 to custom\_label\_4. Example: \{"and": \[\{"brand": \{"i\_contains": "nike"}}, \{"availability": \{"eq": "in stock"}}]}. Leave empty to list all products. Meta sends the filter in the request URL and rejects very large ones, so match many IDs with is\_any rather than hundreds of eq clauses, and split into batches if it is still rejected. |
| `limit` | integer | No | `100` | Maximum number of products to return. Default: 100. |

### SelectItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | The value of the selectable item. |
| `label` | string | Yes | - | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

## Output

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

Returns products in the catalog matching the filter.

**Fields**: `id`, `retailer_id`, `name`, `description`, `brand`, `category`, `product_type`, `gtin`, `availability`, `price`, `sale_price`, `image_url`, `url`, `review_status`, `custom_label_0`


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