Google Ads Transparency Scraper avatar

Google Ads Transparency Scraper

Pricing

from $1.00 / 1,000 ad scrapeds

Go to Apify Store
Google Ads Transparency Scraper

Google Ads Transparency Scraper

Scrape Google Ads Transparency Center: every Search, YouTube, Maps, Play and Shopping ad of a brand, domain or advertiser, with dates, formats, images, per-country stats, EU impressions and new-ad monitoring. Fast, no browser.

Pricing

from $1.00 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

mustafa kılıç

mustafa kılıç

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Get every Google ad a brand, website or advertiser runs, straight from the Google Ads Transparency Center: text, image and video ads on Google Search, YouTube, Maps, Play and Shopping, with first and last shown dates, ad images, YouTube links, ad copy, the countries each ad ran in and the impression ranges Google publishes for the EU.

It talks to the Transparency Center's own data endpoints instead of driving a browser, so it is fast and cheap to run: in our tests 200 ads came back in under 3 seconds, and about 4 ads per second with per-country details and ad copy turned on.

What can you do with it?

  • Competitor ad research: see every ad a competitor runs, which formats they use, how long each ad has been live and where it is shown.
  • New ad alerts: schedule a daily run with Only new ads and get just the ads launched since the previous run.
  • Agency prospecting: find which companies advertise on a domain or in a country, and how many ads they run.
  • Creative inspiration: collect ad images, YouTube creatives and ad copy for a niche.
  • Compliance and brand protection: check who runs ads that point to your domain.

How to use it

  1. Enter one or more queries, one per line:
    • a domain such as nike.com: every ad that points to that website, from any advertiser account;
    • a brand name such as HelloFresh: the matching advertiser accounts (largest first) and their ads;
    • an advertiser ID such as AR17410177287600472065, or an Ads Transparency Center URL copied from your browser.
  2. Optionally filter by region, platform, ad format and date range.
  3. Click Start. Results appear in the dataset as they are scraped; download them as JSON, CSV, Excel or HTML, or read them through the API.

Input example

{
"queries": ["nike.com", "HelloFresh"],
"region": "DE",
"platform": "YOUTUBE",
"adFormat": "VIDEO",
"startDate": "30 days",
"maxAdsPerQuery": 200,
"includeDetails": true,
"includeAdContent": true
}

Output example

One row per ad. The fields under details and ad content are added only when those options are on.

{
"query": "nike.com",
"queryType": "domain",
"advertiserId": "AR18378488041124659201",
"advertiserName": "Nike Retail BV",
"creativeId": "CR15051374359509729281",
"format": "TEXT",
"firstShown": "2025-10-24T11:40:34+00:00",
"lastShown": "2026-11-01T09:00:59+00:00",
"daysShown": 314,
"domain": "nike.com",
"imageUrl": null,
"previewUrl": "https://displayads-formats.googleusercontent.com/ads/preview/content.js?client=ads-integrity-transparency&...",
"adUrl": "https://adstransparency.google.com/advertiser/AR18378488041124659201/creative/CR15051374359509729281?region=anywhere",
"variationCount": 1,
"regionCount": 8,
"regions": [
{
"countryCode": "AT",
"countryName": "Austria",
"firstShown": "2025-10-24",
"lastShown": "2026-11-01",
"impressionsMin": 10000,
"impressionsMax": 15000,
"platforms": [
{ "platform": "MAPS", "impressionsMin": 0, "impressionsMax": 1000 },
{ "platform": "SEARCH", "impressionsMin": 10000, "impressionsMax": 15000 }
]
}
],
"euImpressionsMin": 15000,
"euImpressionsMax": 20000,
"euFirstShown": "2025-10-24",
"euLastShown": "2026-11-01",
"adTexts": [
"{KeyWord:Nike Trainers}",
"Discover {KeyWord:Nike Shoes} Online At Nike.com. Shop The Official Nike Site.",
"nike.com",
"Designer-Outlet-Straße 1"
],
"scrapedAt": "2026-11-01T09:20:51+00:00"
}

Video ads with ad content also get "youtubeUrl": "https://www.youtube.com/watch?v=5kbRYm0TFIo". Text like {KeyWord:Nike Shoes} is the advertiser's own keyword insertion placeholder, exactly as Google publishes it.

FieldDescription
advertiserId, advertiserNameThe verified advertiser account behind the ad.
creativeId, adUrlThe ad's ID and its page in the Transparency Center.
formatTEXT, IMAGE or VIDEO.
firstShown, lastShown, daysShownWhen the ad ran (UTC) and on how many days.
domainThe website the ad points to, when Google publishes it.
imageUrlImage of image ads. Google archives text ads as images too.
previewUrlScript that renders text and video ads in the Transparency Center.
variations, variationCountEvery creative variation (details).
regions, regionCountEach country the ad ran in with its dates; for EU countries also the impression range and per-platform impressions (details).
euImpressionsMin, euImpressionsMaxTotal EU impressions range (details).
youtubeVideoId, youtubeUrlThe YouTube video of video ads (ad content).
adTextsText shown in the ad: headline, description, display URL, sitelinks, product titles (ad content).

With What to return: Advertisers you get advertiser accounts instead of ads: for a brand name the matching accounts with their country and approximate number of ads, for a domain the accounts running ads that point to it, with how many of the scanned ads each ran.

Monitoring new ads

Turn on Only new ads and schedule the Actor (for example daily). The first run returns ads as usual and starts monitoring. Each later run checks the most recently shown ads (up to Max ads per query) and returns only ads first shown after monitoring started that were not returned before. Each query and filter combination is tracked separately in a named key-value store, so you can run several monitors side by side by giving them different storage names. Connect the run to Slack, email, Google Sheets or a webhook through integrations to get alerts.

Pricing

You pay per result, nothing for failed queries:

EventPrice
Ad$1.00 per 1,000 ads
Per-country details (optional)$1.50 per 1,000 ads
Ad copy and video link (optional, charged only when found)$1.00 per 1,000 ads
Advertiser (advertisers mode)$2.00 per 1,000 advertisers

Example: the 200 most recent ads of a brand with details cost $0.50.

Tips and limits

  • Large advertisers run tens of thousands of ads. Set Max ads per query to what you need; results come newest first (by last shown date).
  • Impression numbers exist only for ads shown in the EU, because the Digital Services Act requires Google to publish them. Elsewhere you get the countries and dates.
  • Ad copy is extracted on a best-effort basis from the preview Google renders. Some video ads do not reveal their YouTube video. You are charged for ad content only when something is found.
  • Rate limits: Google limits requests per IP address. The Actor uses residential proxies by default and retries from a new IP when it is rate-limited.
  • Region codes are two-letter country codes (US, DE, TR). Use anywhere for all countries.

The Ads Transparency Center is a public database that Google publishes so anyone can see who is advertising and where; the EU Digital Services Act requires this data to be public. The Actor collects only that public ad data, no personal data. Make sure your use of the data complies with Google's terms and the laws that apply to you.

Use it through the API or with AI agents

Every run can be started through the Apify API or the Python and JavaScript clients, and the Actor is available to AI agents through the Apify MCP server.

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("<USERNAME>/google-ads-transparency-scraper").call(run_input={"queries": ["nike.com"], "maxAdsPerQuery": 100})
for ad in client.dataset(run["defaultDatasetId"]).iterate_items():
print(ad["advertiserName"], ad["format"], ad["lastShown"])

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Google. It only collects publicly available data; make sure your use complies with the applicable terms and laws.

Feedback

Found a bug or need a field that is missing? Open an issue in the Issues tab and it will be looked at quickly.