TikTok Ads Intelligence (CCL + Creative Center)
Pricing
$1.00 / 1,000 result items
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
One Actor for TikTok ad intelligence worldwide:
- Commercial Content Library (CCL) —
library.tiktok.comfor EEA / UK / Switzerland- Paid ads (
contentType=ads) - Other Commercial Content (
contentType=other_commercialorboth) - 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
- Paid ads (
- 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_URLfrom Actor environment variables (plus optional per-runworkerBaseUrl). If you migrate the worker to a new host, updateWORKER_BASE_URL(andWORKER_AUTHif the API key changes) in Apify Console — no Actor code change required. SetWORKER_PROVIDES_PROXY=1when the worker supplies its ownPROXY_URLinstead 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-signvs empty list - Pay-per-event: only successful
runMode=realitems are charged
Modes
| mode | Purpose |
|---|---|
ads_library_search | Primary path (auto-routed by country) |
ads_library_probe | Diagnostics / API discovery |
catalog_refresh | Refresh Creative Center filters catalog JSON |
top_ads | Deprecated 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_libraryon 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
| Path | Recommendation |
|---|---|
| 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
CCL Ads Library (France, quick search)
{"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)
- Facebook Ad Library Scraper — Meta / Instagram ad creatives and transparency data
- Google Ads Transparency VN — Google / YouTube ads transparency (Vietnam)
Social & short-form video
- TikTok Scraper — organic TikTok profiles, videos, and engagement (pair with ad intel for full-funnel research)
- YouTube Shorts Scraper — short-form video trends and creators
- YouTube Research Scraper — keyword / search-based YouTube research
- Reddit Scraper
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)
- Shopee Search Scraper
- Lazada Scraper
- SHEIN Product Scraper
- Temu Product Scraper
- Amazon Search Scraper
- Etsy Scraper
- Walmart Product Scraper
- E-commerce Scraper
Jobs & Freelance
- LinkedIn Jobs Scraper
- Indeed Jobs Scraper
- Upwork Jobs Scraper
- Glassdoor Scraper
- Fiverr Gigs Scraper
- Bayt Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- Apartments.com Rental Scraper
- Rightmove Scraper
- Idealista Scraper
- realestate.com.au Scraper
Travel & Stays
Local & Maps
General tools
- Stealth Web Scraper — protected landing pages and advertiser sites behind anti-bot
- Email Risk Validator
- Phone Number Intelligence
→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.
How to use (no code required)
- Click "Try for Free" at the top of this page
- Set
runModetorealand leavemodeasads_library_search(default path) - Enter a query (brand, product, or keyword) and a country (e.g.
US,FR,JP) - Leave
sourceasauto— the Actor routes to Commercial Content Library (EEA/UK/CH) or Creative Center Top Ads elsewhere - Set how many ads you want (
maxItems) and click Start - 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)
| Field | Meaning |
|---|---|
dataSource | e.g. ads_library_live, occ_live, creative_center_live |
contentType | ads, other_commercial, or top_ads |
adTitle | Creative caption / copy — not the advertiser name |
advertiserName / brandName | Advertiser display name (kept separate from adTitle) |
adType | Readable label when known (1→VIDEO, 2→IMAGE, …); unknown codes kept as-is |
targetingByLocation / Age / Gender | Present on CCL detail enrichment |
sourceRaw | Off by default (includeSourceRaw=false) |
PPE charges only runMode=real successful items.
Free Apify plan limits (set by this Actor's developer)
| Limit | Free Apify plan | Paid Apify plan |
|---|---|---|
| Runs of this Actor | 10 runs total | Unlimited |
| Results per run | Up 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,proxyCountrysessionId,gotoStatus,hasUserSign,retryAttempt,headerSourcefailureClasswhen 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 var | Header |
|---|---|
TT_USER_SIGN | user-sign |
TT_TIMESTAMP | timestamp |
TT_ANONYMOUS_USER_ID | anonymous-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=srcpython3 -m pip install -r requirements.txtnpm cinpm testnpm run test:py# Fixture runprintf '%s\n' '{"runMode":"fixture","mode":"ads_library_search","query":"shopify","country":"FR","maxItems":2}' > INPUT.jsonPYTHONPATH=.:src python3 -m src.main
Chrome / Chromium resolution order:
TIKTOK_CHROME_EXECUTABLE/usr/bin/chromium(Docker / Linux)- 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/contentTypeto branch in your pipeline
Related Actors
All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.
Jobs & Freelance
- LinkedIn Jobs Scraper
- Bayt Jobs Scraper
- Fiverr Gigs Scraper
- Freelancer.com Scraper
- Glassdoor Scraper
- Himalayas Jobs Scraper
- Indeed Jobs Scraper
- Jobicy Remote Jobs Scraper
- RemoteOK Jobs Scraper
- SEEK Jobs Scraper
- Upwork Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- 99.co Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Bayut Scraper
- Craigslist Housing Scraper
- Daft.ie Scraper
- Dot Property Scraper
- FINN.no Scraper
- Funda Scraper
- Hepsiemlak Scraper
- Idealista Scraper
- Immobiliare.it Scraper
- ImmoScout24 Scraper
- Naver Land Scraper
- OpenSooq Scraper
- Otodom Scraper
- Property Finder Scraper
- PropertyGuru Scraper
- realestate.com.au Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- SeLoger Scraper
- SUUMO Scraper
- Zillow Group Scraper
E-commerce
- Shopee Search Scraper
- E-commerce Scraper
- 1688 Global Product Search Scraper
- Allegro Scraper
- Amazon Search Scraper
- ASOS Product Scraper
- Cdiscount Product Scraper
- Costco Product Scraper
- Coupang Product Scraper
- Etsy Scraper
- Lazada Scraper
- MercadoLibre Scraper
- Mercari Japan Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
- Target Product Scraper
- Temu Product Scraper
- Walmart Product Scraper
Travel & Stays
- Booking.com & Airbnb Scraper
- Agoda Scraper
- Airbnb Listings Scraper
- Booking.com Hotels Scraper
- Despegar Scraper
- Expedia Scraper
- Traveloka Scraper
- Travelstart Flights Scraper
- Trip.com Scraper
- TripAdvisor Scraper
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ Browse the full profile: apify.com/lentic_clockss