Trending Videos Insights and Branded Hashtag Views & Likes avatar

Trending Videos Insights and Branded Hashtag Views & Likes

Pricing

$19.99/month + usage

Go to Apify Store
Trending Videos Insights and Branded Hashtag Views & Likes

Trending Videos Insights and Branded Hashtag Views & Likes

The TikTok Trending Videos Insights Scraper collects real-time trending videos with views, likes, comments, shares, creators, sounds, and hashtag analytics. Get structured JSON or CSV for trend research, content strategy, influencer insights, and market analysis.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Share

TikTok Ads Scraper — Extract Cost, CTR and Engagement Data

TikTok Ads Scraper pulls live ad-creative rows from TikTok Ads Creative Center's public Top Ads feed and returns them as structured JSON — brand name, likes, CTR, and cost for every ad, plus derived cost-per-like, an engagement score, and a percentile rank computed on the pulled batch. No manual Creative Center exports, no dashboard screenshotting. Run it directly on Apify to start pulling ad performance data by market.

What is TikTok Ads Scraper?

TikTok Ads Scraper is an Apify Actor that drives TikTok Ads Creative Center's public "Top Ads" inspiration page, captures its signed API request, and replays it to collect ad-creative performance rows — brand, industry, objective, CTR, cost, likes, duration, and every video resolution — then computes cost-efficiency analytics on top. No TikTok account or login is required; the Actor reads only the publicly accessible Creative Center inspiration surface. It's built for media buyers, performance marketers, and agencies benchmarking TikTok ad spend and creative cost-efficiency.

What data can I extract with TikTok Ads Scraper?

TikTok Ads Scraper returns one row per ad creative, combining raw Creative Center fields with derived cost/engagement metrics.

Field NameDescription
id / item_idUnique identifiers for the ad and its underlying video
titleThe ad's headline/caption text
brandNameThe advertiser's display name on the creative
industryNameHuman-readable industry label (e.g. "Beauty Personal Care")
objectiveNameHuman-readable campaign-objective label (e.g. "App Promotion")
aspectRatioSimplified W:H ratio computed from the video's real width/height
durationBucket<15s / 15-30s / 30-60s / 60s+ classification
durationRaw video duration in seconds
likesRaw like count reported by Creative Center
ctrRaw click-through rate reported by Creative Center
costRaw ad spend/cost field reported by Creative Center
costPerLikeDerived: cost ÷ likes, cost-efficiency metric
engagementScoreDerived: likes × (1 + ctr), a composite popularity/efficiency score
percentileRankThis ad's likes rank (0–100) within the pulled batch
rankByAppliedWhich ranking mode (topPicks/highestCtr) produced this row
item_urlBest available video URL
videoVariantsMap of every available CDN resolution (720p/480p/360p)
coverVideo thumbnail (cover image) URL
width / heightReal pixel dimensions of the video
country_code / regionThe ad market this row was pulled from
scrapedAtUTC timestamp of collection

Identity and creative fields

id, item_id, title, brandName, industryName, objectiveName, aspectRatio, durationBucket, duration, item_url, videoVariants, cover, width, height, country_code, region.

Performance and cost metrics

likes, ctr, cost, costPerLike, engagementScore, percentileRank, rankByApplied, scrapedAt.

The full JSON row also carries a small set of base-compatibility duplicate keys (like, brand_name, industry_key, objective_key, rank_order_applied, scraped_at) alongside their renamed equivalents above — kept for backward compatibility with older integrations, not shown in the default dataset view.

🤖 Add-on: Need additional TikTok data?

If you need organic content instead of paid ads, pair this Actor with TikTok Trending Hashtags And Videos Scraper for trending hashtag rankings and their real top videos, or TikTok Trending Videos Scraper With Author Profile for organic videos with full creator/author profiles attached. Neither overlaps with this Actor's ad-creative data — they cover TikTok's organic feed, not Creative Center's Top Ads.

Why not build this yourself?

TikTok Ads Creative Center does not expose a public developer API for its Top Ads data — the "Top Ads" inspiration feed is a signed, browser-only endpoint (ads.tiktok.com/creative_radar_api/v1/top_ads/v2/list) that requires a valid user-sign header captured from a live browser session. Building and maintaining that signing capture, plus rotating proxies when TikTok blocks a request, is ongoing engineering work most teams would rather not own. TikTok Ads Scraper handles the browser session, header capture, and proxy fallback, and adds cost/engagement analytics on top, so you get a ready dataset instead of a scraping project.

How to use TikTok Ads Scraper

TikTok Ads Scraper runs directly on the Apify platform — no API keys or TikTok login needed.

  1. Open TikTok Ads Scraper on its Apify Store listing and click Start, or create a run via the Apify Console/API.
  2. All input fields are optional — leave everything at default to pull the last 7 days of US Top Picks ads, or set targetMarket (e.g. US, GB, AU) to target a different ad market.
  3. Optionally set rankBy (topPicks or highestCtr), adLimit, lookbackDays, minLikes, or maxCostPerAd to narrow the batch.
  4. Start the run.
  5. Download results as JSON, CSV, Excel, or another supported format once the run finishes.

How to scale to bulk TikTok video insights extraction

The input schema has no multi-market array — each run covers a single targetMarket. To cover multiple countries, start one run per country code (directly, via the API, or scheduled), and raise adLimit (up to 1000) within a single run to pull more ads per market instead of paginating manually.

What can you do with TikTok video insights data?

  • A media buyer benchmarking creative cost uses costPerLike and cost to rank competitor ads by spend efficiency before setting a campaign budget.
  • An agency building client reports uses engagementScore and percentileRank to show which creatives outperform the rest of the pulled batch, not just raw like counts.
  • A market researcher tracking category trends uses industryName and objectiveName to see which industries and campaign objectives dominate the Top Ads feed in a given country.
  • A creative strategist studying format patterns uses durationBucket, aspectRatio, and videoVariants to study what length and shape of video wins in top ads.
  • An AI/LLM pipeline can ingest the typed JSON rows directly — feeding title, brandName, and costPerLike into a RAG index or agent tool for automated competitive-ad-spend research, with no HTML parsing required.

How does TikTok Ads Scraper handle rate limits and blocking?

TikTok Ads Scraper drives a real headless Chromium session (via Playwright) to capture Creative Center's signed request headers, then replays the signed API call through that same browser context. If the configured proxy is rejected or the signed headers can't be captured, the Actor automatically retries against a fresh residential proxy IP, escalating through several attempts before giving up. Each Top Ads API request is retried up to 3 times with exponential backoff on transient failures; validation or permission errors from TikTok are not retried since a retry wouldn't fix them. Because Creative Center serves roughly 20 ads per page per market/period/ranking combination, the Actor sweeps both available ranking orders and paginates up to a fixed page-fetch cap to reach a higher adLimit. If a run finds no matching ads (given the filters applied), the Actor reports this in the run status message rather than silently returning nothing.

⬇️ Input

All parameters are optional — none are required.

ParameterRequiredTypeDescriptionExample Value
targetMarketNoStringTwo-letter country code for the ad market to analyze. Default: US."AU"
rankByNoStringRanking mode: topPicks (TikTok's recommended feed) or highestCtr (sorted by click-through rate). Default: topPicks."highestCtr"
adLimitNoIntegerMaximum number of ad rows to collect, after filters are applied (1–1000). Default: 100.50
lookbackDaysNoIntegerHow many days back the Top Ads window covers (1–30). Default: 7.7
minLikesNoIntegerOnly keep ads with at least this many likes. 0 = no filter. Default: 0.500
maxCostPerAdNoNumberOnly keep ads whose cost field is at or below this value. 0 = no cap. Default: 0.200
proxyConfigurationNoObjectProxy configuration for the underlying browser session. Falls back to a residential proxy automatically if the connection is rejected.{"useApifyProxy": false}

Example input

{
"targetMarket": "US",
"rankBy": "highestCtr",
"adLimit": 50,
"lookbackDays": 7,
"minLikes": 500,
"maxCostPerAd": 200,
"proxyConfiguration": {
"useApifyProxy": false
}
}

⬆️ Output

TikTok Ads Scraper writes typed, normalized JSON rows to the Apify dataset with a consistent schema across runs. Export as JSON, CSV, Excel, XML, or HTML directly from the Apify Console or API.

Example output

[
{
"country_code": "US",
"cover": "https://p16-sign.tiktokcdn.com/cover.jpg",
"duration": 20,
"id": "7567957332919913736",
"item_id": "7567957332919913736",
"item_url": "https://v16.tiktokcdn.com/video-720p.mp4",
"region": "US",
"title": "Sample ad headline",
"brandName": "Acme Corp",
"likes": 5200,
"ctr": 0.031,
"cost": 1800,
"industryName": "Beauty Personal Care",
"objectiveName": "App Promotion",
"width": 576,
"height": 1024,
"aspectRatio": "9:16",
"videoVariants": {
"720p": "https://v16.tiktokcdn.com/video-720p.mp4",
"480p": "https://v16.tiktokcdn.com/video-480p.mp4"
},
"costPerLike": 0.3462,
"engagementScore": 5361.2,
"durationBucket": "15-30s",
"percentileRank": 87.5,
"rankByApplied": "highestCtr",
"rank_order_applied": "ctr",
"scrapedAt": "2026-07-13T12:00:00Z"
}
]

How does it work?

TikTok Ads Scraper opens a real headless Chromium browser session against TikTok Ads Creative Center's public Top Ads page and waits for the page to fire its own signed request to the top_ads/v2/list endpoint. It captures that request's signing headers, then replays the same signed request through the browser's API context to pull additional pages of ad rows for the selected market, period, and ranking mode. Cost-per-like, engagement score, percentile rank, and other derived fields are computed locally from the raw fields TikTok returns — nothing is estimated or fabricated when the underlying number is missing. Only Creative Center's publicly visible Top Ads data is returned, and the output schema stays stable even if TikTok changes its Creative Center UI.

Integrations

TikTok Ads Scraper runs on the Apify platform, so it works with anything that can call the Apify API.

Calling TikTok Ads Scraper programmatically

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("scraper-engine/tiktok-trending-videos-insights-and-branded-hashtag-views-likes").call(
run_input={"targetMarket": "US", "rankBy": "highestCtr", "adLimit": 50}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["brandName"], item["costPerLike"])

Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request.

No-code tools (n8n, Make, LangChain)

In n8n, use the HTTP Request node (or the Apify node) pointed at the Actor's run endpoint with your API token to trigger a run and pull the resulting dataset. In Make, the Apify app module can start this Actor and pass its output straight into a downstream scenario. In LangChain, wrap the Apify Actor call in a custom Tool so an agent can trigger a run and read the JSON dataset as context.

Scraping publicly accessible data is generally legal in most jurisdictions; TikTok Ads Scraper only reads TikTok Ads Creative Center's public Top Ads inspiration page — no login and no private account data. The rows returned are advertiser/brand and creative-performance data (brand name, cost, CTR, likes), not personal data about individual creators, so this falls under standard business-data and Terms-of-Service considerations rather than a personal-data regime like GDPR/CCPA. Always review TikTok's Terms of Service for your use case, and consult legal counsel if your use case involves bulk storage or commercial redistribution of this data.

Frequently asked questions

What TikTok ad fields does TikTok Ads Scraper return?

TikTok Ads Scraper returns brandName, likes, ctr, cost, and costPerLike as its core fields, alongside industry, objective, duration, and full video resolution data. See the data fields section above for the complete list.

Does TikTok Ads Scraper require a TikTok account or login?

No. The Actor reads only TikTok Ads Creative Center's publicly accessible Top Ads inspiration page and does not require a TikTok account, login, or session cookie.

How many ads can I extract in one run?

adLimit accepts up to 1000 ad rows per run. Because Creative Center serves roughly 20 ads per page per market/ranking combination, reaching higher limits requires the Actor to sweep both ranking orders and paginate, which the Actor does automatically.

What happens if a market or filter combination returns zero ads?

The run finishes with an empty dataset and the Actor sets a status message explaining the likely cause (the targetMarket/lookbackDays/minLikes/maxCostPerAd combination matched nothing) and suggests trying a different market, a longer lookback window, relaxed filters, or a residential proxy.

Can I scrape multiple TikTok ad markets at once?

Not within a single run — the input schema takes one targetMarket per run. Cover multiple markets by starting one run per country code, either manually, via the Apify API, or on a schedule.

Does TikTok Ads Scraper work with Claude, ChatGPT, and other AI agent tools?

Yes, as an HTTP endpoint. Any agent framework that can call the Apify API can trigger a run and read the resulting JSON dataset — there is no dedicated MCP server for this Actor.

How does TikTok Ads Scraper differ from scraping Creative Center manually?

Creative Center's own dashboard requires a manual per-country export and shows raw fields without cost-efficiency context. TikTok Ads Scraper automates the pull and adds costPerLike, engagementScore, and percentileRank computed from the same underlying fields, so ads can be ranked by cost-efficiency instead of raw popularity alone.

Does TikTok Ads Scraper return data in a format LLMs can use directly?

Yes. Every run outputs typed, normalized JSON with consistent field names — no HTML parsing or CSS selectors required. Pass it directly to an LLM prompt, index it into a vector store, or feed it to an agent tool.

What happens when TikTok changes Creative Center's layout or signing scheme?

The Actor is maintained and its output schema is designed to stay stable across TikTok UI changes. No specific update turnaround time is published.

Can I use TikTok Ads Scraper without managing proxies or browser infrastructure?

Yes. The Actor runs its own headless Chromium session and automatically falls back to a residential proxy with a fresh IP if the configured proxy connection is rejected — no browser or proxy setup required on your end.

Which TikTok ad fields work best for AI training data and RAG indexing?

For RAG indexing, use the high-information text fields title, brandName, industryName, and objectiveName. For structured training data, likes, cost, costPerLike, engagementScore, and percentileRank return as consistent typed numbers across every row.

Scraper NameWhat it extracts
TikTok Trending Hashtags And Videos ScraperTrending TikTok hashtags plus each hashtag's real top organic videos
TikTok Trending Videos Scraper With Author ProfileTrending organic TikTok videos with full creator/author profile data
Facebook Ads Library Scraper & Creative MediaMeta Ad Library ad creatives — images, video variants, and creative analytics
Google Trends ScraperGoogle Trends interest-over-time data for any keyword or topic
Instagram Hashtag ScraperInstagram posts and reels by hashtag

Your feedback

Found a bug or missing a field? Let us know through the Apify Console's Issues tab on this Actor's page, and we'll take a look.