TikTok DSA Ads Transparency Library Scraper
Search TikTok's EU/EEA ad transparency database by keyword, advertiser or ad ID. Get creative media, advertiser identity, impression buckets, audit status and per-region/age/gender targeting.
Open in Apify Store$0.99 / 1K on Free
Short answer
TikTok DSA Ads Transparency Library Scraper is an Apify Store Actor for TikTok Ads Library data that returns 31 published output fields, including advertiserName, adStartDate, adId, adTitle. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 27 input settings, none required. It covers 2 of the 5 core TikTok Ads Library fields this site tracks. Last updated Oct 26, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
31 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
adIdsourceadvertiserNameadTitleadTypeadImpressionsadStartDateadEndDatectrlikeCountadUrlrecordTypeadFormatdaysActiveadImpressionsMinadImpressionsMaxauditStatusLabelctaTextadvertisingObjectivelandingPageUrladvertiserBusinessNameadvertiserCountryadvertiserSponsortargetAudienceSizetargetingCountriescostTierindustryNameobjectiveNameobservedCountryobservedPeriod
Show the other 1 fields
adVideoUrl
Not in the schema among the core TikTok Ads Library fields: ad_copy, creative_url, market. The field matrix shows which other tools return them.
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | No | library | `library` = TikTok DSA Commercial Content Library (EU/EEA/UK/CH/TR). `creativeCenter` = global Top Ads inspiration feed. `both` = run both and label every row with `source`. |
| keyword | string | No | – | Search ads by keyword or advertiser name. Leave empty to browse recent ads in the selected region. (mode=library) |
| advertiserName | string | No | – | Exact advertiser name as shown in the library, e.g. `NIKE Retail B.V.`. If the exact search finds nothing, the actor retries it as a keyword. (mode=library) |
| advertiserId | string | No | – | Optional TikTok business ID (`adv_biz_ids`) to disambiguate an advertiser search. Use it with the exact advertiser name. (mode=library) |
| adIds | array | No | [] | Direct list of TikTok ad IDs. Skips search and opens each ad's detail page. (mode=library) |
| startUrls | array | No | [] | Paste TikTok library search or ad-detail URLs. Search URLs carry their own region, keyword/advertiser, dates and filters; detail URLs are read as ad IDs. (mode=library) |
| region | string | No | all | TikTok DSA library covers EU/EEA countries plus the UK, Switzerland and Turkey. `all` searches the union (capped by TikTok), so split regions for deeper runs. (mode=library) |
| startDate | string | No | – | Earliest last-shown date (`YYYY-MM-DD`). Default: one year ago. (mode=library) |
| endDate | string | No | – | Latest last-shown date (`YYYY-MM-DD`). Default: today. (mode=library) |
| sortBy | string | No | last_shown_date,desc | Result order. (mode=library) |
Show the other 17 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| adType | string | No | all | Filter by creative type. (mode=library) |
| adStatus | string | No | active | Active ads are still being shown; inactive ads have stopped. (mode=library) |
| age | array | No | [] | Only ads targeted at any of these age groups: `13-17`, `18-24`, `25-34`, `35-44`, `45-54`, `55+`. Leave empty for all ages. (mode=library) |
| gender | string | No | all | Only ads targeted at this gender. (mode=library) |
| uniqueReach | string | No | all | Filter by TikTok's unique-users-seen band. (mode=library) |
| exactPhrase | boolean | No | false | Treat the keyword as an exact phrase instead of individual words. (mode=library) |
| includeDetails | boolean | No | true | Open each ad's detail page for caption, CTA, landing page, advertiser identity and age/gender reach breakdown. Slower; recommended for smaller runs. (mode=library) |
| countOnly | boolean | No | false | Return one summary row with the number of matching ads instead of collecting ads. (mode=library) |
| maxItems | integer | No | 50 | Maximum records to collect per source (1–5,000). TikTok caps a single library search at about 5,000 results. |
| ccCountry | string | No | US | Creative Center market. (mode=creativeCenter or both) |
| ccPeriod | string | No | 30 | Performance window for Creative Center. (mode=creativeCenter or both) |
| ccOrderBy | string | No | for_you | How Creative Center ranks ads. (mode=creativeCenter or both) |
| ccObjective | string | No | all | Campaign objective filter. (mode=creativeCenter or both) |
| ccIndustry | string | No | all | Creative Center industry filter. 258 industries are available; leave `all` to sweep without an industry. (mode=creativeCenter or both) |
| ccLanguage | string | No | all | Ad language filter. (mode=creativeCenter or both) |
| ccSweep | boolean | No | true | Anonymous visitors see only 20 ads per filter combination. Sweeping periods, rankings, objectives and formats collects many more unique ads. (mode=creativeCenter or both) |
| ccIncludeDetails | boolean | No | true | Fetch each ad's landing page, comment and share counts. (mode=creativeCenter or both) |
Example input
Built from the input form's published example values and defaults.
{
"mode": "library",
"keyword": "Nike",
"adIds": [],
"startUrls": [],
"region": "DE",
"sortBy": "last_shown_date,desc",
"adType": "all",
"adStatus": "active",
"age": [],
"gender": "all",
"uniqueReach": "all",
"exactPhrase": false,
"includeDetails": false,
"countOnly": false,
"maxItems": 3,
"ccCountry": "US",
"ccPeriod": "30",
"ccOrderBy": "for_you",
"ccObjective": "all",
"ccIndustry": "all",
"ccLanguage": "all",
"ccSweep": false,
"ccIncludeDetails": false
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "library",
"keyword": "Nike",
"adIds": [],
"startUrls": [],
"region": "DE",
"sortBy": "last_shown_date,desc",
"adType": "all",
"adStatus": "active",
"age": [],
"gender": "all",
"uniqueReach": "all",
"exactPhrase": False,
"includeDetails": False,
"countOnly": False,
"maxItems": 3,
"ccCountry": "US",
"ccPeriod": "30",
"ccOrderBy": "for_you",
"ccObjective": "all",
"ccIndustry": "all",
"ccLanguage": "all",
"ccSweep": False,
"ccIncludeDetails": False
}
run = client.actor("vexaloom-labs/tiktok-dsa-ads-transparency-library-scraper").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "library",
"keyword": "Nike",
"adIds": [],
"startUrls": [],
"region": "DE",
"sortBy": "last_shown_date,desc",
"adType": "all",
"adStatus": "active",
"age": [],
"gender": "all",
"uniqueReach": "all",
"exactPhrase": false,
"includeDetails": false,
"countOnly": false,
"maxItems": 3,
"ccCountry": "US",
"ccPeriod": "30",
"ccOrderBy": "for_you",
"ccObjective": "all",
"ccIndustry": "all",
"ccLanguage": "all",
"ccSweep": false,
"ccIncludeDetails": false
};
const run = await client.actor("vexaloom-labs/tiktok-dsa-ads-transparency-library-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~tiktok-dsa-ads-transparency-library-scraper/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"library","keyword":"Nike","adIds":[],"startUrls":[],"region":"DE","sortBy":"last_shown_date,desc","adType":"all","adStatus":"active","age":[],"gender":"all","uniqueReach":"all","exactPhrase":false,"includeDetails":false,"countOnly":false,"maxItems":3,"ccCountry":"US","ccPeriod":"30","ccOrderBy":"for_you","ccObjective":"all","ccIndustry":"all","ccLanguage":"all","ccSweep":false,"ccIncludeDetails":false}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vexaloom-labs/tiktok-dsa-ads-transparency-library-scraper",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among TikTok Ads Library routes
It ranks 1 of 1 catalogue Actors for TikTok Ads Library on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 TikTok DSA Ads Transparency Library Scraper 31 output fields, pay per event 2 of 5 core fields
$0.99 / 1K - + 8 other Store tools, combined Reference only 3 of 5 core fields
from $0.21 / 1K - API TikTok Commercial Content Library / Research API Limited access fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: TikTok Commercial Content Library / Research API
Limited access. TikTok's research and commercial-content library products provide ad transparency data to approved researchers and eligible users.
No public self-serve price; eligibility rules apply.
Other Store tools for TikTok Ads Library
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| TikTok Ads Library Scraper | 31 | $0.21 |
| Tiktok Ads Library Creative Center Scraper | 40 | $3.00 |
| TikTok Ads Library FAST | 15 | $1.50 |
| TikTok Ads Library Scraper | – | $0.90 |
| TikTok Ads Library Scraper | 18 | $3.00 |
What people use it for
- Research ad creatives
- Analyze ad targeting
- Track ad reach
Similar Actors
TikTok Top Ads Leaderboard - 122 Markets & Metrics
Collect TikTok Creative Center Top Ads across 122 markets with 258 industries, 7 rankings, landing pages, retention curves, and Spotlight. No…
Google Ads Transparency Creative Lookup by Domain
Look up an advertiser's live and recent Google ads by landing-page domain or advertiser ID, with ad format, preview creative, and first/last shown…
LinkedIn Ad Library Keyword & Advertiser Scraper
Search the public LinkedIn Ad Library by keyword, advertiser, country, or date range, and get headline, body copy, advertiser info, media URLs,…
Snapchat EU Ads Library Impressions & Targeting Extractor
Search Snapchat's EU ad transparency library by advertiser or creator, or browse all sponsored content, returning headline, creative, call to…
TikTok Account Stats & Repost History Scraper
Look up TikTok accounts for follower/like/video stats, recent videos, and reposted content in one run. Optional session cookie unlocks a profile's…
TikTok Anonymous For You Feed Snapshot Scraper
Capture a snapshot of posts currently surfacing on TikTok's anonymous For You feed, with engagement stats, author, music, and hashtag details for…
Questions people ask
How much does TikTok DSA Ads Transparency Library Scraper cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does TikTok DSA Ads Transparency Library Scraper return?
Its published output schema lists 31 fields: adId, source, advertiserName, adTitle, adType, adImpressions, adStartDate, adEndDate, ctr, likeCount, adUrl, recordType, and 19 more. A listed field is not guaranteed to be filled in every row.
What input does TikTok DSA Ads Transparency Library Scraper need?
No input is strictly required; the defaults run as is. Common settings: mode, keyword, advertiserName, advertiserId, adIds, startUrls.
How do I run TikTok DSA Ads Transparency Library Scraper from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/tiktok-dsa-ads-transparency-library-scraper").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/tiktok-dsa-ads-transparency-library-scraper").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~tiktok-dsa-ads-transparency-library-scraper/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- TikTok DSA Ads Transparency Library Scraper on Apify Store
- Published build with input and output schema (JSON)
- TikTok Commercial Content Library / Research API documentation
Cite this page
Scraper Finder. "TikTok DSA Ads Transparency Library Scraper." https://scraperfinder.com/catalogue/tiktok-dsa-ads-transparency-library-scraper/ (data checked 2026-11-12).
Run TikTok DSA Ads Transparency Library Scraper
$0.99 per 1,000 results. Paste the example input above, set your TikTok Ads Library query, then export the dataset. Still choosing? Compare every TikTok Ads Library route.