TikTok Ad Library Scraper avatar

TikTok Ad Library Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
TikTok Ad Library Scraper

TikTok Ad Library Scraper

Scrape ads, discover advertisers, and branded content from TikTok Ad Library.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

🔍 TikTok Ad Library Scraper

Extract ads, discover advertisers, and scrape commercial content from TikTok's Ad Library — all via pure HTTP requests, no browser needed.

✨ What makes this Actor different?

  • ⚡ Pure HTTP — No Playwright, no Puppeteer. Direct API calls = 10× faster and 5× cheaper than browser-based scrapers.
  • 🎯 3 modes in 1 Actor — Search paid ads, discover advertisers, or scrape branded commercial content.
  • 🔎 Auto-resolves advertisers — Type an advertiser name and the Actor finds their business ID automatically.
  • 🌍 33 EU regions — Full coverage of all TikTok Ad Library regions, from Austria to Turkey.
  • 📊 Rich targeting data — Get audience breakdowns by location, age, and gender (with Include ad details enabled).
  • 🆔 Direct ad lookup — Have specific ad IDs? Fetch them directly, no search needed.

🚀 Quick start

  1. Click Start with the default settings to scrape ~20 ads for "nike" — it takes about 30 seconds.
  2. Download results in JSON, CSV, or Excel.
  3. Adjust the search query, region, and max results to fit your needs.

🎛️ Three scraping modes

Mode 1: Search Ads (default)

Search TikTok's paid ad library by keyword or advertiser name. Returns ad creatives, video URLs, dates, estimated audience, and optionally full targeting data.

Example use cases:

  • Find all ads from a competitor brand
  • Search for ads mentioning a product category ("running shoes", "crypto")
  • Monitor ad activity in a specific country

Mode 2: Discover Advertisers

Brute-force discover advertisers via TikTok's suggestion API. The Actor tries thousands of prefixes (a, b, c… aa, ab…) to uncover advertiser names and IDs — even those you wouldn't find by searching.

Example use cases:

  • Build a database of all TikTok advertisers
  • Find potential leads in a market segment
  • Map the competitive advertising landscape

Mode 3: Search Commercial Content

Search branded and organic commercial content — paid partnerships, promotional posts, and creator collaborations.

Example use cases:

  • Track influencer partnerships for a brand
  • Monitor branded content trends
  • Analyze creator collaboration patterns

📥 Input

ParameterDescription
Search queryKeyword to search in ads, or advertiser name. Leave empty to browse all ads.
Query typeKeyword in ad searches ad text. Advertiser name auto-resolves the advertiser ID.
RegionFilter by country (33 EU regions available) or search across all regions.
Date rangeFilter ads by date range. Accepts absolute dates (YYYY-MM-DD) or relative ("30 days").
Max resultsLimit the number of results. Start with 20 for testing.
Include ad detailsEnable to get full targeting data (location, age, gender breakdowns). Slower but much richer output.
Ad IDsFetch specific ads by ID — skips all search parameters.

📤 Output

Basic output (Include ad details OFF)

Each item in the dataset contains:

{
"adId": "1848112963098658",
"adType": "video",
"adVideoUrl": "https://library.tiktok.com/api/v1/cdn/...",
"adVideoCover": "https://p21-ad-sg.ibyteimg.com/...",
"adImageUrls": [],
"adStartDate": "2025-11-07",
"adEndDate": "2025-11-13",
"adEstimatedAudience": "100K-200K",
"adSpent": "",
"adImpressions": 0,
"advertiserName": "Nike"
}

Rich output (Include ad details ON)

Adds advertiser info, targeting, and audience breakdowns:

{
"adId": "1848112963098658",
"adType": "video",
"adVideoUrl": "https://library.tiktok.com/api/v1/cdn/...",
"adVideoCover": "https://p21-ad-sg.ibyteimg.com/...",
"adStartDate": "2025-11-07",
"adEndDate": "2025-11-13",
"adEstimatedAudience": "100K-200K",
"advertiserId": "7345893407476285441",
"advertiserName": "Nike",
"advertiserLocation": "United States",
"advertiserPaidForBy": "Nike Inc.",
"adTotalRegions": 11,
"targetingAudienceSize": "5.2M-6.4M",
"targetingByLocation": [
{ "region": "FR", "impressions": "12K" },
{ "region": "DE", "impressions": "10K" }
],
"targetingByAge": [
{ "region": "FR", "18-24": true, "25-34": true, "35-44": false }
],
"targetingByGender": [
{ "region": "FR", "female": true, "male": true }
]
}

Advertiser discovery output

{
"advertiserId": "7345893407476285441",
"advertiserName": "Nike"
}

Commercial content output

{
"contentId": "abc123",
"creatorUsername": "creator_handle",
"contentLabel": "paid_partnership",
"brandNames": ["Nike"],
"postedTime": "2025-06-01T12:00:00Z",
"videoViews": "1.2M",
"videoUrl": "https://...",
"videoCover": "https://..."
}

💡 Tips for best results

  • Start small: Use 20 max results for your first run to verify the output format.
  • Keyword vs Advertiser: Use "Advertiser name" query type when you know the brand — it's more precise.
  • Date range matters: TikTok limits results. Narrow date ranges return more relevant data.
  • Ad details are optional: Skip them for 3× faster runs when you only need basic ad info.
  • No proxy needed: The TikTok Ad Library API works without proxy from most locations. Only enable proxy if you experience rate limiting.

❓ FAQ

How much does it cost to run? The Actor uses minimal compute (256 MB RAM, pure HTTP). A typical run of 100 ads without details costs ~$0.01-0.02 in platform usage.

What's the maximum number of ads I can scrape? TikTok limits the Ad Library to ~3,600 ads per search (300 pages × 12 ads). Use narrower date ranges or region filters to get more coverage.

Is a proxy required? No. The TikTok Ad Library API is public and works without proxy from most locations. Enable proxy only if you get rate-limited.

Can I scrape ads outside the EU? TikTok's Ad Library currently only covers EU/EEA countries plus the UK, Turkey, and Switzerland (33 regions total).

Can I schedule this Actor? Yes! Use Apify Schedules to run daily/weekly ad monitoring. Combine with integrations to push results to Google Sheets, Slack, or your database.