TikTok Ads Library Scraper
Pricing
from $6.00 / 1,000 tiktok ad scrapeds
TikTok Ads Library Scraper
Search TikTok's public Ads Library by advertiser, keyword, business ID, or copied library URL. Returns creative media, advertiser, status, dates, audience estimates, targeting details, and source links. Use for EU/EEA competitor-ad research. Costs $0.006 per ad plus $0.00005 start.
Pricing
from $6.00 / 1,000 tiktok ad scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Search TikTok's public Ads Library by keyword, advertiser, advertiser business ID, or a copied filtered library URL. It returns one structured record per ad, including advertiser identity, creative media URLs, public dates and status, audience estimates, source links, and—when enabled—public targeting details.
Use it for EU/EEA competitor-ad research, creative swipe files, campaign monitoring, and public advertising-transparency analysis. Do not use it for TikTok profiles, organic posts, TikTok Creative Center Top Ads, private campaign data, or Ads Manager account data.
What you receive
| Field | Meaning |
|---|---|
adId, adDetailUrl, libraryUrl | Stable public ad identifier and reproducible source links |
advertiserName, advertiserBusinessId, sponsor | Advertiser identity as exposed by TikTok |
title, callToAction, landingPageUrl | Public creative copy and destination fields |
videoUrls, imageUrls, coverImageUrls | Public creative assets; media links may expire |
firstShownAt, lastShownAt, auditStatus | Public lifecycle fields |
estimatedAudience, impressions | Public aggregate transparency values when available |
targetCountries, targetAudienceSize, targetInterests | Optional public detail fields when includeDetails is enabled |
source, scrapedAt | Provenance and extraction time |
The default dataset view is concise enough for automation. RUN_SUMMARY always records the terminal outcome, saved count, charge counters, stop reason, and warnings.
Inputs
Use one of these approaches:
- Paste a filtered
libraryUrlfromhttps://library.tiktok.com/ads. It preserves its country, date range, and advertiser/keyword filters; results use TikTok's verified newest-last-shown order. - Build a search with
country,searchQuery, optionaladvertiserBusinessId, and date range.
Keyword example:
{"country": "DE","searchQuery": "adidas","searchType": "keyword","dateFrom": "2026-04-01","maxResults": 25,"includeDetails": false}
Exact advertiser example:
{"country": "DE","searchQuery": "adidas AG","searchType": "advertiser","advertiserBusinessId": "6885261436319171329","maxResults": 10,"includeDetails": true}
URL-first example:
{"libraryUrl": "https://library.tiktok.com/ads?region=DE&start_time=1767225600000&end_time=1769904000000&adv_name=adidas&adv_biz_ids=&query_type=1&sort_type=last_shown_date%2Cdesc","maxResults": 20,"includeDetails": true}
Pricing
This actor uses Pay per event plus Apify platform usage:
- Actor start:
$0.00005 - Validated ad written:
$0.006per record - Public ad-detail enrichment:
$0.002per successful detail response
maxResults is the primary event-cost cap. A 20-ad run without details has at most $0.12005 in event charges; platform usage is billed separately by Apify. Media URL availability, public fields, and result counts are determined by TikTok's library.
Reliability and outcomes
The actor uses a fresh Apify Residential browser session for each retry, initializes TikTok's public library session before querying, and validates each row before the coupled write-and-charge operation. It never invents a minimal record to rescue a failed write.
Every run writes both OUTPUT and RUN_SUMMARY with one outcome:
COMPLETE: all returned records were written cleanly.PARTIAL: useful records were written, but some details or rows could not be completed.VALID_EMPTY: TikTok replied successfully but no ads matched.INVALID_INPUT: the search was missing or invalid; correct the supplied field.UPSTREAM_FAILED: TikTok's public library or the browser session failed before useful data was returned.
Limits and responsible use
- Data comes only from TikTok's public Ads Library, whose coverage is country-specific and can change.
- This actor does not log in, request user cookies, access private data, or bypass account controls.
includeDetailsretrieves only public transparency fields and is slower than a creative-only run.- Video and image URLs can be signed and short-lived; rerun the actor to refresh them.
- For decisions involving ad use, targeting, or compliance, retain the source URL and verify time-sensitive fields directly in TikTok's public library.
- If TikTok marks a filter combination as an invalid search, the actor returns
INVALID_INPUTwithout retrying; adjust the country, date range, advertiser, or copied URL.