Google Ads Transparency Scraper: EU Reach & Ads avatar

Google Ads Transparency Scraper: EU Reach & Ads

Pricing

from $1.50 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper: EU Reach & Ads

Google Ads Transparency Scraper: EU Reach & Ads

Google ads by domain, advertiser or Google Maps list, with EU reach per country and audience criteria. Check which companies advertise. Monitor new ads. Not affiliated with Google.

Pricing

from $1.50 / 1,000 ads

Rating

0.0

(0)

Developer

Tom J

Tom J

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share

Independent tool. Not affiliated with, endorsed by or sponsored by Google. The data comes from Google's public Ads Transparency Center.

Scrape Google Ads Transparency Center data by company domain, advertiser ID, Transparency Center link or a whole Google Maps list, and get every ad a company runs on Google, with EU reach per country, audience criteria and topic included. A cheaper advertiser check answers one question per company: does this business advertise on Google, and under which advertiser? No login, no API key. From $1.50 per 1,000 ads. Failed requests and filtered ads are not charged.

What you can do with it

  • Research competitor ads: see which Google ads a competitor runs (Search, YouTube, Shopping, Maps, Play), when each ad was first and last shown and for how many days.
  • See EU reach and targeting: for ads shown in the EU, get times shown per country (as Google's range), the ad topic and which audience criteria the advertiser used (demographics, location, contextual signals, customer lists, interests).
  • Qualify leads at scale: run an advertiser check on a Google Maps list of 200 local businesses and find out which ones spend on Google Ads, a strong signal for agencies selling marketing services.
  • Monitor new ads: watch a list of competitors and receive only the ads that are new since your previous run.
  • Feed reports and dashboards: export to JSON, CSV or Excel, or push the results to Google Sheets, Make, Zapier or n8n.

How to use the Google Ads Transparency scraper in 3 steps

  1. Add what you want to look up: company domains (e.g. example.be), Google advertiser IDs, Ads Transparency Center links, or pick a Google Maps scraper dataset in Google Maps results (dataset).
  2. Choose a mode: ads (all ads with details), advertiserCheck (yes/no per company) or monitor (only new ads). Pick the country in Countries; EU details are fetched for the first country in the list.
  3. Click Start. Each ad (or each checked company) becomes one row in the dataset.

Modes

ModeWhat you getCharged per
adsEvery ad of each domain or advertiser, up to Max ads per domain or advertiser, with optional EU detailsad, plus ad with EU details
advertiserCheckOne row per company: advertises on Google yes/no, and the advertiser behind itcheck (a "no" is an answer too)
monitorThe first run with a store name saves the current ads and returns them; later runs return only ads not returned before and first shown on or after the previous runnew ad, plus EU details

Use one monitor store name per watch list.

Input

FieldMeaningExample
Domains / advertiser IDs / linksWhat to look upvandenborre.be
Google Maps results (dataset)A dataset from your own Google Maps scraper rundataset ID
Modeads, advertiserCheck, monitorads
CountriesCountry for EU details (first one is used)BE
Max ads per domain or advertiserUpper limit per input50
formats, shownAfter, shownBeforeFilters (ads removed by a filter are not charged)TEXT, 2026-09-01
Allow residential proxyFallback when other connections are refusedon

Chaining after a Google Maps scraper:

{ "datasetId": "{{resource.defaultDatasetId}}", "mode": "advertiserCheck" }

Output (mode ads)

{
"input": { "type": "domain", "value": "vandenborre.be" },
"advertiserId": "AR…",
"advertiserName": "…",
"domain": "vandenborre.be",
"creativeId": "CR…",
"format": "TEXT",
"firstShown": "2026-03-04",
"lastShown": "2026-10-21",
"shownForDays": 232,
"transparencyUrl": "https://adstransparency.google.com/…",
"euDetailsRegion": "BE",
"euDetails": {
"topic": { "id": 10007, "name": "Internet & Telecom" },
"regionStats": [{ "region": "BE", "timesShownLowerBound": 6000, "timesShownUpperBound": 7000, "firstShown": "2026-03-04", "lastShown": "2026-10-21" }],
"audienceSelection": {
"demographicInfo": "CRITERIA_INCLUDED",
"geoLocation": "CRITERIA_INCLUDED_AND_EXCLUDED",
"contextualSignals": "…",
"customerLists": "CRITERIA_UNUSED",
"topicsOfInterest": "…"
}
}
}

EU field names follow Google's own transparency data descriptions. Images and videos are not copied: you get Google's own links to the ad and its preview. The run summary (OUTPUT) shows the connection used (proxyTier) and how many rows carry the residential surcharge (residentialItems). Export as JSON, CSV, Excel or XML.

How much does it cost to scrape Google Ads Transparency data?

Pay per event, no monthly rental.

EventPrice
Ad$0.0015
EU details for an ad$0.001
Advertiser check (per company)$0.002
Residential proxy (per row collected over residential)$0.0005
Actor start$0.00005

Examples: 500 ads with EU details = 500 × ($0.0015 + $0.001) = $1.25. An advertiser check on a Google Maps list of 1,000 companies = $2.00. The Pricing tab is authoritative.

What you are not charged for

  • Ads removed by formats, shownAfter or shownBefore.
  • Ads already returned in an earlier monitor run.
  • Google Maps rows without an own website.
  • Errors.

Use it after a Google Maps scraper

  1. Run a Google Maps scraper in your own Apify account.
  2. Choose that dataset in Google Maps results (dataset), pick mode Advertiser check and start; or
  3. On the Maps scraper, open Integrations → Add integration, choose this Actor and use the input above.

Only the website, name, city, country and place ID of each Maps row are read. Each company website is checked once.

Automate & schedule

Create a Schedule (e.g. every Monday) in monitor mode to receive only new ads of your competitors. Add Apify's Send email integration or a webhook to get notified.

Integrate with any app

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("olliolli/google-ads-transparency-eu").call(
run_input={"domains": ["example.be"], "mode": "ads", "countries": ["BE"]}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["advertiserName"], item["firstShown"], item["shownForDays"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('olliolli/google-ads-transparency-eu').call({ domains: ['example.be'], mode: 'advertiserCheck' });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Check the exact input field names in the Input tab (JSON view). The Actor also works from Make, Zapier, n8n and Google Sheets through Apify's integrations.

Use with AI assistants (MCP)

Through Apify's MCP server, assistants such as Claude or ChatGPT can call this Actor as a tool: "Which of these 50 companies advertise on Google?"

Connection and the residential proxy surcharge

The Actor tries a direct connection first, then the Apify datacenter proxy, and only then the residential proxy for the rest of the run. Turn off Allow residential proxy to stop instead. It sends few requests at a time, waits between them, never solves captchas, and stops instead of pushing harder when Google refuses requests.

Good to know

  • Times shown is a range and lags behind: Google updates these numbers with a delay of weeks.
  • EU details exist only for ads shown in the EU/EEA, and are fetched for the first country in Countries. Run once per country.
  • Spend is not published by Google; the Actor does not estimate it.

FAQ

Is this the same as the Google Ads Library? Google calls it the Ads Transparency Center. It is the public library of ads served by verified advertisers. This Actor reads it in bulk.

Can I see how much a competitor spends on Google Ads? No. Google does not publish spend. You get ad counts, formats, dates, days active and, for EU ads, a range of times shown per country.

Which countries have reach and audience data? Ads shown in the EU/EEA. Elsewhere you still get the ads, dates and formats.

Can I monitor a competitor's new ads every week? Yes: monitor mode plus a weekly schedule returns only ads you have not seen before.

Can I check which of my Google Maps leads advertise? Yes, with advertiserCheck on a Maps dataset. Each company website is checked once.

Is it allowed to scrape the Ads Transparency Center? The data is public, but Google's terms apply to your use of it. This is an independent tool; you are responsible for complying with those terms and the law that applies to you.

Why are some ads missing? Google lists ads per advertiser and region with delays, and your limits and filters reduce the set. Raise Max ads per domain or advertiser or remove filters.

Disclaimer

Independent tool, not affiliated with, endorsed by or sponsored by Google. Users are responsible for complying with the Ads Transparency Center terms and the law that applies to their use of the data.

Need help?

Open an issue on the Issues tab. Feature requests are welcome.