TikTok Top Ads Scraper: Creative Center Ads Library avatar

TikTok Top Ads Scraper: Creative Center Ads Library

Pricing

from $1.98 / 1,000 tiktok top ads

Go to Apify Store
TikTok Top Ads Scraper: Creative Center Ads Library

TikTok Top Ads Scraper: Creative Center Ads Library

Collect public TikTok Top Ads from Creative Center: filter by country, industry, objective, period or keyword. Export engagement, relative CTR/spend tiers, creative URLs, landing pages and nullable ad details. Pay per saved ad; details included.

Pricing

from $1.98 / 1,000 tiktok top ads

Rating

0.0

(0)

Developer

GoFetch

GoFetch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Categories

Share

TikTok Top Ads from Creative Center

Collect public TikTok Top Ads from the Creative Center ads library for creative research, campaign planning and reporting. Filter the public ranking by country, industry, advertising objective, reporting period or keyword. Each dataset item represents one unique ad. Optional detail requests enrich that same item with comments, shares, landing pages and the countries TikTok exposes.

This actor reads public Creative Center data over HTTP without a TikTok account, cookies or a browser. It covers Top Ads only. Availability, ranking and the number of visible ads depend on TikTok; it does not provide a complete archive of every advertisement.

TikTok Top Ads mascot

What data you get

  • Ad ID, title and brand name.
  • Likes, comments and shares where available.
  • The upstream CTR ranking value and a readable top-percent label, plus the relative spend tier. These are ranking indicators, not exact click-through rates or advertising spend.
  • Industry and objective keys, with the additional objectives exposed by detail.
  • Video URLs at available resolutions, cover image, duration, width and height.
  • Landing page, country list, keywords, patterns and the voice-over flag when TikTok supplies them.

Missing upstream information remains null; an empty upstream list stays an empty list. Video and cover URLs can expire. The actor returns those URLs without downloading videos.

How to use it

In the Apify Console, select a country, keep Include ad details enabled, set a small maximum and start the actor. Download the dataset as JSON, CSV or Excel. To target a niche, add a keyword or one of Creative Center's numeric industry/objective IDs. IDs can be inspected in its public top_ads/v2/filters endpoint. For example, objective 3 means Conversions.

The API input follows the same structure:

{
"region": "US",
"period": 180,
"sort": "for_you",
"keyword": "coffee",
"includeDetails": true,
"maxItems": 100,
"proxyConfiguration": { "useApifyProxy": true }
}
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('xmolodtsov/tiktok-top-ads-scraper').call({
region: 'US', includeDetails: true, maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Apify integrations and MCP clients can use the same actor input and dataset output. Keep the token in your client configuration or environment.

Pricing and free plan

One saved ad is one apify-default-dataset-item event. Ad detail is included in that price, with no separate detail or start fee. Duplicates are removed within a run, including after a platform migration or reboot. Writes stop when the run’s maximum charge is reached.

Apify planPrice per 1,000 saved ads
FREE$2.83
BRONZE$2.55
SILVER$2.27
GOLD$1.98

Platinum and Diamond use the Gold price. Tiers follow your Apify subscription plan. You pay for the ads saved, including list rows whose optional detail is unavailable.

Is it free? Users on Apify's free plan can request up to 100 ads per run and 20 runs per calendar month (UTC). These are developer limits, not limits imposed by Apify. Free runs always use Apify Proxy. Once the monthly quota is exhausted, the actor exits successfully with no dataset items and an explanatory status message. Any paid Apify plan removes these developer caps; upstream result availability still applies. Apify daily tests and allow-listed maintenance accounts are exempt.

Input

FieldDefaultMeaning
regionUSTwo-letter country code supported by Creative Center
industryemptyNumeric industry ID; empty means all
objectiveemptyNumeric advertising objective ID; empty means all
period180Last 7, 30 or 180 days
sortfor_youfor_you, like or ctr
keywordemptyOptional ad search phrase
includeDetailstrueEnrich each ad from its public detail response
maxItems100Maximum unique ads; the prefill requests 3
proxyConfigurationApify ProxyDatacenter by default; explicit alternatives are for paid users

The endpoint exposes a finite ranked collection. A high maxItems does not guarantee that many matching ads. The actor stops when pagination ends or reaches TikTok's 25-page boundary. Sort direction is determined by TikTok's ranking; there is no independent ascending/descending switch.

Output

Real TikTok Top Ads dataset preview

A captured public ad illustrates the mapped fields (media URLs omitted here):

{
"adId": "7129870371563241474",
"adTitle": "Custom Name Sign 50% Off",
"brandName": "divinef8",
"likes": 27939,
"comments": 276,
"shares": 5197,
"ctr": 0.28,
"ctrTier": "Top 28%",
"spendTier": "High",
"costTier": 2,
"countryCodes": ["US", "CA"],
"keywords": null,
"patterns": [],
"voiceOver": false,
"detailStatus": "ok"
}

detailStatus is ok, skipped when details were disabled, or failed when a public detail could not be fetched. Failed detail leaves the valid list row available with nullable enrichment fields. detailsUrl links to Creative Center and scrapedAt records the collection time. The Overview dataset view highlights the main research fields. The run's key-value store contains STATISTICS, including transferred compressed response bytes and request counts. After a migration, restoredItems identifies rows recovered from the dataset. Request and byte counters describe the current process; totalPushed includes all saved rows, and the byte-per-1,000 metric uses newly saved rows only.

Guarantees and failure behavior

The actor retries network, throttling and API failures up to three times with a fresh guest identity and proxy session. It stops immediately on a signer rejection or a login requirement. It never switches silently to a more expensive proxy type.

A run fails when it cannot obtain any valid list response or when its configuration prevents collection. A valid empty list succeeds with empty: in its status. Runs with saved ads succeed even if a later request fails, with partial: and the reason in the status. A runtime guard finishes before the configured platform timeout and preserves saved items. The default platform timeout is one hour, so larger requests can finish beyond five minutes; the tiny three-ad prefill remains the daily health test. Check detailStatus and STATISTICS when deciding whether to retry a partial result.

Integrations

Export datasets to spreadsheets, reporting tools or your data pipeline using Apify's dataset API and integrations. Schedule recurring research in Apify to compare snapshots. IDs provide a stable key for comparing ads across runs; ranking and performance fields are snapshots rather than historical time series.

More scrapers from this developer

TikTok: TikTok Search Scraper: videos and creators for any keyword, pay per result · TikTok Profile Scraper (Pay Per Result): profiles, followers and latest posts by username · TikTok Comments Scraper: comments and full reply threads from any video · TikTok Hashtag Scraper: videos for any hashtag, with views, likes and music · TikTok Sound & Music Scraper: videos that use a sound or song

Social & news: Reddit Search Scraper: posts by keyword, subreddit or author · Google News Scraper: Google News results as clean full-text articles

E-commerce: Prom.ua Product Search Scraper: Prom.ua product search results, no browser needed · Amazon Product Search & Bestsellers Scraper: search results, Best Sellers and product details from Amazon · AliExpress Search Scraper: aliExpress products by keyword with prices, orders and shipping

Maps & leads: Google Maps Scraper: places, leads and emails from Google Maps

Ads: Facebook Ad Library Scraper (Meta Ads Library): ads from the Meta Ad Library, with EU reach and payers · Google Ads Transparency Scraper: Google ad creatives by advertiser or domain, with regional details

Video: YouTube Transcript Scraper: transcripts, subtitles and captions from YouTube videos · YouTube Shorts Scraper: Shorts of any channel with exact views, likes and duration · YouTube Channel Scraper: every video of a channel, with channel stats · YouTube Search Scraper: search results and videos for any keyword · YouTube Comments Scraper: comments, replies and likes from any video

FAQ

Does it require a TikTok login?

No. This actor uses public Creative Center list and detail responses. If TikTok starts requiring authentication, collection stops rather than accepting credentials.

Use this actor only for public data you are entitled to process. You are responsible for your intended use, applicable terms, intellectual-property rights and any privacy obligations, including GDPR or CCPA where relevant. Access to a public ad does not grant permission to reuse its creative assets. This actor does not collect private-account data or offer contact enrichment.

Why are some fields missing?

Creative Center varies the fields exposed for different ads. Detail can also be temporarily unavailable. null means unavailable, while detailStatus tells you whether enrichment was attempted successfully.

Can it return exact spend or every ad?

Creative Center supplies relative indicators and a limited ranked collection. This actor preserves those limitations and does not infer an exact budget, exact CTR or a full advertising archive.

Support

For a reproducible issue, use the actor's Apify issue tracker and include the run ID, input filters and the field or status that surprised you. Never share API tokens or proxy credentials.