MCP tool · Campaigns, ad sets and ads
list_ads
The ads of an ad account, a campaign or an ad set (200 at most).
What it does
List the ads of an ad account, optionally of one campaign or ad set (e.g. to pick the ad whose page, texts, URL and CTA are copied).
Parameters
-
ad_account_idstring requiredAd account id (list_ad_accounts)
-
platformstring optionalAd platform, default meta
-
campaign_idstring optional -
adset_idstring optional -
searchstring optional
Example
Your assistant calls it for you when you ask in your own words. What it sends (MCP tools/call, JSON-RPC 2.0):
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_ads",
"arguments": {
"ad_account_id": "act_1234567890"
}
}
} The same call over HTTP with an API key, for an MCP client of your own (an assistant that signs in sends its OAuth token instead):
curl -X POST https://app.apogee.ad/mcp \
-H "Authorization: Bearer $APOGEE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_ads","arguments":{"ad_account_id":"act_1234567890"}}}' Access and cost
| Plans | Pro and Scale. |
|---|---|
| Scope | read: a connection or an API key without it does not see this tool (scopes). |
| Effect | Reads only: nothing is changed, in Apogee or on the ad account. |
| Credits | Free up to the daily free reads (5,000 a day on Pro, 10,000 on Scale), then 1 credit per read. A call that fails costs nothing (credits). |
| Rate limit | 600 MCP requests per 15 minutes on Pro, 1,200 on Scale (rate limits). |
| Daily cap | Counts 1 unit toward the 2,000 units one API key or assistant connection can use in 24 hours. |
In the REST API
The same thing for your own code, with an API key:
- List ads:
GET /ad-accounts/{acc}/ads
Related tools
Campaigns, ad sets and ads: Names and ids, no metrics: to find where to launch and what to copy.
list_campaigns: The campaigns of an ad account: objective, CBO budget, status. Archived ones on request.list_adsets: The ad sets (TikTok ad groups, Snapchat ad squads) of an ad account, or of one campaign.get_latest_in_campaign: The newest ad set and ad of a campaign, by creation time: "copy the latest ad set and ad of campaign X". Their ids go in prepare_launchcopy_adset_fromandcopy_ad_from.get_templates: What a copy would take: from an ad set its targeting, event, bid and budget; from an ad its page, Instagram, texts, URL and call to action.list_launches: Your launches (the app's History), newest first: status, files, dates.