TikTok Ads Scraper avatar

TikTok Ads Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
TikTok Ads Scraper

TikTok Ads Scraper

๐Ÿ’ธ๐Ÿฅ‡ THE MOST COMPLETE AND CHEAPEST TIKTOK ADS SCRAPER. ๐Ÿฅ‡๐Ÿ’ธ Two modes: Ads Library (EU transparency, targeting, spend) + Top Ads (Creative Center, engagement metrics, 80+ countries). Search by keyword, advertiser, and industry. Extract videos, performance data, and creative assets.

Pricing

from $1.50 / 1,000 results

Rating

5.0

(2)

Developer

Data Xplorer

Data Xplorer

Maintained by Community

Actor stats

3

Bookmarked

214

Total users

81

Monthly active users

0.15 hours

Issues response

16 days ago

Last modified

Share

๐Ÿ” TikTok Ads Scraper: Library + Top Ads

The most complete TikTok advertising intelligence tool on Apify. Two powerful modes in one Actor:

TikTok Ads Scraper


๐ŸŽฏ Two Modes, One Actor

๐Ÿ“š Ads Library Mode (EU Transparency)

Access TikTok's official Ad Library for the European market. Get full transparency data: advertiser info, targeting, audience size, spend estimates, impressions, per-country reach with age ร— gender breakdowns, advertiser profile, media assets, and more.

Best for: Compliance research, competitor monitoring in EU/EEA, advertiser-level analysis, spend & reach insights.

๐ŸŽฏ Top Ads Mode (Creative Center)

Access TikTok's Creative Center Top Ads, a curated ranking of the best-performing ads worldwide. Get engagement metrics (likes, CTR, budget level), video assets, and industry classification.

Best for: Creative inspiration, ad benchmarking, industry trend analysis, competitive intelligence.


๐Ÿ’Ž Key Features

FeatureAds LibraryTop Ads
๐ŸŒ Global coverageEU/EEA countries80+ countries
๐Ÿ” Keyword searchโœ…โœ…
๐Ÿข Advertiser searchโœ…-
๐Ÿ”— Direct URL importโœ…-
โค๏ธ Engagement metrics (likes, CTR, budget)-โœ…
๐Ÿ“ˆ Impressions & audience estimatesโœ… (with details)-
๐Ÿ—บ๏ธ Per-country reach + age ร— gender breakdownโœ… (with details)-
๐Ÿ”ข Numbers parsed to integers (min/max)โœ…-
๐Ÿ’ฐ Spend estimatesโœ… (with details)-
๐ŸŽฏ Targeting data (age, gender, region, languages, OSโ€ฆ)โœ… (with details)-
๐Ÿ‘ค Advertiser profile + TikTok accountโœ… (with details)Brand name
๐Ÿท๏ธ Industry & objective classification-โœ…
๐ŸŽฌ Video URLsUp to 1080p720p
โšก Speed~2-5 ads/sec~20 ads/sec

๐Ÿ’ก Tip: In Library mode, enable "Fetch Ad Details" to get impressions, spend, full targeting, advertiser profile, and the reliable per-country reach (with age ร— gender breakdowns). Without it, scraping is faster but only returns basic ad info.

๐Ÿ”ข All numeric ranges are parsed. Fields like Ad Audience, Ad Target Audience Size and every reach value are returned as an object { "raw": "11.7M-14.2M", "min": 11700000, "max": 14200000 } โ€” keep the human-readable text in raw, and sort/filter/aggregate directly on min / max.


๐Ÿ“š Ads Library Mode

Search Options

  1. ๐Ÿ”ค Keyword Search: Search ads by content keywords
  2. ๐Ÿข Advertiser Name: Find all ads from a specific advertiser (optionally with Advertiser ID for precision)
  3. ๐ŸŒ Direct URL: Paste any TikTok Ads Library URL and all parameters are auto-extracted

Input Parameters

ParameterTypeDefaultDescription
modestring"library"Set to "library"
regionstring"all"Country code (FR, DE, GB, etc.) or "all"
startDatestring"2025-01-01"Start date (YYYY-MM-DD)
endDatestring""End date (empty = today)
queryTypestring"2"1 = Keyword, 2 = Advertiser Name, url = Direct URL
querystring""Search term, advertiser name, or full URL
advertiserBizIdstring""Optional advertiser business ID
maxAdsnumber20Maximum ads to collect
fetchDetailsbooleantrueFetch targeting, advertiser profile, audience, spend, impressions, and per-country reach
detailConcurrencynumber6Number of ad-detail requests fetched in parallel
proxyConfigurationobjectApify ProxyProxy settings

Input Example: Advertiser Name + ID

{
"mode": "library",
"region": "FR",
"startDate": "2026-01-01",
"endDate": "2026-06-01",
"queryType": "2",
"query": "LEVI STRAUSS & CO.",
"advertiserBizId": "6886458055832109825",
"maxAds": 10,
"fetchDetails": true
}
{
"mode": "library",
"region": "GB",
"startDate": "2025-01-01",
"queryType": "1",
"query": "football",
"maxAds": 20,
"fetchDetails": true
}

Input Example: Direct TikTok URL

{
"mode": "library",
"queryType": "url",
"query": "https://library.tiktok.com/ads?region=FR&start_time=1777123937000&end_time=1779715937000&adv_name=LEVI%20STRAUSS%20%26%20CO.&adv_biz_ids=6886458055832109825&query_type=2&sort_type=last_shown_date,desc",
"maxAds": 10,
"fetchDetails": true
}

Output Example (Library, with fetchDetails)

{
"AD ID": "1867625146670401",
"Advertiser Name": "COCA COLA HBC POLSKA SP Z O O",
"Ad Title": "Wygrywaj!",
"AD Preview": "https://p16-common-sign.tiktokcdn.com/...",
"Ad Dates": [
{ "FirstShown": "2026-06-12", "FirstShownTimestamp": 1781222400 },
{ "LastShown": "2026-06-14", "LastShownTimestamp": 1781395200 }
],
"Ad Audience": { "raw": "1M-10M", "min": 1000000, "max": 10000000 },
"Ad Details": [
{ "Estimated Audience": "1M-10M" },
{ "Spent": "" },
{ "Impression": "" },
{ "Type": "2" },
{ "Audit Status": "1" },
{ "Advertising Objective": "Reach" },
{ "Call To Action": "Learn more" },
{ "External URL": "https://cokeurl.com/KuM89D?utm_source=tiktok" }
],
"Ad Media": [
"Video 1: https://library.tiktok.com/api/v1/cdn/...",
"Image 1: https://p16-common-sign.tiktokcdn.com/..."
],
"Ad Targeting": {
"regions": ["PL"],
"age": ["18-24", "25-34", "35-44", "45-54", "55+"],
"gender": ["female", "male", "unknown"],
"os": ["ALL"],
"languages": [],
"high_spending_power": "No",
"audience": "No"
},
"Ad Reach": {
"total_region": 1,
"total_impressions": { "raw": "1M-10M", "min": 1000000, "max": 10000000 },
"by_country": [
{
"region": "PL",
"impressions": { "raw": "1.5M", "min": 1500000, "max": 1500000 },
"breakdowns": [
{ "age": "18-24", "gender": "FEMALE", "impressions": { "raw": "252K", "min": 252000, "max": 252000 } },
{ "age": "25-34", "gender": "FEMALE", "impressions": { "raw": "352K", "min": 352000, "max": 352000 } },
{ "age": "25-34", "gender": "MALE", "impressions": { "raw": "273K", "min": 273000, "max": 273000 } }
]
}
]
},
"Advertiser": {
"name": "COCA COLA HBC POLSKA SP Z O O",
"adv_biz_ids": "6876461641299395330",
"registry_location": "United Kingdom",
"sponsor": "MEDIACOM UK LIMITED",
"tiktok_account": {
"username": "cocacola",
"display_name": "Coca-Cola",
"follower_count": "4.2M",
"account_type": "BLUEV_BA",
"profile_web_link": "https://www.tiktok.com/share/user/..."
}
},
"Ad Sponsor": "MEDIACOM UK LIMITED",
"Ad Target Audience Size": { "raw": "11.7M-14.2M", "min": 11700000, "max": 14200000 },
"Ad Detail URL": "https://library.tiktok.com/ads/detail/?ad_id=1867625146670401"
}

Library Metrics (with fetchDetails enabled)

โ„น๏ธ Numeric fields below are returned as { raw, min, max }: raw is the original text (e.g. "1.5M"), min/max are integers (equal for single values, distinct for ranges, null when empty).

FieldDescription
Ad TitleTitle/headline (caption) of the ad creative
Ad AudienceEstimated audience range as { raw, min, max } (e.g. "1M-10M") โ€” broad, less reliable
Ad ReachReliable per-country reach: total regions, total impressions, and for each country the exact impressions plus a full age ร— gender breakdown โ€” every impressions value is a { raw, min, max } object
Ad DetailsSpend, impressions, type, audit status, advertising objective, call to action, and external (landing) URL
Ad TargetingRegions, enabled age groups, gender, languages, cities, provinces, OS, high spending power, audience signals
AdvertiserAdvertiser profile: name, business IDs, registry location, sponsor, and linked TikTok account (username, followers, account type, profile link)
Ad SponsorName of the sponsoring entity
Ad Target Audience SizeTotal estimated target audience as { raw, min, max } (e.g. "11.7M-14.2M")
Ad MediaDirect URLs to videos, cover images, and creatives

๐ŸŽฏ Which reach number should I trust? Use Ad Reach.by_country[].impressions.min (or .raw) โ€” it's the accurate "Reach by location" figure from TikTok's detail page. The top-level Ad Audience ("Unique users seen") is only a broad estimate range.


๐ŸŽฏ Top Ads Mode

Filters

  • ๐Ÿ” Keyword: Search by brand, product, or topic
  • ๐ŸŒ Countries: Multi-select from 80+ countries
  • ๐Ÿท๏ธ Industries: 21 parent categories + 200+ sub-industries
  • ๐ŸŽฏ Objectives: Traffic, Conversions, App Installs, Video Views, Reach, Lead Gen, Product Sales
  • ๐Ÿ—ฃ๏ธ Language: Filter by ad language (17 languages)
  • โค๏ธ Likes percentile: Top 1-20%, 21-40%, etc.
  • ๐Ÿ“… Time period: Last 7 days, 30 days, or 6 months
  • ๐Ÿ“Š Sort by: Likes, Reach, CTR, CVR, 2s/6s view rates

Input Parameters

ParameterTypeDefaultDescription
modestring-Set to "top_ads"
topAdsKeywordstring""Search keyword (leave empty to browse all)
topAdsCountryCodearray[]Country codes, e.g. ["FR", "DE"]
topAdsPeriodstring"7""7", "30", or "180" days
topAdsOrderBystring"like"Sort: like, impression, ctr, cvr, play_2s_rate, play_6s_rate
topAdsIndustryarray[]Industry IDs (parent or sub-industry)
topAdsObjectivearray[]Objective IDs: 1=Traffic, 2=App, 3=Conversions, etc.
topAdsLanguagestring""Language code (fr, en, de, etc.)
topAdsLikeRangestring""Likes percentile: 1-5
topAdsMaxItemsnumber100Maximum ads to collect (up to 500)

Input Example: Top Ads in France (Education)

{
"mode": "top_ads",
"topAdsCountryCode": ["FR"],
"topAdsPeriod": "30",
"topAdsOrderBy": "like",
"topAdsIndustry": ["10000000000"],
"topAdsLanguage": "fr",
"topAdsMaxItems": 50
}
{
"mode": "top_ads",
"topAdsKeyword": "netflix",
"topAdsCountryCode": ["FR", "US"],
"topAdsPeriod": "30",
"topAdsOrderBy": "like",
"topAdsMaxItems": 20
}

Input Example: Sub-industry Filter

{
"mode": "top_ads",
"topAdsCountryCode": ["FR"],
"topAdsPeriod": "30",
"topAdsIndustry": ["14103000000", "14104000000"],
"topAdsObjective": ["3"],
"topAdsMaxItems": 40
}

Output Example (Top Ads)

{
"id": "7636363707227226130",
"ad_title": "Des fiches prรชtes ร  apprendre pour booster tes rรฉvisions CRPE",
"brand_name": "Not Mention",
"like": 585,
"cost": 1,
"cost_readable": "Medium",
"ctr": 0.14,
"ctr_readable": "Top 14%",
"industry_key": "label_10101000000",
"industry": "Primary & Secondary Education & K-12",
"objective_key": "campaign_objective_conversion",
"objective": "Conversions",
"video_duration": 10.467,
"video_cover": "https://p16-common-sign.tiktokcdn.com/...",
"video_url_720p": "https://v16m-default.tiktokcdn.com/...",
"video_width": 720,
"video_height": 1280,
"creative_center_url": "https://ads.tiktok.com/business/creativecenter/inspiration/topads/pc/en?ad_id=7636363707227226130"
}

Top Ads Metrics

FieldDescription
likeNumber of likes on the ad
cost_readableBudget level: Low, Medium, or High
ctr_readableCTR percentile ranking (e.g. "Top 14%" = outperforms 86% of ads)
industryHuman-readable industry label (200+ categories)
objectiveCampaign objective: Traffic, Conversions, App Installs, etc.
video_url_720pDirect download URL for the ad video (720p)

๐Ÿ’ก Use Cases & Ideas

๐Ÿข For Marketing & Ad Agencies

  • Creative swipe files: Build a library of top-performing TikTok ads in your client's industry. Filter by country, objective, and sub-industry to find exactly the right inspiration.
  • Pitch preparation: Show clients what competitors are running and what's working best. Use budget and CTR data to benchmark performance.
  • Ad spend monitoring: Track how much competitors invest across regions with Library mode's spend estimates.

๐Ÿ›๏ธ For E-Commerce & DTC Brands

  • Competitor tracking: Monitor what ads your competitors are running in real-time across EU markets. Get notified when new campaigns launch.
  • Creative inspiration: Find the highest-engagement ads in your product category (Skincare, Cosmetics, Fashion...) and study what makes them work.
  • Market entry research: Before launching in a new country, analyze what ad formats, messages, and budgets work best in that market.

๐Ÿ“Š For Data Analysts & Researchers

  • Industry benchmarking: Collect hundreds of ads across industries to build performance benchmarks (CTR percentiles, budget tiers, engagement rates).
  • Reach analysis: Use Library mode's per-country reach and age ร— gender breakdowns (with integer min/max values) to map exactly who each campaign reached, market by market.
  • Trend detection: Run weekly scrapes to track which industries, objectives, and ad formats are gaining traction over time.
  • Academic research: Study advertising patterns, targeting strategies, and political ad transparency across the EU.

๐ŸŽฏ For Media Buyers & Performance Marketers

  • Winning ad formats: Sort by CTR or conversion rate to find the highest-performing creative formats in your niche.
  • Budget intelligence: Understand whether top performers are Low, Medium, or High budget, and find opportunities where low-budget ads outperform.
  • Targeting insights: Use Library mode's age, gender, regional targeting and per-country reach data to refine your own audience strategy.

๐Ÿ”— Integration Ideas

  • Feed into Google Sheets or Airtable: Use Apify integrations to automatically push new ads into your creative tracking spreadsheet.
  • Build a Slack alert: Get notified when a competitor launches a new ad or when a top-performing ad appears in your industry.
  • Power a dashboard: Connect the output to Looker Studio, Tableau, or any BI tool for real-time ad intelligence dashboards.
  • Train AI models: Use the video URLs and ad copy to train creative analysis models or generate ad variations.

๐Ÿค Support & Resources

Found a bug or want to request a feature? Open an issue.

โค๏ธ Enjoying the scraper? Leave a review here