Back to TikTok
Apify·TikTok

TikTok Ads Library Scraper — EU Library & Creative Center

/brilliant_gum/tiktok-ads-library-scraperasync$0.03 / result

Scrape TikTok Ads Library (EU/EEA/UK) and Creative Center (global). Extract ad creatives, targeting data, reach estimates, CTR, video URLs, and industry insights. Dual-source coverage — no login required. Residential proxies built-in. Runs as an Apify actor (20–120 s); results are dataset rows.

Charged per returned row plus the flat fee.

Input
  • sourcestringrequired

    Which TikTok data source to scrape. 'library' = TikTok Ads Library (EU/EEA/UK only, no login, DSA transparency data). 'creative_center' = TikTok Creative Center Top Ads (global, performance metrics). 'both' = both sources combined. (default "library")

    library, creative_center, both

  • searchTermsarray

    Brand names or keywords to search. Each term is searched separately. Used for 'library' source only — Creative Center is browsed by category/country. (default ["Nike"])

  • countriesarray

    ISO 2-letter country codes (case-insensitive). The Ads Library covers EU/EEA/UK only (DE, FR, IT, ES, NL, PL, SE, GB…). With source="library": other countries are skipped with a warning if at least one supported country is listed, and the run stops with an explanation if none is. With source="creati (default ["DE"])

  • adTypestring

    Filter by creative format. Applies to the Ads Library source (TikTok filters server-side). (default "ALL")

    ALL, VIDEO, IMAGE, TEXT

  • dateFromstring

    Show ads first seen on or after this date. Format: YYYY-MM-DD. Leave empty to skip. Applies to Ads Library source only. (default "")

  • dateTostring

    Show ads first seen on or before this date. Format: YYYY-MM-DD. Leave empty to skip. Applies to Ads Library source only. (default "")

  • maxResultsinteger

    Maximum ads to collect per search term + country pair. Note: TikTok Ads Library is capped at 3,600 results per query (300 pages × 12 ads). The scraper will warn you when approaching this limit. (default 10)

  • resolveAdDetailsboolean

    For each Library ad, fetch its full detail page to collect: advertiser business ID, 'Ad paid for by', targeting age groups, targeting gender, targeting interests, target countries, and behavior targeting. Adds ~3 sec per ad — disable for large bulk runs, enable when you need full targeting data. (default false)

  • includeAudienceBreakdownboolean

    Add a per-country x age x gender impression breakdown to each ad. Requires resolveAdDetails. Off by default: one ad can add ~225 rows, which is handy in JSON but turns a CSV export into hundreds of columns. (default false)

Run it

curl -s https://sooma.dev/v1/run \ -H "Authorization: Bearer $SOOMA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"provider":"apify","endpoint":"/brilliant_gum/tiktok-ads-library-scraper","input":{"source":"library"}}'

Or ask your agent: it will call inspect for this schema and run it over MCP.