TikTok Commercial Content Library Ads Scraper
Pricing
from $0.75 / 1,000 tiktok ad results
TikTok Commercial Content Library Ads Scraper
Scrape public TikTok ads from the Commercial Content Library without login or an API key. Search by country, keyword, advertiser, dates, ad type, status, reach and audience, then extract advertiser, targeting, captions, CTAs, landing pages and media URLs.
Pricing
from $0.75 / 1,000 tiktok ad results
Rating
0.0
(0)
Developer
DataScraperES
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
12 days ago
Last modified
Categories
Share
Search the public TikTok Commercial Content Library and export structured advertising records without a TikTok login or official API key. Filter by market, keyword, advertiser, date, status, format, audience, and reach.
What this Actor does
The Actor queries TikTok's public advertising library, paginates matching results, removes duplicate ads, and optionally opens individual ad details. Each successful Dataset item includes the advertiser, campaign dates, reach band, caption, destination and available creative media. Optional diagnostic rows explain searches that returned no usable ads or could not be completed.
Use cases
- Monitor competitor messaging, creatives, offers, and landing pages.
- Research active campaigns by country, advertiser, or keyword.
- Compare public audience and reach information across advertisements.
- Export advertising evidence for market research and reporting.
How to use
- Select one or more countries in
regions. - Add search terms, advertiser business IDs, or leave both empty for a broad market search.
- Choose the date range and any audience or status filters.
- Set
maxAdsandmaxPages, then start the Actor. - Open the Dataset to export the resulting ad records.
Input
regions is required. searchTerms and advertiserBusinessIds can be combined. includeDetails requests additional public detail data but can make the run slower. maxAds caps unique ads across the run, while maxPages limits pagination for each search combination. Date values use YYYY-MM-DD.
This exact input produced the complete output below:
{"regions": ["ES"],"searchTerms": ["nike"],"advertiserBusinessIds": [],"queryType": 1,"startDate": "2026-08-01","endDate": "2026-08-19","sortType": "create_time,desc","adType": 0,"adStatus": 1,"ageRanges": ["all"],"reachRanges": ["all"],"gender": "ALL","locale": "auto","maxAds": 3,"maxPages": 1,"includeDetails": false,"saveErrors": true}
Output
Successful rows have recordType: "ad". Media URLs can be temporary, and fields unavailable in the public library remain null. When saveErrors is enabled, diagnostic rows use a different recordType and are not successful ad results. A run-level SUMMARY record is stored in the default Key-value store.
This is the complete first Dataset item from a real successful run:
{"success": true,"recordType": "ad","source": "tiktok_commercial_content_library","retrievedAt": "2026-08-19T14:24:10.860989Z","adId": "1873891968776225","region": "ES","searchTerm": "nike","searchPage": 1,"searchUrl": "https://library.tiktok.com/ads?region=ES&start_time=1785542400000&end_time=1787183999999&query_type=1&sort_type=create_time%2Cdesc&ad_type=0&ad_status=1&ages=all&ad_reach=all&gender=ALL&adv_name=nike","detailUrl": "https://library.tiktok.com/ads/detail/?ad_id=1873891968776225®ion=ES","detailFetched": false,"advertiserName": "footzoneshop","advertiserBusinessId": null,"paidBy": null,"firstShownAt": "2026-08-18T00:00:00Z","lastShownAt": "2026-08-18T00:00:00Z","objective": null,"uniqueUsersReached": "0-1K","targeting": null,"caption": "Nike Football Boots😍Link in Bio🔗 #nike #footballboots #soccershoes #cleats #fyp","callToAction": null,"landingPage": null,"tiktokProfile": null,"media": {"imageUrl": "https://p16-common-sign.tiktokcdn.com/tos-no1a-p-0037-no/o0yII7ukEFAiYCEAIjrDIeE0IeRZVkVEULEfDJ~tplv-noop.image?dr=18692&refresh_token=a3a2d86d&x-expires=1787171061&x-signature=npjt7J4MPocbgUSmavDugOYFX%2B0%3D&t=9276707c&ps=14f1eb3e&shp=9e36835a&shcp=0c75dd76&idc=sg1&VideoID=v24044gl0000da245fnog65i8gg9kui0","videoUrl": "https://library.tiktok.com/api/v1/cdn/1787149450/video/aHR0cHM6Ly92NzcudGlrdG9rY2RuLmNvbS9kNjQzYjAxMjZkNjJiODVlN2NkNjY2ZDFhMzU0MGVlOC82YTg2MTBmNS92aWRlby90b3Mvbm8xYS90b3Mtbm8xYS12ZS0wMDY4YzAwMS1uby9vQUVKNkxFSUlSb2dBNUNwSVJlVlFJOUFqeEltVkdJSkxBZm9EZi8=/dc6f536d-2e09-445b-9779-e5693f1a640e?a=475769&bt=1545&btag=e000b0000&bti=PDU2NmYwMy86&ft=.NpOcInz7ThNp2YGXq8Zmo&l=20260819222410D08C95379857D702D1E4&mime_type=video_mp4&rc=NWU7PDM0NmU2aGg4NGY1ZkBpM3g8amw5cmk3ZDMzbzczNUAxX2JgYzA1NmIxMC0zLmFeYSNmaGQ1MmRrMi9hLS1kMTFzcw%3D%3D&signature=8QMM6P7HLyy0srXdyYa9OEQmoiycwq10wmXgtvAt%2F%2Bg%3D&vvpl=1"},"filters": {"region": "ES","searchTerm": "nike"},"transport": "direct"}
Pricing
The Actor uses pay-per-event pricing. One ad-result event is charged for each unique successful ad record delivered to the Dataset. Apify selects the price for your plan automatically:
| Apify plan | Price per ad | Equivalent per 1,000 ads |
|---|---|---|
| Free | $0.001 | $1.00 |
| Bronze | $0.0009 | $0.90 |
| Silver | $0.0008 | $0.80 |
| Gold | $0.00075 | $0.75 |
| Platinum | $0.00075 | $0.75 |
| Diamond | $0.00075 | $0.75 |
Diagnostic rows, duplicates, empty searches, failed requests, and SUMMARY do not trigger an ad-result charge. You can set a maximum total charge for a run in Apify to limit spending.
Related Actors
| Actor | Best for |
|---|---|
| LinkedIn Ad Library Scraper – No Login | Comparing public advertising campaigns and creatives on LinkedIn. |
| TikTok Hashtag Scraper for Public Videos | Researching organic TikTok videos and engagement around campaign topics. |
| TikTok Profile Scraper – Bio, Stats & Playlists | Enriching public advertiser or creator accounts with profile-level data. |
Limits and data quality
Requested limits are maxima, not guaranteed result counts. Availability depends on the public library, chosen filters, country coverage, and temporary source restrictions. Reach values are published ranges rather than exact audience totals. Creative URLs may expire, and includeDetails can still leave fields empty when TikTok does not expose them.
Frequently asked questions
Do I need a TikTok account or API key?
No. The Actor works with the public Commercial Content Library.
Why did I receive fewer ads than maxAds?
The filters may match fewer public ads, pagination may end, duplicates may be removed, or the source may temporarily restrict a request. Inspect diagnostic rows and SUMMARY.
Are images and videos downloaded?
No. The Dataset contains available public media URLs.
Responsible use
Use the results only for lawful purposes. Respect TikTok's terms, applicable privacy and advertising rules, copyright, and the rights of advertisers and people represented in public data. This Actor is unofficial and is not affiliated with TikTok.
Support
Open an issue in the Actor's Issues tab and include the run ID, selected region, search term, and relevant diagnostic status. Never include passwords, tokens, or private credentials.