List Meta Campaigns
User wants to see their existing Meta/Facebook/Instagram campaigns, browse campaign structure, or find a campaign ID.
This tool retrieves all campaigns in the connected Meta ad account with their status, objective, budget, and creation date.
Returns:
- Campaign list with name, ID, status, objective, budget
- Status summary (how many ACTIVE, PAUSED, etc.)
- Next step guidance for drilling into campaign details
When to use this tool:
- “Show me my Meta campaigns”
- “List my Facebook ad campaigns”
- “What campaigns do I have running?”
- “Which campaigns are active?”
- “Find my campaign for [product/brand]”
- “I need to find a campaign ID”
- Before using update/pause/resume tools when user doesn’t know the campaign ID
Parameters:
- status: Filter by status (comma-separated: ‘ACTIVE’, ‘PAUSED’, ‘DELETED’, ‘ARCHIVED’)
- effective_status: Filter by effective status (includes inherited states like ‘CAMPAIGN_PAUSED’)
- objective: Filter by objective (OUTCOME_TRAFFIC, OUTCOME_SALES, OUTCOME_LEADS, OUTCOME_AWARENESS)
- limit: Max campaigns to return (default: 100)
- ad_account_id: Required for multi-account users. Get from list_connected_accounts
Execution time: 2-5 seconds Data source: Meta Marketing API (live)
Workflow:
- Use
list_meta_campaignsto find campaigns - Use
get_meta_campaign_detailswith a campaign ID to see full structure - Use
update_meta_campaignorupdate_meta_ad_setto make changes
Authorizations
API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Headers
Client-generated UUID to make writes idempotent. Strongly recommended for write tools. A repeat call with the same key returns the cached result instead of re-executing. Example: 550e8400-e29b-41d4-a716-446655440000
Body
All tool arguments are wrapped in an arguments object. The fields accepted inside arguments are listed below — required fields are marked with a red asterisk.
Input schema for listing Meta campaigns
Response
Tool executed successfully. data.text carries the human-readable result (markdown-friendly). data.quota shows your current usage against the plan limit. data.structured appears when the tool emits machine-parseable structured content. data.content appears for tools that return non-text blocks (images, resources).
Returned on HTTP 200. data.text is the primary human-readable output. data.quota is always present for billable calls. data.structured is set only when the tool emits machine-parseable structured content. data.content is set only when the tool emits non-text content blocks.

