Docs menu

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.

Read only Scope: read Pro and Scale plans Credits: Free*

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

  • source string optional

    One of ads, facebook, instagram

  • ad_account_id string optional

    source ads

    Matches ^(act_)?\d{1,32}$

  • campaign_id string optional

    source ads: only this campaign's ads

    Matches ^\d{1,40}$

  • page_id string optional

    source facebook / instagram

    Matches ^\d{1,40}$

  • instagram_account_id string optional

    source instagram (list_instagram_accounts)

    Matches ^\d{1,40}$

  • limit integer optional

    1 to 50

  • cursor string optional

    next_cursor of the previous page

    up to 500 characters

Example

Your assistant calls it for you when you ask in your own words. What it sends (MCP tools/call, JSON-RPC 2.0):

tools/call
{
  "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
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

PlansPro and Scale.
Scoperead: a connection or an API key without it does not see this tool (scopes).
EffectReads only: nothing is changed, in Apogee or on the ad account.
CreditsFree 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 limit600 MCP requests per 15 minutes on Pro, 1,200 on Scale (rate limits).
Daily capCounts 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:

Pages, pixels, audiences and posts: Meta only: the choices the launch interview offers.

Last updated on . The parameters, limits, credits and error codes of these pages are generated from the code of the Apogee API (contract 2026-10-06).

A question, something missing? Write to hello@apogee.ad.

Book a demo

Pick the time that suits you.

Open in a new tab

Loading the calendar…

Talk to Founder