Social Media

TikTok Creative Center API API

The TikTok Creative Center API returns TikTok ad-spy and creative intelligence as clean JSON.

7 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary top_ads endpoint returns top-performing ads with title, brand, CTR, likes, cost, industry, objective and the video itself, and you can pull an ad_detail, search_ads, ad_filters, query_suggestions, trend_reports and locations. It is built for ad-intelligence, competitor-research and creative-strategy tools that need TikTok ad-library data without a login. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, top_ads, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/tiktok-creative-center/v1/top_ads",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "region": "US",
    "period": "30"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "tiktok-creative-center",
    "endpoint": "top_ads",
    "mode": "live",
    "latency_ms": 1755.9,
    "record_count": 20,
    "bytes": 46126,
    "cache_hit": false,
    "stop_reason": "limit_reached",
    "region": "US",
    "period_days": 30
  },
  "data": {
    "ads": [
      {
        "id": "[redacted-phone]",
        "ad_title": "Natural Cycles is the only FDA-cleared and CE-marked birth control app.  
From NC° Birth Control to NC° Plan Pregnancy to NC° Perimenopause, Natural Cycles is there to support your long-term fertility journey. 

Natural Cycles is 98% effective with perfect use and 93% effective with typical use. 

Are you ready to take control of your fertility?  Sign up for Natural Cycles today and get a free NC° Band with your annual subscription. Offer available for new users only.",
        "brand_name": "natural cycles",
        "ctr": 0.36,
        "like": 7,
        "cost": 1,
        "industry_key": "label_[redacted-phone]",
        "objective_key": "campaign_objective_conversion",
        "is_search": true,
        "favorite": false,
        "video": {
          "vid": "v12044gd0000d8bl3svog65t7cnhjkrg",
          "duration": 31.787,
          "cover_url": "https://p16-common-sign.tiktokcdn.com/tos-maliva-p-0068c799-us/oQQE4pzAQd6ES7FBpueDfDuRHzAFJT1gUzXqQl~tplv-noop.image?dr=18692&refresh_token=02c33f5b&x-expires=[redacted-phone]&x-signature=fHNlNyVmKnVtSOauX0LPHxHl%2BkY%3D&t=9276707c&ps=14f1eb3e&shp=9e36835a&shcp=317596d8&idc=my&VideoID=v12044gd0000d8bl3svog65t7cnhjkrg",
          "width": 720,
          "height": 1280,
          "video_urls": {
            "540p": "[trimmed-depth]",
            "720p": "[trimmed-depth]"
          }
        }
      },
      {
        "id": "[redacted-phone]",
        "ad_title": "Up to 50% OFF! Clip Studio Paint is on sale now until June 23rd, 8:00 AM (UTC)",
        "brand_name": null,
        "ctr": 0.18,
        "like": 148,
        "cost": 1,
        "industry_key": "label_[redacted-phone]",
        "objective_key": "campaign_objective_traffic",
        "is_search": true,
        "favorite": false,
        "video": {
          "vid": "v10033g50000d8ofnsfog65t106u4org",
          "duration": 97.6,
          "cover_url": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0051c001-sg/osxQe9JfQQoZAWhKjhEM8MctfjAXDfeAccXRgG~tplv-noop.image?dr=18692&refresh_token=c28f9e0e&x-expires=[redacted-phone]&x-signature=KQgye6afrgts3%2B%2FgAXAddrpw%2BRg%3D&t=9276707c&ps=14f1eb3e&shp=9e36835a&shcp=317596d8&idc=my&VideoID=v10033g50000d8ofnsfog65t106u4org",
          "width": 720,
          "height": 1280,
          "video_urls": {
            "360p": "[trimmed-depth]",
            "480p": "[trimmed-depth]",
            "540p": "[trimmed-depth]",
            "720p": "[trimmed-depth]",
            "1080p": "[trimmed-depth]"
          }
        }
      },
      {
        "id": "[redacted-phone]",
        "ad_title": "Bold, all-natural Borjomi sparkling water has over 60+ natural gut-healthy minerals in every sip. ",
        "brand_name": null,
        "ctr": 0.34,
        "like": 299,
        "cost": 2,
        "industry_key": "label_[redacted-phone]",
        "objective_key": "campaign_objective_traffic",
        "is_search": true,
        "favorite": false,
        "video": {
          "vid": "v10033g50000d8hgatvog65iv8gr5tvg",
          "duration": 15.019,
          "cover_url": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0051c001-sg/o85rQgIGH6eDLLeECUgGG38gueLlIbARbvCAWA~tplv-noop.image?dr=18692&refresh_token=347dcad9&x-expires=[redacted-phone]&x-signature=hu7FMPufQzYJq%2Fw1WWPacyLktqQ%3D&t=9276707c&ps=14f1eb3e&shp=9e36835a&shcp=317596d8&idc=my&VideoID=v10033g50000d8hgatvog65iv8gr5tvg",
          "width": 720,
          "height": 1280,
          "video_urls": {
            "360p": "[trimmed-depth]",
            "480p": "[trimmed-depth]",
            "540p": "[trimmed-depth]",
            "720p": "[trimmed-depth]",
            "1080p": "[trimmed-depth]"
          }
        }
      }
    ],
    "pagination": {
      "page": 1,
      "size": 20,
      "total_count": 309,
      "has_more": true
    },
    "region": "US",
    "period_days": 30
  }
}
Actions

What the TikTok Creative Center API API does

ActionDescriptionConcrete use caseKey params
top_adsTop-performing TikTok ads for a market, filterable by region, period, industry, objective and ad language, ranked by recommendation / CTR / likes / spend. The core ad-spy feed — the same Top Ads intelligence PiPiADS / Minea / AdSpy sell as SaaS — with each ad's metrics and full video renditions.Ops teams call top_ads to get top-performing TikTok ads for a market, filterable by region, period, industry, objective and….region, period, order_by, industry, objective, ...
ad_detailFull creative record for one ad: title, brand, CTR, spend, likes, comments, shares, landing page, matched keywords, campaign objectives, highlight text, creative source, voice-over flag and the full set of video renditions (360p-1080p).Developer tools call ad_detail to get full creative record for one ad.ad_id
search_adsKeyword search across TikTok's Top-Ads index (region/period scoped), returning the same ad shape as top_ads. NOTE: TikTok's keyword index is sparse — only terms that match indexed ad metadata return matches, and many generic queries come back empty (honest empty, ok=true). For broad discovery prefer `top_ads` with industry / objective filters.Validation workflows call search_ads to get keyword search across TikTok's Top-Ads index (region/period scoped), returning the same ad sh….keyword, region, period, limit, page
ad_filtersThe live filter taxonomy used by top_ads: full country (81), industry (258), objective (7), ad_language (16), pattern_label and period value lists.Data-quality teams call ad_filters to get the live filter taxonomy used by top_ads.none
query_suggestionsSuggested Top-Ads search terms surfaced by TikTok's Creative Center search box. Honestly returns an empty list when TikTok is serving no suggestions for the locale.Ops teams call query_suggestions to get suggested Top-Ads search terms surfaced by TikTok's Creative Center search box.limit
trend_reportsCreative-Center trend reports & creative-guidance articles (official TikTok marketing insight content).Developer tools call trend_reports to get creative-Center trend reports & creative-guidance articles (official TikTok marketing insight….article_type, limit, page
locationsSupported markets for the `region` filter: ISO code + human country name (e.g. {code: 'DE', name: 'Germany'}), sorted by name.Validation workflows call locations to get supported markets for the `region` filter.none
Code samples

Call top_ads from your stack

curl -X POST https://api.reefapi.com/tiktok-creative-center/v1/top_ads \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"region":"US","period":"30"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.tiktok-creative-center.top_ads with {"region":"US","period":"30"}.
Use cases

Who uses this API and why

  • Ad-intelligence tools call top_ads to find the highest-performing TikTok ads by industry and region.
  • Creative teams use ad_detail and trend_reports to study winning hooks, formats and objectives.
  • Competitor-research products use search_ads by brand to track a rival's live ad creative.
FAQ

Questions developers ask before integrating

What is the TikTok Creative Center API API?

TikTok Creative Center API API is a ReefAPI endpoint group for tiktok creative center api It returns live JSON through POST requests under /tiktok-creative-center/v1.

Is the TikTok Creative Center API API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. TikTok Creative Center API calls use the same shared credit balance as every other ReefAPI engine.

Do I need a TikTok Creative Center API login or account?

No login to TikTok Creative Center API is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the TikTok Creative Center API data?

The page example is captured from a live top_ads call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the TikTok Creative Center API API use?

TikTok Creative Center API actions currently cost 1-3 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call TikTok Creative Center API from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call tiktok-creative-center actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the TikTok Creative Center API API a TikTok Creative Center API scraper?

It is the managed alternative to a DIY TikTok Creative Center API scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same tiktok creative center api back as clean JSON.

Why does my TikTok Creative Center API scraper keep getting blocked?

Most TikTok Creative Center API scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / tiktok-creative-center

TikTok Creative Center API

TikTok Creative Center API

base /tiktok-creative-center/v17 endpoints
post/tiktok-creative-center/v1/top_ads3 credits

Top-performing TikTok ads for a market, filterable by region, period, industry, objective and ad language, ranked by recommendation / CTR / likes / spend. The core ad-spy feed — the same Top Ads intelligence PiPiADS / Minea / AdSpy sell as SaaS — with each ad's metrics and full video renditions.

ParameterAllowed / rangeDescription
region = USoptionalTwo-letter ISO country code to scope the ads to a market. Common: US, GB, DE, FR, ES, IT, JP, KR, BR, MX, ID, TH, VN, TR, SA, AE, IN, CA, AU. Default US. Call the `locations` action for the full 73-market list (each {code, name}); unsupported codes fall back to US.
period = 30optional7 · 30 · 180Trailing window the ad metrics are measured over, in days. Only 7, 30 or 180 are accepted by TikTok (any other value falls back to 30). Shorter = fresher/breakout ads, longer = established performers.
order_by = for_youoptionalfor_you · ctr · like · costHow the returned ads are ranked: 'for_you' = TikTok's recommended mix, or sort by 'ctr' (click-through rate), 'like' (most liked) or 'cost' (highest spend). Each call returns one ranked page of up to 20.
industryoptional10000000000 · 11000000000 · 12000000000 · 13000000000 · 14000000000 · 15000000000 · 16000000000 · 17000000000 · 18000000000 · 19000000000 · 20000000000 · 21000000000 · 22000000000 · 23000000000 · 24000000000 · 25000000000 · 26000000000 · 27000000000 · 28000000000 · 29000000000 · 30000000000Numeric industry id to filter ads by — one of the 21 top-level verticals listed in allowed_values (e.g. 25000000000 = Games, 14000000000 = Beauty & Personal Care, 22000000000 = Apparel & Accessories). Sub-category ids are also accepted; browse the full 258-entry taxonomy (with parent_id hierarchy) via the `ad_filters` action.
objectiveoptional1 · 2 · 3 · 4 · 5 · 8 · 15Campaign objective filter (id or name: Traffic, Conversions, App Installs, Video Views, Reach, Lead Generation, Product Sales).
ad_languageoptionalAd-language filter, e.g. language_en / language_es / language_de (see ad_filters.ad_language for the 16 supported values).
limit = 20optional1–20How many ads to return (1-20; TikTok hard-caps a page at 20). The response includes pagination.total_count = the full size of the ranked index for your filters.
page = 1optional1–50Result page. NOTE: TikTok's Top-Ads endpoint serves a single ranked page per (region/period/filter/order_by) combination — page>1 returns empty. To see different ads, vary order_by (ctr/like/cost), period, industry or objective rather than the page number.
Try in playground →
post/tiktok-creative-center/v1/ad_detail3 credits

Full creative record for one ad: title, brand, CTR, spend, likes, comments, shares, landing page, matched keywords, campaign objectives, highlight text, creative source, voice-over flag and the full set of video renditions (360p-1080p).

ParameterAllowed / rangeDescription
ad_idrequiredCreative/material id (the `id` field of a top_ads result).
Try in playground →
post/tiktok-creative-center/v1/search_ads3 credits

Keyword search across TikTok's Top-Ads index (region/period scoped), returning the same ad shape as top_ads. NOTE: TikTok's keyword index is sparse — only terms that match indexed ad metadata return matches, and many generic queries come back empty (honest empty, ok=true). For broad discovery prefer `top_ads` with industry / objective filters.

ParameterAllowed / rangeDescription
keywordrequiredSearch term to match against the Top-Ads index.
region = USoptionalTwo-letter ISO country code to scope the ads to a market. Common: US, GB, DE, FR, ES, IT, JP, KR, BR, MX, ID, TH, VN, TR, SA, AE, IN, CA, AU. Default US. Call the `locations` action for the full 73-market list (each {code, name}); unsupported codes fall back to US.
period = 30optional7 · 30 · 180Trailing window the ad metrics are measured over, in days. Only 7, 30 or 180 are accepted by TikTok (any other value falls back to 30). Shorter = fresher/breakout ads, longer = established performers.
limit = 20optional1–20How many ads to return (1-20; TikTok hard-caps a page at 20). The response includes pagination.total_count = the full size of the ranked index for your filters.
page = 1optional1–50Result page. NOTE: TikTok's Top-Ads endpoint serves a single ranked page per (region/period/filter/order_by) combination — page>1 returns empty. To see different ads, vary order_by (ctr/like/cost), period, industry or objective rather than the page number.
Try in playground →
post/tiktok-creative-center/v1/ad_filters1 credit

The live filter taxonomy used by top_ads: full country (81), industry (258), objective (7), ad_language (16), pattern_label and period value lists.

Try in playground →
post/tiktok-creative-center/v1/query_suggestions1 credit

Suggested Top-Ads search terms surfaced by TikTok's Creative Center search box. Honestly returns an empty list when TikTok is serving no suggestions for the locale.

ParameterAllowed / rangeDescription
limit = 20optional1–50How many suggestions (1-50).
Try in playground →
post/tiktok-creative-center/v1/trend_reports1 credit

Creative-Center trend reports & creative-guidance articles (official TikTok marketing insight content).

ParameterAllowed / rangeDescription
article_type = trendsoptionaltrends · guidance · 1 · 2Which Creative-Center article stream to return.
limit = 10optional1–50Articles (1-50).
page = 1optional1–50Result page. NOTE: TikTok's Top-Ads endpoint serves a single ranked page per (region/period/filter/order_by) combination — page>1 returns empty. To see different ads, vary order_by (ctr/like/cost), period, industry or objective rather than the page number.
Try in playground →
post/tiktok-creative-center/v1/locations1 credit

Supported markets for the `region` filter: ISO code + human country name (e.g. {code: 'DE', name: 'Germany'}), sorted by name.

Try in playground →