YouTube Ad Creative & Advertiser Tracker
Find the video and image ad creatives an advertiser is running on YouTube, discovered by keyword, advertiser name, or advertiser ID, with country, format, and first/last-shown dates.
Open in Apify Store$0.99 / 1K on Free
Short answer
YouTube Ad Creative & Advertiser Tracker is an Apify Store Actor for Google Ads Transparency Center data that returns 38 published output fields, including advertiserName, queriedRegions, servedRegions, sourceUrl. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 16 input settings, none required. It covers 3 of the 4 core Google Ads Transparency Center fields this site tracks. Last updated Nov 6, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
38 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
recordTypeRecord kind: ad, advertiser or run_summaryadIdGoogle creative ID (CR...)advertiserIdGoogle advertiser ID (AR...)advertiserNameAdvertiser display name from GoogleadvertiserCountryCodeAdvertiser headquarters country from SearchSuggestions (not the queried region)countryCodeQueried region(s) used for the ad request, e.g. US or anywherequeriedRegionsList of ISO-2 queried regionsservedRegionsCountries where Google reports the creative was served (requires detail enrichment)formatAd format: TEXT / IMAGE / VIDEO (Google codes 1/2/3)mediaTypetext / image / videoimageUrlAd thumbnail / archived screenshot URLimageWidthMedia width in pixelsimageHeightMedia height in pixelspreviewUrlCreative preview bundle URL (content.js)videoIdYouTube video ID resolved from the creative preview (omitted when not exposed)videoUrlDirect googlevideo media URL when exposed by the creativevideoPageUrlYouTube watch URL for videoIdlandingUrlAdvertiser click URL decoded from the creative overlay when presentvideoThumbnailUrlytimg.com thumbnail found in the creative previewvideoDurationSecondsVideo duration in seconds parsed from the previewvideoIdSourceWhere the video ID came from, e.g. preview:ytimg or detail-preview:youtubefirstShownFirst shown timestamp (ISO 8601)lastShownLast shown timestamp (ISO 8601)daysShownInclusive days between firstShown and lastShownlastShownAgeDaysDays since lastShown relative to the scrape dateadCountAdvertiser total ad count reported on the creativeadCountMinLower bound of Google's advertiser ad-count rangeadCountMaxUpper bound of Google's advertiser ad-count rangesearchTermKeyword or domain that discovered this addomainLanding domain used for discovery
Show the other 8 fields
discoveryMethodadvertiser-id / advertiser-name / domain-input / domain-query / keyword-advertiser / keyword-domainstatusRun or per-advertiser status: success, capped, partial, blocked, empty, filtered_empty, error, skipped, no_new_ads or no_advertisers_foundadsCollectedAds collected for this advertiserpagesFetchedSearchCreatives pages fetchederrorDiagnostic error for this advertiserisNewMonitor mode: ad was not seen in an earlier runsourceUrlAds Transparency Center detail URLscrapedAtISO 8601 scrape timestamp (also included in exports)
Not in the schema among the core Google Ads Transparency Center fields: started_at. The field matrix shows which other tools return them.
How it differs from the other Google Ads Transparency Center Actors
Among the 3 catalogue Actors for Google Ads Transparency Center with a published schema, only this one returns countryCode, mediaType, imageWidth, imageHeight, videoId, videoDurationSeconds, adCountMin, adCountMax.
Pick another Actor if you need
| Actor | Fields it adds | Price / 1K |
|---|---|---|
| Google Ads Advertiser Creative History Scraper | advertiserVerified, creativeId, description, body | $0.99 |
| Google Ads Transparency Creative Lookup by Domain | advertiserVerified, creativeUrl, matchedTerm, scannedAds | $0.99 |
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| advertisers | array | No | – | Advertiser names, AR-IDs, Transparency Center URLs, or landing domains to scrape YouTube ads for (e.g. 'Nike, Inc.', 'AR16735076323512287233', 'nike.com'). Names are matched to the strongest suggestion (exact name first, then ad count). Leave empty to use searchTerms. |
| searchTerms | array | No | – | Keywords or domains used to discover advertisers and domains, then scrape their YouTube ads (e.g. 'electric car', 'nike.com'). Keyword searches also use domain suggestions returned by Google. |
| countries | array | No | – | ISO 3166-1 alpha-2 queried regions sent to the Transparency Center as the ad filter (e.g. US, GB). This is the region the ads were served in, not the advertiser's headquarters country. The advertiser's own country is reported separately as advertiserCountryCode. |
| dateFrom | string | No | – | Keep ads whose observed flight overlaps this window. An ad is kept when firstShown <= dateTo and lastShown >= dateFrom, so ads that started earlier but were still running inside the window are included. |
| dateTo | string | No | – | Keep ads whose observed flight overlaps this window (inclusive). Works together with dateFrom and is no longer compared only against firstShown. |
| format | string | No | all | Server-side creative format filter. TEXT, IMAGE and VIDEO map to Google's verified format codes 1, 2 and 3. |
| includeVideoDetails | boolean | No | false | Fetch GetCreativeById for every creative to enrich last-shown dates, served regions and preview assets. Video IDs are resolved from previews even when this is off. |
| resolveVideoIds | boolean | No | true | Extract videoId, watch URL, thumbnail and duration from creative previews (ytimg/youtube URLs). Missing IDs are omitted, never fabricated. Turn off to save preview requests. |
| maxAdvertisersPerTerm | integer | No | 5 | Maximum advertiser matches (and domain suggestions) to scrape per keyword (when searchTerms is used). |
| maxAdsPerAdvertiser | integer | No | 100 | Cursor-pagination cap per advertiser or domain, applied before the global maxItems cap. |
Show the other 6 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| maxItems | integer | No | 100 | Hard cap on total ad records returned (1-5000). Advertiser and run-summary records do not count toward this cap. |
| maxConcurrency | integer | No | 2 | Advertisers scraped in parallel. Higher is faster but increases rate-limit risk. |
| onlyNew | boolean | No | false | Output only ad IDs not seen in earlier runs and mark them isNew: true. Reuse the same monitorStoreName for the same competitor list. The first run creates the baseline. |
| monitorStoreName | string | No | youtube-ads-monitor | Key-value store that remembers seen ad IDs for monitor mode (default: youtube-ads-monitor). |
| outputFormat | string | No | json | Dataset always receives JSON records. Additionally export results as CSV, Excel, or HTML in the key-value store (OUTPUT.csv / OUTPUT.xlsx / OUTPUT.html). |
| proxyConfiguration | object | No | – | Optional proxy. For moderate traffic no proxy is needed. Enable Apify proxy for high-volume scraping. |
Example input
Built from the input form's published example values and defaults.
{
"searchTerms": [
"nike.com"
],
"countries": [
"US"
],
"format": "all",
"includeVideoDetails": false,
"resolveVideoIds": false,
"maxAdvertisersPerTerm": 5,
"maxAdsPerAdvertiser": 3,
"maxItems": 3,
"maxConcurrency": 2,
"onlyNew": false,
"monitorStoreName": "youtube-ads-monitor",
"outputFormat": "json"
} 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 = {
"searchTerms": [
"nike.com"
],
"countries": [
"US"
],
"format": "all",
"includeVideoDetails": False,
"resolveVideoIds": False,
"maxAdvertisersPerTerm": 5,
"maxAdsPerAdvertiser": 3,
"maxItems": 3,
"maxConcurrency": 2,
"onlyNew": False,
"monitorStoreName": "youtube-ads-monitor",
"outputFormat": "json"
}
run = client.actor("nimbryxo-studio/youtube-ad-creative-and-advertiser-tracker").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 = {
"searchTerms": [
"nike.com"
],
"countries": [
"US"
],
"format": "all",
"includeVideoDetails": false,
"resolveVideoIds": false,
"maxAdvertisersPerTerm": 5,
"maxAdsPerAdvertiser": 3,
"maxItems": 3,
"maxConcurrency": 2,
"onlyNew": false,
"monitorStoreName": "youtube-ads-monitor",
"outputFormat": "json"
};
const run = await client.actor("nimbryxo-studio/youtube-ad-creative-and-advertiser-tracker").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/nimbryxo-studio~youtube-ad-creative-and-advertiser-tracker/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"searchTerms":["nike.com"],"countries":["US"],"format":"all","includeVideoDetails":false,"resolveVideoIds":false,"maxAdvertisersPerTerm":5,"maxAdsPerAdvertiser":3,"maxItems":3,"maxConcurrency":2,"onlyNew":false,"monitorStoreName":"youtube-ads-monitor","outputFormat":"json"}' 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=nimbryxo-studio/youtube-ad-creative-and-advertiser-tracker",
"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 1 GB a run starts at $0.10 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 ($9.90 for results + $0.10 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 Google Ads Transparency Center routes
It ranks 1 of 3 catalogue Actors for Google Ads Transparency Center on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 YouTube Ad Creative & Advertiser Tracker 38 output fields, pay per event 3 of 4 core fields
$0.99 / 1K - 2 Google Ads Advertiser Creative History Scraper 37 output fields, pay per event 2 of 4 core fields
$0.99 / 1K - 3 Google Ads Transparency Creative Lookup by Domain 13 output fields, pay per event 2 of 4 core fields
$0.99 / 1K - + 8 other Store tools, combined Reference only 3 of 4 core fields
from $1.50 / 1K - API No public ad-library API No open API 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: No public ad-library API
No open API. Google publishes the Ads Transparency Center as a public research surface but does not document a general public API for it.
Not applicable.
Other Store tools for Google Ads Transparency Center
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Google Ads Transparency Scraper | 19 | $2.88 |
| Google Ads Transparency Center Scraper & API | 30 | $2.00 |
| Google Ads Transparency Scraper | 26 | $2.00 |
| Google Ads Transparency Center Scraper: Competitor Ads | 19 | $1.50 |
| Google Ads Transparency Scraper | 10 | $1.50 |
What people use it for
- Find advertiser creatives
- Track ad activity
- Monitor new ads
Other catalogue Actors for Google Ads Transparency Center
Google Ads Advertiser Creative History Scraper
Look up an advertiser's ad history on the Google Ads Transparency Center by URL, name, or domain, with ad format, preview media, and first/last…
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…
Similar Actors
YouTube Channel Video Catalog & Profile Scraper
Get a YouTube channel's profile details (subscribers, description, links, verification) together with its video, Shorts, playlist or live-stream…
YouTube Playlist Contents & Channel Playlist Finder
List every video in a YouTube playlist, or discover every public playlist a channel owns, with titles, durations, thumbnails, and playlist metadata.
YouTube Search Results & Entity Type Scraper
Search YouTube by keyword for videos, Shorts, channels, or playlists, with view counts, duration, and channel details, filterable by upload date,…
YouTube SponsorBlock Segments Scraper
Get community-reported SponsorBlock segments for any YouTube video: sponsor reads, intros, outros, self-promos, filler, highlights, and more, with…
YouTube Video Metadata & Chapter Extractor
Get full metadata for any YouTube video or Short: channel info, chapters, endscreen elements, caption track list, related videos and comments,…
YouTube Trending Feed Extractor by Category & Market
Get video lists for YouTube's Gaming, Music, News, Movies and Trending sections in any of 31 regional markets, with views, duration and channel…
Questions people ask
How much does YouTube Ad Creative & Advertiser Tracker 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 YouTube Ad Creative & Advertiser Tracker return?
Its published output schema lists 38 fields: recordType, adId, advertiserId, advertiserName, advertiserCountryCode, countryCode, queriedRegions, servedRegions, format, mediaType, imageUrl, imageWidth, and 26 more. A listed field is not guaranteed to be filled in every row.
What input does YouTube Ad Creative & Advertiser Tracker need?
No input is strictly required; the defaults run as is. Common settings: advertisers, searchTerms, countries, dateFrom, dateTo, format.
What are the alternatives to YouTube Ad Creative & Advertiser Tracker for Google Ads Transparency Center?
3 catalogue Actors cover Google Ads Transparency Center. Close alternatives: Google Ads Advertiser Creative History Scraper; Google Ads Transparency Creative Lookup by Domain. The Google Ads Transparency Center page compares all of them field by field.
How do I run YouTube Ad Creative & Advertiser Tracker from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("nimbryxo-studio/youtube-ad-creative-and-advertiser-tracker").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("nimbryxo-studio/youtube-ad-creative-and-advertiser-tracker").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/nimbryxo-studio~youtube-ad-creative-and-advertiser-tracker/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- YouTube Ad Creative & Advertiser Tracker on Apify Store
- Published build with input and output schema (JSON)
- No public ad-library API documentation
Cite this page
Scraper Finder. "YouTube Ad Creative & Advertiser Tracker." https://scraperfinder.com/catalogue/youtube-ad-creative-and-advertiser-tracker/ (data checked 2026-11-12).
Run YouTube Ad Creative & Advertiser Tracker
$0.99 per 1,000 results. Paste the example input above, set your Google Ads Transparency Center query, then export the dataset. Still choosing? Compare every Google Ads Transparency Center route.