Google Ads Transparency Scraper — Competitor Ads & Creatives avatar

Google Ads Transparency Scraper — Competitor Ads & Creatives

Pricing

from $1.50 / 1,000 ad scrapeds

Go to Apify Store
Google Ads Transparency Scraper — Competitor Ads & Creatives

Google Ads Transparency Scraper — Competitor Ads & Creatives

Scrape Google Ads Transparency Center: all ads of any advertiser or website with format, first/last shown dates, countries, ad text, images and YouTube videos.

Pricing

from $1.50 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Scrape the public Google Ads Transparency Center (adstransparency.google.com): every ad a competitor runs on Google Search, YouTube, Display, Shopping, Maps and Play. Search by advertiser name, advertiser ID (AR…), website (all advertisers that run ads for a domain) or paste a Transparency Center URL. Filter by country, date range, format (text, image, video) and platform.

You get one row per ad creative: creative and advertiser IDs, advertiser name, country and verification, format, first and last shown, number of days shown, the ad image or preview link, and the ad text of classic text and shopping ads. Turn on Include ad details for the full picture: headline, description, call to action, destination URL, images or the YouTube video, every variant, and every country where the ad ran with first/last shown dates and impression ranges per platform (plus EU targeting and political ad spend where Google publishes them).

No Google account, no login, no API key.

What data does Google Ads Transparency Scraper extract?

FieldExampleNotes
creativeIdCR01820856573459693569Google's ID of the ad creative
advertiserId, advertiserNameAR16735076323512287233, Nike, Inc.The verified advertiser
advertiserCountry, advertiserLegalName, advertiserVerifiedUS, Nike, Inc., true"Based in", legal name and identity verification
formatTEXT, IMAGE, VIDEOAd format as Google classifies it
firstShown, lastShown2023-11-17T01:09:13Z, 2026-10-11T22:53:25ZWhen Google first and last showed the ad (UTC)
daysShown879Number of days the ad was shown
headline, description, displayUrl, sitelinksNike® Official Site - The Latest Jordan 6Text ads. Classic text ads: always; others with Include ad details
productTitle, productPrice, productCurrency, productSeller, merchant114.99, GBPShopping ads
imageUrl, imageWidth, imageHeighthttps://tpc.googlesyndication.com/archive/simgad/...Image ads, and text ads Google archived as an image
previewUrl, previewTypehttps://displayads-formats.googleusercontent.com/ads/preview/content.js?...Google's preview of the ad (script / image)
domainnike.comThe website matched in website searches
impressions, spend, politicalRegions{"lower": 35000, "upper": 40000}, {"currency": "USD", "lower": 700, "upper": 800}Political ads
creativeUrlhttps://adstransparency.google.com/advertiser/AR.../creative/CR...The ad's page in the Transparency Center
searchInput, regionnike.com, USWhich search produced the ad, and the country filter used

With Include ad details (one extra request per ad, separate details event):

FieldNotes
headline, description, callToAction, displayUrl, destinationUrl, adTextsText from the ad preview: responsive search, display, local and video ads (adTexts = all texts of the ad in order)
imageUrls, youtubeVideoId, youtubeUrlImages of display ads; the YouTube video of video ads
variations, variationCountEvery variant of the ad (preview link or image; text of classic variants)
regionsEach country where the ad ran: firstShown, lastShown, impressions range and platforms (Search, YouTube, Shopping, Maps, Play) with their impression ranges, as Google publishes them
regionCodesThe same countries as a list (["DE", "PL", "TR"])
euImpressions, usImpressionsTotals for the EU (Digital Services Act data) and for US political ads
targetingWhich targeting the advertiser used (demographics, locations, contextual signals, topics, customer lists: included/excluded); for political ads the targeted and excluded locations by name
payerName, categoryId, containsSyntheticMediaWho paid (EU ads), Google's ad category, AI-generated media flag

How to scrape a competitor's Google ads

  1. Enter the competitor in Advertiser names or websites (Nike or nike.com), in Advertiser IDs (AR16735076323512287233, from the advertiser's page URL) or paste a Transparency Center URL.
  2. Optionally pick Country, Ad format, Platforms and a date range (Shown from / until, e.g. 30 days).
  3. Set Max ads, turn on Include ad details if you need the ad texts, YouTube videos and per-country data, and run. Download the results as JSON, CSV or Excel, or read them through the API.

A website search returns the ads of every advertiser that runs ads for that domain (for nike.com: Nike, Inc., Nike Retail BV, Nike's agencies and resellers). A name is matched to the advertiser with that exact name that has the most ads ("nike" → Nike, Inc., 9,000-10,000 ads); use the AR ID when you want one specific advertiser account.

Input example

{
"searchTerms": ["nike.com"],
"advertiserIds": ["AR16735076323512287233"],
"startUrls": [
{ "url": "https://adstransparency.google.com/advertiser/AR16735076323512287233?region=US&format=VIDEO&platform=YOUTUBE" }
],
"country": "US",
"mediaType": "all",
"dateFrom": "30 days",
"includeDetails": true,
"maxItems": 200,
"maxItemsPerQuery": 100
}

Output example

A Nike search ad found with "searchTerms": ["nike"], country US and Include ad details on (run JAYQ0IaEcC2jk8d7l; variants and texts shortened):

{
"creativeId": "CR08772523512997871617",
"advertiserId": "AR16735076323512287233",
"advertiserName": "Nike, Inc.",
"advertiserVerified": true,
"advertiserCountry": "US",
"advertiserLegalName": "Nike, Inc.",
"format": "TEXT",
"firstShown": "2023-11-16T22:45:12Z",
"lastShown": "2026-10-11T23:18:42Z",
"daysShown": 900,
"imageUrl": "https://tpc.googlesyndication.com/archive/simgad/9947846129517650742",
"imageWidth": 348,
"imageHeight": 322,
"previewType": "image",
"headline": "Nike® Official Site",
"description": "Shop your style with the latest jumpsuits, rompers & bodysuits from Nike®. Gear up now.",
"displayUrl": "nike.com",
"adTexts": ["Nike® Official Site", "Shop your style with the latest jumpsuits, rompers & bodysuits from Nike®. Gear up now.", "Nike Factory Store - Kansas City", "1803 Village West Parkway Space M-125"],
"variationCount": 5,
"variations": [
{ "previewType": "image", "imageUrl": "https://tpc.googlesyndication.com/archive/simgad/9947846129517650742", "imageWidth": 348, "imageHeight": 322 },
{ "previewType": "image", "imageUrl": "https://tpc.googlesyndication.com/archive/simgad/3041684539231921355", "imageWidth": 364, "imageHeight": 354 }
],
"regions": [{ "country": "US", "lastShown": "2026-09-01" }],
"regionCodes": ["US"],
"payerName": "Nike, Inc.",
"creativeUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR08772523512997871617?region=US",
"searchInput": "nike",
"region": "US"
}

An EU ad with details carries per-country data like this:

"regions": [
{
"country": "DE", "firstShown": "2024-06-12", "lastShown": "2026-10-11",
"impressions": { "lower": 45000, "upper": 50000 },
"platforms": [
{ "platform": "SEARCH", "impressions": { "lower": 25000, "upper": 30000 } },
{ "platform": "YOUTUBE", "impressions": { "lower": 15000, "upper": 20000 } }
]
}
],
"targeting": { "demographics": { "included": true, "excluded": false }, "locations": { "included": true, "excluded": true } }

Monitor changes on a schedule

Turn on Only new or changed items to track a competitor's new ads: the Actor remembers which ads earlier runs of the same input returned and outputs only ads it has not seen before (with Also report ads shown again, also known ads whose last-shown time moved, i.e. ads still running). Ads already seen are dropped before anything is saved, so they are not charged (nor are their details fetched). Save the input as a task, for example a competitor's advertiser ID with country US and Max ads 200, then add a Schedule to it in Apify Console (Schedules → Create new, daily) and connect a webhook, Slack or Google Sheets integration to get the new ads. Every output ad carries changeType (new or changed); changed ones carry previousValues with the old lastShown. The Transparency Center lists the most recently active ads first, so keep Max ads above the number of ads the advertiser runs at the same time. Use Monitoring key to keep several schedules on the same search separate.

Does it work without login or an API key?

Yes. The Transparency Center is a public site that anyone can browse without an account, and Google offers no API for it. The Actor reads it the same way the site does, through Apify's ordinary datacenter proxy: no cookies, no CAPTCHA solving, no residential proxy. If a request fails, it is retried on another IP.

Can I get the text of every ad?

Classic text ads and shopping ads carry their text in the preview link, so you get headline, description, display URL, sitelinks or product data in every row at no extra cost. Responsive search ads, display, local and video ads are assembled by Google's previewer; turn on Include ad details and the Actor opens the preview once per ad to read headline, description, call to action, destination URL, images and the YouTube video. Many text ads are archived by Google only as a picture of the ad: for those you get the image URL (imageUrl), and details add any variant that has text.

How much does it cost to scrape the Google Ads Transparency Center?

You pay per ad saved ($1.50 per 1,000 ads), plus $2.00 per 1,000 ads when Include ad details is on, plus the Apify platform usage of your run. Usage is small: one request returns 100 ads (15-75 KB), and one tiny lookup per advertiser fills in its country and legal name. In our tests a run of 100 ads used $0.0008 of platform usage and 13 ads with details $0.0007 (mostly the container start). Details add one small request per ad and, for ads whose text is not in the link, one preview download (50-500 KB).

Proxy note: keep the default datacenter proxy. The Unblocker and residential proxies are not needed.

The Actor collects what Google publishes in its public Ads Transparency Center: ads, the verified advertisers that ran them (business names, the country they are based in) and the reach and targeting data Google discloses. It does not log in, does not access anything behind a login, and collects nothing about people who saw the ads. Ad images and videos stay on Google's servers; the dataset holds their links. You are responsible for using the data in line with Google's terms and the laws that apply to you.