TikTok Creative Center Top Ads Scraper
Pricing
from $0.11 / 1,000 ad records
TikTok Creative Center Top Ads Scraper
Export public TikTok Creative Center Top Ads by keyword, country, period, industry, objective, language, and format with ad copy, videos, images, and performance signals.
Pricing
from $0.11 / 1,000 ad records
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
Search and export public TikTok Creative Center Top Ads by keyword, country, period, language, industry, objective, format, and sort mode. This Actor covers Creative Center's curated high-performing ads; it does not claim to be TikTok's complete EU Commercial Content Library.
Use this Actor to collect TikTok ad examples, creative metadata, landing-page links, media URLs, and public performance indicators for competitive ad research, creative strategy, ecommerce analysis, agency reporting, and marketing intelligence. Results can be downloaded as CSV, JSON, Excel, XML, RSS, or used through the Apify Dataset API.
At a glance
- TikTok Creative Center export: Collect public Top Ads records from TikTok Creative Center.
- Ad search filters: Search by brand, product, keyword, market, period, language, industry, objective, ad format, and sort mode.
- Creative metadata: Export ad text, brand names, advertiser names, detail URLs, landing-page URLs, video URLs, cover images, and duration.
- Public metrics: Save public Creative Center signals such as likes, CTR labels, cost index, country, language, and period.
- API export: Send ad records to spreadsheets, research decks, BI tools, creative databases, or AI agents.
- Reliable run outcomes: Retry temporary failures, preserve successful rows from mixed inputs, and inspect
RUN_SUMMARYfor empty, partial, or failed sources.
Ready-to-run examples
Use these saved Store examples as starting points. Open any example to prefill the Actor input, then adjust URLs, keywords, limits, or filters for your own run.
- TikTok fashion ads in the UK
- TikTok phone ads competitive research
- TikTok mobile game ads research
- TikTok top ads in the UK for the last 7 days
- TikTok top ads in the US for the last 7 days
What can it do?
TikTok Creative Center Top Ads Scraper extracts public ad records from TikTok Creative Center Top Ads and saves one dataset row per unique ad.
- Search public ads: Use keywords or Creative Center URLs to find ads around brands, products, categories, or topics.
- Filter by market: Add country codes, languages, industry keys, objective keys, ad format, and lookback period.
- Collect creative links: Save public detail pages, landing pages, video URLs, and cover images when available.
- Compare public metrics: Export Creative Center public signals such as likes, CTR labels, and cost index.
- Build repeatable research: Schedule recurring competitor or category monitoring and export results through the API.
- Cover multiple searches fairly: Multi-country and multi-keyword runs rotate across source combinations instead of exhausting the first search.
Common workflows
- Competitive ad intelligence: Monitor how brands, products, and competitors appear in public TikTok ad examples.
- Creative research: Build a swipe file of hooks, offers, covers, landing pages, and ad text.
- Ecommerce analysis: Track public ads by product category, region, language, and objective.
- Agency reporting: Export ad examples into spreadsheets, BI tools, or research decks.
- Market monitoring: Compare public ad patterns across regions and lookback periods.
- AI workflows: Feed ad text, URLs, and metadata into classification, summarization, or creative analysis tools.
What data can you extract?
The Actor returns one dataset row per public TikTok Creative Center ad record.
| Field | Description |
|---|---|
adId | TikTok Creative Center ad identifier |
detailUrl | Public Creative Center detail URL |
brandName | Brand name when available |
advertiserName | Advertiser name when available |
adText | Public ad title or caption text |
landingPageUrl | Landing page URL when available |
videoUrl | Public creative video URL when available |
videoUrls | Available CDN resolutions keyed by quality |
mediaExpiresAt | Expiry timestamp parsed from signed media URLs when present |
coverImageUrl | Creative thumbnail image |
durationSeconds | Video duration |
likes | Public like count label when available |
ctr | Public CTR metric when available |
costIndex | Public cost index when available |
industryKey | TikTok industry key |
objectiveKey | TikTok objective key |
countryCode | Market used for the search |
language | Ad language when available |
adFormat | Ad format when available |
keyword | Keyword used for the search |
periodDays | Lookback period in days |
source, sourcePage | Creative Center provenance and source page |
scrapedAt | Timestamp of extraction |
Pricing
This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.
| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
|---|---|---|---|---|---|---|---|
apify-actor-start | Once per run at the current 512 MB memory setting | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 |
apify-default-dataset-item | Per TikTok ad record saved in the default dataset. | $0.20537 / 1,000 | $0.17858 / 1,000 | $0.13929 / 1,000 | $0.10715 / 1,000 | $0.07143 / 1,000 | $0.05 / 1,000 |
Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.
Input configuration
| Setting | JSON key | Use it for | Example |
|---|---|---|---|
| Keywords | keywords | Optional ad text, brand, product, or topic searches. | ["skincare"] |
| Regions / country codes | regions | TikTok Creative Center country codes. | ["US", "GB"] |
| Maximum ads | maxItems | Cap saved ad rows and spend. | 20 |
| Time period | period | Creative Center lookback window in days. | 7 |
| Industry keys | industries | Optional TikTok industry/category keys. | ["ecommerce"] |
| Objective keys | objectives | Optional campaign objective keys. | ["conversions"] |
| Ad languages | languages | Optional language codes. | ["en"] |
| Ad format | adFormat | Optional TikTok ad format key. | video |
| Sort by | sortBy | Creative Center ranking mode. | for_you |
| Creative Center URLs | startUrls | Optional Top Ads URLs whose query parameters are used as hints. | [{"url":"https://ads.tiktok.com/business/creativecenter/inspiration/topads/pc/en?countryCode=US&period=7"}] |
| Maximum retries | maxRetries | Bound retries for temporary HTTP, rate-limit, network, and index errors. | 3 |
| Runtime safety limit | runtimeSafetySecs | Stop new requests before the platform timeout and preserve completed rows. | 240 |
| Proxy configuration | proxyConfiguration | Optional Apify Proxy routing when direct requests are blocked. | {"useApifyProxy":false} |
Example input
{"keywords": ["skincare"],"regions": ["US"],"period": "7","sortBy": "for_you","maxItems": 20}
Example output
{"adId": "123456789","brandName": "Example Brand","advertiserName": "Example Advertiser","adText": "A public TikTok ad caption...","detailUrl": "https://ads.tiktok.com/business/creativecenter/topads/...","landingPageUrl": "https://example.com/product","videoUrl": "https://...","coverImageUrl": "https://...","durationSeconds": 18,"likes": 189,"ctr": 0.14,"costIndex": 1,"industryKey": "beauty","objectiveKey": "conversions","countryCode": "US","language": "en","adFormat": "video","keyword": "skincare","periodDays": 7,"source": "creative_center","sourcePage": 1,"scrapedAt": "2026-06-20T00:00:00.000Z"}
How to run it
- Open the Actor on Apify.
- Enter keywords or leave keywords empty for top ads in a market.
- Add one or more region codes.
- Choose period, sort mode, and optional language, industry, objective, or format filters.
- Set
maxItems. - Start the run and export the dataset.
Search tips
- Start with one region: Use one market first so you can understand the returned ads.
- Use product-language keywords: Search terms such as
skincare,running shoes, or brand names usually produce clearer research sets. - Compare sort modes: Try
for_you,ctr,like, orcostdepending on your research goal. - Keep filters light: Industry and objective keys are useful only when you know the Creative Center values you need.
- Schedule snapshots: Run the same market and keyword set weekly to compare public ad examples over time.
- Widen sparse searches: Creative Center can have no Top Ads for a narrow 7-day query; try 30 or 180 days before treating the source as unavailable.
Limits and caveats
- The Actor extracts public TikTok Creative Center data only.
- It does not access private advertiser accounts, campaign spend, targeting, account dashboards, or non-public ads.
- Some fields are empty when Creative Center does not expose them for an ad.
- Public metrics are Creative Center labels/signals and should be treated as research indicators, not full campaign analytics.
- Creative Center is a curated Top Ads surface, not a complete archive of every TikTok ad.
- Signed TikTok CDN media links expire. Use
mediaExpiresAtwhen present and rerun the Actor to refresh links. - Brand or advertiser fields are often unavailable for creator/UGC ads, and landing pages are not present on every search row.
Integrations
You can connect TikTok ad data to downstream tools:
- Export CSV or Excel to creative research spreadsheets.
- Save ad examples into Airtable, Notion, or an internal creative database.
- Send recurring research rows to BI dashboards.
- Trigger webhooks after competitor monitoring runs.
- Combine ad outputs with TikTok profile, hashtag, video, and trends datasets.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/tiktok-ads-library-scraper').call({keywords: ['skincare'],regions: ['US'],period: '7',maxItems: 20});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/tiktok-ads-library-scraper').call(run_input={'keywords': ['skincare'],'regions': ['US'],'period': '7','maxItems': 20,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~tiktok-ads-library-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"keywords":["skincare"],"regions":["US"],"period":"7","maxItems":20}'
MCP and AI agents
This Actor can be used through the official Apify MCP server at https://mcp.apify.com.
For a focused single-Actor tool setup, use:
https://mcp.apify.com?tools=fetch_cat/tiktok-ads-library-scraper
Claude CLI setup:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/tiktok-ads-library-scraper"
Claude Desktop configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/tiktok-ads-library-scraper"}}}
Example prompts:
- “Export 20 US skincare Top Ads from the last 30 days and summarize the most common hooks.”
- “Compare Creative Center Top Ads for
USandGB, then return the dataset link and anyRUN_SUMMARYwarnings.”
Use the same JSON keys shown in the input configuration table, such as keywords, regions, period, maxItems, sortBy, and startUrls.
FAQ
Can I scrape TikTok ads without logging in?
Yes. This Actor targets public TikTok Creative Center data.
Can I filter by country?
Yes. Use the regions input with Creative Center country codes such as US, GB, DE, or JP.
Does it get private campaign data?
No. It extracts public Creative Center ad examples and metadata only.
Can I monitor competitors over time?
Yes. Use Apify schedules with the same keywords, markets, and period settings.
Why did a valid search return no rows?
Creative Center's Top Ads index can be sparse for narrow keywords and short periods. A valid no-match run reports EMPTY_SOURCE; broaden the keyword or choose 30 or 180 days. Invalid country codes and foreign startUrls fail explicitly instead of silently falling back to unrelated US ads.
Does this include TikTok's EU Commercial Content Library?
No. It exports the global Creative Center Top Ads surface. The EU transparency library is a different source with different country limits, advertiser fields, delivery dates, and reach ranges.
Related Actors
- TikTok Profile Scraper
- TikTok Hashtag Scraper
- TikTok Video Scraper
- TikTok Trends Scraper
- Instagram Stories & Highlights Scraper
Support
If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.
Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.
Privacy and data handling
This Actor processes the filters and public Creative Center ad records needed for your run. Results and RUN_SUMMARY stay in your Apify run storage. It does not access private advertiser accounts, private campaign analytics, or non-public targeting data. You are responsible for using the exported public data and media links lawfully and for following TikTok's applicable terms.