Search and export public TikTok Creative Center Top Ads by keyword, region, period, language, industry, objective, and sort mode.
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.
What can it do?
TikTok Ads Library Scraper extracts public ad records from TikTok Creative Center Top Ads and saves one dataset row per 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.
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 |
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 |
scrapedAt |
Timestamp of extraction |
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": "10K",
"ctr": "High",
"costIndex": "Low",
"industryKey": "beauty",
"objectiveKey": "conversions",
"countryCode": "US",
"language": "en",
"adFormat": "video",
"keyword": "skincare",
"periodDays": 7,
"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.
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.
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 ApifyClient
import os
client = 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().items
print(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
Use the same JSON keys shown in the input configuration table, such as keywords, regions, period, maxItems, sortBy, and startUrls.
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.