MCP tool · Pages, pixels, audiences and posts
list_posts
Existing posts a new ad can reuse with their likes and comments: the posts behind your ads, a page's posts, or its Instagram posts.
What it does
Existing posts a new ad can reuse, keeping their likes, comments and shares (create_ad_from_post):
- source "ads" (default): the posts behind the ad account's ads (dark posts included), with the ads using each one: the usual "reuse my winning ad's post";
- source "facebook": the page's published posts (page_id);
- source "instagram": the posts of the page's Instagram account (page_id + instagram_account_id).
Parameters
-
sourcestring optional -
ad_account_idstring optionalsource ads
-
campaign_idstring optionalsource ads: only this campaign's ads
-
page_idstring optionalsource facebook / instagram
-
instagram_account_idstring optionalsource instagram (list_instagram_accounts)
-
limitinteger optional -
cursorstring optionalnext_cursor of the previous page
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_posts",
"arguments": {
"source": "ads",
"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_posts","arguments":{"source":"ads","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 ad posts:
GET /ad-accounts/{acc}/posts - List page posts:
GET /pages/{page}/posts
Related tools
Pages, pixels, audiences and posts: Meta only: the choices the launch interview offers.
list_pages: The Facebook pages usable with an ad account, with their linked Instagram account.list_instagram_accounts: The Instagram account linked to a page.list_pixels: The pixels of an ad account.list_lead_forms: The instant forms of a page.list_custom_audiences: Custom and lookalike audiences, to include or exclude.search_targeting: Countries, regions and cities, interests, behaviors, life events and languages, with the keys a launch takes.