Skip to Content
Tool referenceList campaigns

List campaigns (adsap_list_campaigns)

Platform: Meta · Read or write: Read · Plan: All plans · Consumes a task: No · Preview supported: No

What it does

Lists the campaigns in a Meta ad account with status, objective, budget and any special ad category. You can filter by status or objective and page through long lists. In assistants that support interactive cards, the list renders as a card where you tick the campaigns you want to work with next.

When to use it

  • Use it to find a campaign and its ID before you list its ad sets with adsap_list_ad_sets.
  • It reads Adsap’s campaign cache, not Meta directly. last_synced_at shows when each campaign was last synced.
  • Narrow the list with status_filter, or with objective_filter, a list of Meta objectives such as OUTCOME_SALES.
  • Without ad_account_id, it lists campaigns from every ad account in your workspace.
  • It returns no spend or results. For those, use adsap_get_insights.

Worked example

You ask

“List the active campaigns in act_1234567890 with their budgets.”

The assistant calls adsap_list_campaigns

{ "ad_account_id": "act_1234567890", "status_filter": "ACTIVE" }

Adsap returns

The field names are the ones Adsap returns. The values are examples.

{ "ok": true, "data": [ { "id": "120210000000002", "ad_account_id": "act_1234567890", "name": "Spring sale", "display_name": "Spring sale (120210000000002)", "objective": "OUTCOME_SALES", "status": "ACTIVE", "effective_status": null, "daily_budget": 5000, "lifetime_budget": null, "budget_type": "CBO", "start_time": null, "stop_time": null, "special_ad_categories": null, "special_ad_category_country": null, "last_synced_at": "2026-03-02T08:15:00+00:00" } ], "meta": { "last_refreshed_at": "2026-03-02T08:15:00+00:00", "next_cursor": null, "total_count": 1, "ad_account_id": "act_1234567890" } }

How to read it

daily_budget and lifetime_budget are in cents, so 5000 is 50.00 in the account currency. budget_type is CBO when the campaign holds the budget. It is Ad Set Budget when each ad set holds its own, and both budget fields are then null.

The cache does not store effective_status, start_time or stop_time, so they come back as null. When next_cursor is not null, the assistant passes it as cursor to get the next page. To pause a campaign or switch it on, the assistant can use adsap_set_entity_status.

Parameters

Descriptions are shortened from the tool schema. Your assistant sees the full text.

NameTypeRequiredDescription
ad_account_idstringNo
status_filterone of ACTIVE, PAUSED, DELETED, ARCHIVED, ALLNo
objective_filterarray of stringNo
limitnumberNo
cursorstringNo

Example prompts

  • “List the active campaigns in my ad account.”
  • “Show me every paused sales campaign.”
  • “Which campaigns are running right now, and what is each one’s budget?”
  • adsap_create_campaign: Create Meta campaign.
  • adsap_get_campaign: Read ONE campaign in full, live from Meta: effective_status, objective, buying_type, bid strategy, budgets (campaign budget present =…
  • adsap_list_apps: List the apps an ad account can promote: use to pick application_id + object_store_url for App promotion (OUTCOME_APP_PROMOTION)…

Guide

Read Creating a campaign for the workflow around this tool, and the Tool reference for every tool.

The Meta Ads MCP server  page shows how to connect Meta Ads to Claude, ChatGPT or Perplexity.

Last updated on