TikTok Ads Intelligence (CCL + Creative Center) avatar

TikTok Ads Intelligence (CCL + Creative Center)

Pricing

$1.00 / 1,000 result items

Go to Apify Store
TikTok Ads Intelligence (CCL + Creative Center)

TikTok Ads Intelligence (CCL + Creative Center)

Worldwide TikTok ad intelligence in one Actor: Commercial Content Library for EEA/UK/CH (ads + OCC, HTTP-first quick search + detail targeting) and Creative Center Top Ads for US/global markets (residential sticky-session bootstrap, industry/objective filters, rich diagnostics).

Pricing

$1.00 / 1,000 result items

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

Share

One Actor for TikTok ad intelligence worldwide:

  1. Commercial Content Library (CCL)library.tiktok.com for EEA / UK / Switzerland
    • Paid ads (contentType=ads)
    • Other Commercial Content (contentType=other_commercial or both)
    • Quick search uses an HTTP-first path (cheaper), then falls back to browser capture if needed
    • Detail enrichment (targeting, media, advertiser) still uses a browser/session path
  2. Creative Center Top Ads — high-performing auction ads for non-CCL markets (US, JP, BR, SEA, …)
    • Residential proxy + sticky session bootstrap to capture signed headers
    • HTTP replay of list / filters / optional detail endpoints
    • Automatic session retry when bootstrap fails

source=auto (default) routes by country. Force with source=ads_library or source=creative_center.

Worker URL is config, not code: the Actor reads WORKER_BASE_URL from Actor environment variables (plus optional per-run workerBaseUrl). If you migrate the worker to a new host, update WORKER_BASE_URL (and WORKER_AUTH if the API key changes) in Apify Console — no Actor code change required. Set WORKER_PROVIDES_PROXY=1 when the worker supplies its own PROXY_URL instead of minting Apify RESIDENTIAL.

Why this Actor

  • Global coverage: CCL where the public library exists; Creative Center Top Ads everywhere else
  • Auto routing: pick a country — the Actor selects the right first-party surface
  • Structured output: advertiser, creative caption, media, metrics, and (on CCL detail) targeting
  • Honest failures: empty Creative Center results are not treated as success; diagnostics explain proxy/tunnel vs missing user-sign vs empty list
  • Pay-per-event: only successful runMode=real items are charged

Modes

modePurpose
ads_library_searchPrimary path (auto-routed by country)
ads_library_probeDiagnostics / API discovery
catalog_refreshRefresh Creative Center filters catalog JSON
top_adsDeprecated alias → Creative Center

Routing rules

  • CCL countries: AT BE BG HR CY CZ DK EE FI FR DE GR HU IS IE IT LV LI LT LU MT NL NO PL PT RO SK SI ES SE CH GB
  • Any other catalog country (including US, JP, BR, ALL, …) → Creative Center
  • Forcing ads_library on a non-CCL country fails loudly (no silent empty success)

Full Creative Center country / industry / objective / language / format codes live in
src/catalog/creative_center_filters.json.

Proxy guidance

PathRecommendation
CCL (FR, DE, GB, …)Apify RESIDENTIAL, apifyProxyCountry matching the search country
Creative Center (US, JP, …)Apify RESIDENTIAL + country (e.g. US). Sticky session-<id> is applied automatically so signature capture and API replay share the same IP

On the Apify platform, real CCL / Creative Center runs expect residential proxy. By default this Actor sets WORKER_PROVIDES_PROXY=1 so the Cloud Run worker uses its durable PROXY_URL (Actor does not mint/forward Apify proxyUrl). Unset that flag and set APIFY_PROXY_PASSWORD only if you need the Actor to mint a country-specific residential URL.

Example inputs

{
"runMode": "real",
"mode": "ads_library_search",
"source": "auto",
"query": "shopify",
"country": "FR",
"contentType": "ads",
"quickSearch": true,
"maxItems": 5,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "FR"
}
}

CCL with targeting detail

{
"runMode": "real",
"mode": "ads_library_search",
"query": "shopify",
"country": "FR",
"quickSearch": false,
"includeDetails": true,
"maxItems": 2,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "FR"
}
}

OCC + Ads (both)

{
"runMode": "fixture",
"mode": "ads_library_search",
"query": "shopify",
"country": "FR",
"contentType": "both",
"maxItems": 5
}

Global Creative Center (United States)

{
"runMode": "real",
"mode": "ads_library_search",
"source": "auto",
"query": "skincare",
"country": "US",
"period": 30,
"maxItems": 5,
"includeDetails": false,
"includeDiagnostics": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Creative Center with industry / objective filters

{
"runMode": "real",
"mode": "ads_library_search",
"country": "US",
"industries": ["label_16000000000"],
"objectives": ["conversions"],
"period": 30,
"maxItems": 20,
"maxFilterCombinations": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

More Actors like this

Use a specialized Actor when one exists for your workflow — structured fields, better coverage, usually lower cost than stitching scrapes yourself.

Ads Intelligence (closest matches)

Social & short-form video

Prefer a dedicated site scraper?

If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic URL scrape.

E-commerce (common TikTok Shop / DTC advertisers)

Jobs & Freelance

Real Estate

Travel & Stays

Local & Maps

General tools

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.


How to use (no code required)

  1. Click "Try for Free" at the top of this page
  2. Set runMode to real and leave mode as ads_library_search (default path)
  3. Enter a query (brand, product, or keyword) and a country (e.g. US, FR, JP)
  4. Leave source as auto — the Actor routes to Commercial Content Library (EEA/UK/CH) or Creative Center Top Ads elsewhere
  5. Set how many ads you want (maxItems) and click Start
  6. Open the Dataset tab — download results as Excel, CSV, or JSON

That's the whole workflow — pick a country and keyword, wait, download. CCL markets return library ads (and optional targeting detail); other markets return Creative Center Top Ads with performance-oriented creatives.

No TikTok advertiser login needed for the public library / Creative Center surfaces this Actor uses.

Tip: On free Apify plans this Actor caps 10 runs and 500 results per run (see free-tier table below). Use a small maxItems for the first smoke test.

Output fields (important)

FieldMeaning
dataSourcee.g. ads_library_live, occ_live, creative_center_live
contentTypeads, other_commercial, or top_ads
adTitleCreative caption / copy — not the advertiser name
advertiserName / brandNameAdvertiser display name (kept separate from adTitle)
adTypeReadable label when known (1→VIDEO, 2→IMAGE, …); unknown codes kept as-is
targetingByLocation / Age / GenderPresent on CCL detail enrichment
sourceRawOff by default (includeSourceRaw=false)

PPE charges only runMode=real successful items.

Free Apify plan limits (set by this Actor's developer)

LimitFree Apify planPaid Apify plan
Runs of this Actor10 runs totalUnlimited
Results per runUp to 500 (schema max)Up to 500

When the run cap is hit, the run finishes with a clear status message (FREE_TIER_LIMIT) — not an Apify platform error. Upgrade to a paid Apify plan for unlimited runs.

Diagnostics

Set includeDiagnostics=true to write key-value records such as RUN_SUMMARY, LIVE_DIAGNOSTICS, and capture dumps.

Creative Center summary / diagnostics include:

  • proxyEnabled, proxyGroups, proxyCountry
  • sessionId, gotoStatus, hasUserSign, retryAttempt, headerSource
  • failureClass when blocked: proxy_or_tunnel | missing_user_sign | list_empty

Creative Center sign env fallback

If browser bootstrap cannot capture signed headers, paste values from DevTools → Network → any creative_radar_api request:

Env varHeader
TT_USER_SIGNuser-sign
TT_TIMESTAMPtimestamp
TT_ANONYMOUS_USER_IDanonymous-user-id
TT_UA (optional)user-agent

On Apify: Actor → Settings → Environment variables. Sticky residential session-<id> keeps bootstrap and replay on the same IP.

Catalog refresh

{ "runMode": "real", "mode": "catalog_refresh", "period": 30, "locale": "en" }

Writes updated filters into src/catalog/creative_center_filters.json when the live filters API is reachable.

Local development

export PYTHONPATH=src
python3 -m pip install -r requirements.txt
npm ci
npm test
npm run test:py
# Fixture run
printf '%s\n' '{"runMode":"fixture","mode":"ads_library_search","query":"shopify","country":"FR","maxItems":2}' > INPUT.json
PYTHONPATH=.:src python3 -m src.main

Chrome / Chromium resolution order:

  1. TIKTOK_CHROME_EXECUTABLE
  2. /usr/bin/chromium (Docker / Linux)
  3. macOS Google Chrome / Chromium app paths

FAQ

What are the free Apify plan limits?

Free Apify plan users get 10 runs of this Actor and up to 500 results per run. These limits are set by the Actor developer (not Apify). When you hit the run cap, the run finishes with a clear status message (FREE_TIER_LIMIT) — it is not a platform bug. Upgrade to a paid Apify plan for unlimited runs.

Honest boundaries

  • CCL is not a global archive — it only covers supported EEA/UK/CH markets
  • Creative Center returns a Top Ads subset (high-performing auction creatives), not every ad that ran in a country
  • Field shapes differ between CCL and Creative Center; use dataSource / contentType to branch in your pipeline

All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ Browse the full profile: apify.com/lentic_clockss