TikTok Ads Library Scraper avatar

TikTok Ads Library Scraper

Pricing

from $6.00 / 1,000 tiktok ad scrapeds

Go to Apify Store
TikTok Ads Library Scraper

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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

FieldMeaning
adId, adDetailUrl, libraryUrlStable public ad identifier and reproducible source links
advertiserName, advertiserBusinessId, sponsorAdvertiser identity as exposed by TikTok
title, callToAction, landingPageUrlPublic creative copy and destination fields
videoUrls, imageUrls, coverImageUrlsPublic creative assets; media links may expire
firstShownAt, lastShownAt, auditStatusPublic lifecycle fields
estimatedAudience, impressionsPublic aggregate transparency values when available
targetCountries, targetAudienceSize, targetInterestsOptional public detail fields when includeDetails is enabled
source, scrapedAtProvenance 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:

  1. Paste a filtered libraryUrl from https://library.tiktok.com/ads. It preserves its country, date range, and advertiser/keyword filters; results use TikTok's verified newest-last-shown order.
  2. Build a search with country, searchQuery, optional advertiserBusinessId, 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.006 per record
  • Public ad-detail enrichment: $0.002 per 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.
  • includeDetails retrieves 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_INPUT without retrying; adjust the country, date range, advertiser, or copied URL.