Docs menu

REST API · Creatives

List TikTok posts

TikTok Spark Ads: the existing posts a launch plan can run as ads (their likes and comments stay)

GEThttps://api.apogee.ad/api/v1/ad-accounts/{acc}/tiktok-posts

What it does

source account (default): the video posts of one of the brand's TikTok accounts (identity_id / identity_type from the launch questions' identity choices; default: the first one), a page at a time (next_cursor). source authorized: the posts creators authorized for this ad account with a code (bound in the Apogee app). Each post says whether it can run (usable, refusals) and gives its spark_post for POST /launch-plans ads[].spark_post.

Request

GET /ad-accounts/{acc}/tiktok-posts on https://api.apogee.ad/api/v1.

Path parameters

  • acc string path required

    TikTok advertiser id (GET /ad-accounts?platform=tiktok)

    Matches ^\d{1,32}$

Query parameters

  • source string query optional

    One of account, authorized

  • identity_id string query optional

    Matches ^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$

  • identity_type string query optional

    One of TT_USER, BC_AUTH_TT

  • bc_id string query optional

    Matches ^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$

  • cursor string query optional

    next_cursor of the previous page

  • page string query optional

    Matches ^\d{1,3}$

Headers

  • Authorization string header required

    Bearer apk_…: an API key with the scope of this route.

Response

200.

  • source string

    One of account, authorized

  • posts array of objects
    Fields of each item (11)
    • item_id string or null
    • spark_post object

      What goes in a launch plan's ads[].spark_post

    • caption string or null
    • visibility string or null
    • account object
      Fields (3)
      • id string or null
      • type string or null
      • name string or null
    • duration_sec number or null
    • preview_url string or null
    • authorization object

      A creator's post: its authorization (status, end, days left)

    • usable boolean

      false: TikTok would refuse it now (refusals)

    • refusals array of strings
    • warnings array of strings
  • available boolean
  • account object
    Fields (3)
    • id string or null
    • type string or null
    • name string or null
  • next_cursor string or null

    source account: the next page

  • page number or null
  • total_pages number or null

Every answer carries X-Request-Id (give it to support), Apogee-Version: 2026-10-06, and the RateLimit and RateLimit-Policy headers.

Errors

Errors are application/problem+json with a stable code to switch on (all the codes).

Example

With your key in APOGEE_API_KEY (create one):

Request
curl 'https://api.apogee.ad/api/v1/ad-accounts/7000000000000000001/tiktok-posts' \
  -H "Authorization: Bearer $APOGEE_API_KEY"
Response 200 (shape)
{
  "source": "account",
  "available": false,
  "account": {
    "id": "120200000000000001",
    "type": "120200000000000001",
    "name": "Nordlicht | Spring launch"
  },
  "posts": [
    {
      "item_id": "120200000000000001",
      "caption": "Example text",
      "visibility": "120200000000000001",
      "account": {
        "id": "120200000000000001",
        "type": "120200000000000001",
        "name": "Nordlicht | Spring launch"
      },
      "duration_sec": 1,
      "preview_url": "https://www.example.com/products/nordlicht-jacket",
      "authorization": {},
      "usable": false,
      "refusals": [
        "120200000000000001"
      ],
      "warnings": [
        "120200000000000001"
      ],
      "spark_post": {}
    }
  ],
  "next_cursor": null,
  "page": 1,
  "total_pages": 1
}

Access and cost

PlansPro and Scale.
Scoperead (scopes).
CreditsFree up to the daily free reads (5,000 a day on Pro, 10,000 on Scale), then 1 credit per read. A request that fails costs nothing, a replayed one neither (credits).
Rate limitRead: 600 per 15 minutes on Pro, 1,200 on Scale (rate limits).
Daily capCounts 1 unit toward the 2,000 units one API key can use in 24 hours.

In the MCP

An AI assistant does the same with this tool of the MCP server:

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