Google Ads Transparency Competitor Ad Intelligence at Scale
Pricing
from $100.00 / 1,000 ad scrapeds
Google Ads Transparency Competitor Ad Intelligence at Scale
Real ads from the public Google Ads Transparency Center for any advertiser or website: advertiser ids and names, creative ids, formats, first and last shown dates, countries, platforms, preview links and ad text. Nothing is estimated.
Pricing
from $100.00 / 1,000 ad scrapeds
Rating
0.0
(0)
Developer
The Howlers
Maintained by CommunityActor stats
1
Bookmarked
52
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Google Ads Transparency Scraper
See the ads any company runs on Google. Give an advertiser name, a website domain, or a link from the Google Ads Transparency Center, and the run returns that advertiser's ads the way the Transparency Center lists them: advertiser id and name, creative id, format, first and last shown dates, the countries each ad ran in, platforms, preview links and the ad text from Google's own preview.
Every value comes from the public Transparency Center. Nothing is estimated, guessed or filled in. When Google does not publish a value for an ad, the field is null.
What you get for each ad
| Field | What it is |
|---|---|
advertiserId, advertiserName | The advertiser account on the Transparency Center (ids start with AR) |
advertiserCountry, verified | Country Google lists for the advertiser, and whether its identity is verified |
advertiserTotalAds | How many ads Google lists for the advertiser in total (Google gives a range, for example 9000 to 10000) |
creativeId (also adId) | The ad's id on the Transparency Center (starts with CR) |
adFormat | TEXT, IMAGE or VIDEO |
firstShown, lastShown, daysShown | First and last day Google showed the ad, and on how many days it ran |
region | Country codes the ad ran in |
regionDetails | Per country: first and last shown dates, and impression ranges and platforms where Google publishes them (mostly EU countries) |
platform | Platforms Google reports for the ad: SEARCH, YOUTUBE, SHOPPING, MAPS, PLAY |
imageUrl, imageUrls | Google's archived image of the ad, and images found in its preview |
previewScriptUrl | Google's preview script for the ad (what the Transparency Center renders) |
adText | Text lines read from Google's preview of the ad (headline, description, display URL and so on) |
videoUrl, youtubeVideoId | The YouTube video of a video ad, when the preview names it |
category, targeting, eeaImpressions, landingPageUrl | Extra details Google publishes for some ads (mainly ads shown in the EU) |
transparencyUrl, advertiserUrl | Links to the ad and the advertiser on the Transparency Center |
previewStatus, detailsStatus | Whether the preview and the per-country details were read |
Three ways to pick the advertiser
By name (advertiserName). The run uses the Transparency Center's own advertiser search, keeps the names that contain every word you typed, and picks the one with the most ads that match your filters. The log and the OUTPUT record list the candidates it compared. Companies often advertise through several accounts (for example "Nike, Inc." and "Nike Retail BV"); set maxAdvertisers to include more than one. An advertiser id such as AR16735076323512287233 also works here.
By website (domain). Returns the ads that lead to a domain, for example homedepot.com, from every advertiser that runs them.
By link (advertiserUrl). Paste an advertiser page (https://adstransparency.google.com/advertiser/AR...), a single ad (.../advertiser/AR.../creative/CR...), or a domain search (?domain=...) from the Transparency Center.
If you fill in more than one, the run uses the first of: link, domain, name, search box text.
Filters
| Input | Values | Default |
|---|---|---|
region | US, GB, CA, AU, DE, FR, ES, IT, JP, BR, IN, or ALL | US |
adFormat | ALL, TEXT, IMAGE, VIDEO | ALL |
platform | ALL, SEARCH, YOUTUBE, SHOPPING, MAPS, PLAY (DISPLAY has no filter on the Transparency Center and returns every platform) | ALL |
dateRange | 7_DAYS, 30_DAYS, 90_DAYS, 1_YEAR, ALL_TIME | 30_DAYS |
maxAds | 1 to 500 ads per advertiser (or per domain) | 50 |
maxAdvertisers | 1 to 5 advertiser accounts for a name search | 1 |
includeCreatives | Read each ad's preview for its text, images and video | true |
webhookUrl | Optional URL that receives each ad as JSON | none |
Input examples
An advertiser by name, last 30 days, United States:
{"advertiserName": "Nike","region": "US","dateRange": "30_DAYS","maxAds": 50}
Video ads that lead to a website, last 90 days:
{"domain": "homedepot.com","adFormat": "VIDEO","dateRange": "90_DAYS","maxAds": 20}
One advertiser by its Transparency Center link, all countries, any time:
{"advertiserUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233","region": "ALL","dateRange": "ALL_TIME","maxAds": 100}
Output example
A real row (shortened) from a run with "advertiserName": "Nike":
{"advertiserId": "AR16735076323512287233","advertiserName": "Nike, Inc.","advertiserCountry": "US","verified": true,"advertiserTotalAds": { "min": 9000, "max": 10000 },"creativeId": "CR04739221842466701313","adFormat": "TEXT","firstShown": "2023-11-16","lastShown": "2026-11-03","daysShown": 949,"region": ["US"],"regionDetails": [{ "regionCode": "US", "regionName": "United States", "geoId": 2840, "firstShown": null, "lastShown": "2026-11-03", "impressions": null, "platforms": [] }],"platform": [],"imageUrl": "https://tpc.googlesyndication.com/archive/simgad/1487710635456515896","adText": ["Sponsored", "Nike", "nike.com", "Nike® Official Site", "Shop the official Nike® store for the latest shoes, apparel & gear."],"transparencyUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR04739221842466701313?region=US","previewStatus": "ok","detailsStatus": "ok"}
When a lookup finds nothing, the dataset gets one free status row instead (status is advertiser_not_found, no_ads_found, not_found or error, with a message that says what to try).
What Google does not publish
- Spend. The Transparency Center shows spend only for political ads, so this Actor returns none for ordinary advertisers.
- Impressions and platforms outside the EU. Google publishes impression ranges and per-platform numbers mainly for ads shown in the EU and a few other regions. For a US-only ad,
impressionsisnullandplatformis empty. - Searching ad text. The Transparency Center searches advertiser names and website domains, not the words inside ads. The
searchQuerybox works like the site's search box. - Previews for every ad. For some ads Google cannot render a preview;
previewStatusis thengoogle_cannot_render_previewandadTextisnull. - Per-country first dates. For some countries Google reports when an ad was first shown only within its reporting window, so a country's
firstShowncan be later than the ad's overallfirstShown.
Pricing
This actor uses pay-per-event billing:
| Event | When it is charged | Price |
|---|---|---|
| Actor start | Once when the run starts, one event per GB of memory (minimum one). At the default 4 GB of memory a run starts at $0.40 | $0.10 per GB |
| Ad Scraped | Per ad scraped from Google Ads Transparency Center | $0.10 |
| Result | Each item written to the default dataset | $0.00001 |
An ad is charged once, after it is saved with its details. Status rows, ads whose details could not be read, and demo rows are not charged as ads. Set a maximum charge for the run and the Actor stops when it is reached.
Demo mode
Set demoMode to true to get 2 labeled sample rows (demo: true, with a _notice) that show the output format. Demo mode reads nothing from Google and charges no ads.
How it reads the Transparency Center
The Actor calls the same public endpoints the Transparency Center website uses, with the same filters, and paces its requests. When Google refuses a request it moves to an Apify residential proxy session, and as a last step to a stealth Firefox browser (Camoufox) that makes the same calls from inside the Transparency Center page. It never logs in to anything.
Troubleshooting
The run picked the wrong advertiser. Use the full name as Google shows it (for example "Home Depot U.S.A. Inc."), raise maxAdvertisers, or paste the advertiser's Transparency Center link. The OUTPUT record lists every candidate the run compared.
No ads found. Many advertisers run few ads in a given country or month. Try region ALL, a longer dateRange, or the advertiser's website domain.
The run failed with "did not answer". Google refused every request for a while. Run it again later.
Built by John Rippy | Actor Arsenal