Google Ads Transparency Scraper avatar

Google Ads Transparency Scraper

Pricing

from $1.50 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper

Google Ads Transparency Scraper

Get every ad a brand or website runs on Google Search, YouTube, Maps, Play and Shopping from the Ads Transparency Center: previews, dates and formats, plus optional reach by country and EU impressions.

Pricing

from $1.50 / 1,000 ads

Rating

0.0

(0)

Developer

Agustina Gueglio

Agustina Gueglio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Categories

Security

Limited permissions

Share

See every ad a brand or website runs on Google. This Actor extracts ads from the Google Ads Transparency Center for Google Search, YouTube, Google Maps, Google Play and Google Shopping, as clean JSON, CSV or Excel:

  • Ad previews (image URL or preview script), format (text, image, video) and a link to each ad's page
  • First and last date shown and number of days shown: spot the long-running ads that work
  • Optional reach details: every country where the ad ran, with dates, impression ranges by platform (published for the EU and some other regions), and all ad variations
  • Monitoring mode: get only the ads that are new since your last run, and schedule it to track competitors daily or weekly

Search by domain (e.g. nike.com), advertiser name, advertiser ID, or paste links straight from the Ads Transparency Center. Filter by region, platform, format and date range.

Built to be reliable

Every request Google blocks is retried automatically on a fresh residential IP. If a domain or advertiser still fails, you get a clear error message for it and you are not charged for it.

Use cases

  • Competitor research: see every ad your competitors run, what formats they use and which ads they keep running for months
  • Creative inspiration: collect ad previews by industry or brand
  • Agencies and media buyers: audit a prospect's Google advertising before a pitch
  • Market and brand-safety research: track which advertisers target a domain or a country
  • Data and AI pipelines: feed ad data into dashboards, models or agents through the API

How to use

  1. Add domains, advertiser names, advertiser IDs or Ads Transparency Center links.
  2. Optionally set a region, platform, format or date range.
  3. Turn on Include reach details if you need countries and impressions.
  4. Click Start, then download the results or connect them to Google Sheets, Make, Zapier, n8n or your own code.

Monitor competitors' new ads

  1. Add your competitors' domains or advertiser names and turn on Only new ads (monitoring).
  2. Click Save as a new task, then schedule the task (for example every morning) from Schedules.
  3. Optionally connect an integration (email, Slack, Google Sheets, Make, Zapier) to get the new ads delivered.

The first run returns the ads running now and remembers them. Every later run returns only ads it hasn't returned before, so you only pay for new ads. Runs with the same input share one memory; set a Monitor name to keep several monitors apart or to start over.

Input example

{
"domains": ["zalando.de"],
"region": "DE",
"platform": "ALL",
"format": "ALL",
"maxAdsPerSource": 100,
"includeDetails": true
}

Tip: big brands advertise through several accounts (for example one per country). Searching by domain returns ads from all of them. Searching by advertiser name scrapes the matching accounts with the most ads (3 by default).

Output example

One result per ad (lists shortened). Fields from variations to regions appear only with Include reach details:

{
"source": "https://adstransparency.google.com/?region=DE&domain=zalando.de",
"sourceType": "url",
"region": "DE",
"advertiserId": "AR15589870916631265281",
"advertiserName": "Zalando SE",
"domain": "zalando.de",
"creativeId": "CR15720428593760698369",
"format": "TEXT",
"firstShown": "2024-05-15T15:58:08Z",
"lastShown": "2026-10-04T22:45:20Z",
"daysShown": 808,
"imageUrl": "https://tpc.googlesyndication.com/archive/simgad/14506865662108274846",
"previewUrl": null,
"adUrl": "https://adstransparency.google.com/advertiser/AR15589870916631265281/creative/CR15720428593760698369?region=DE",
"variations": [
{ "imageUrl": "https://tpc.googlesyndication.com/archive/simgad/14506865662108274846", "previewUrl": null }
],
"impressions": { "min": 20000, "max": 25000 },
"platformImpressions": [
{ "platform": "GOOGLE_SEARCH", "impressions": { "min": 20000, "max": 25000 } },
{ "platform": "YOUTUBE", "impressions": { "min": 1000, "max": 2000 } },
{ "platform": "GOOGLE_SHOPPING", "impressions": { "min": 0, "max": 1000 } }
],
"regionCount": 2,
"regions": [
{
"countryCode": "DE",
"countryName": "Germany",
"firstShown": "2024-05-15",
"lastShown": "2026-10-04",
"impressions": { "min": 20000, "max": 25000 },
"platformImpressions": [
{ "platform": "GOOGLE_SEARCH", "impressions": { "min": 20000, "max": 25000 } }
]
}
],
"scrapedAt": "2026-10-04T23:10:13Z"
}

imageUrl is filled when Google stores the ad as an image (most text and image ads). Other ads, like most videos, come with a previewUrl instead: the script Google uses to render the ad. Open adUrl to see any ad on the Transparency Center.

Pricing

You pay per ad delivered, plus a small extra per ad when Include reach details is on. Domains or advertisers that fail are free. See the Pricing tab for current prices.

FAQ

Why do impressions only show for some countries? Google publishes impression ranges only where regulation requires it, mainly in the EU. Elsewhere you still get the countries and dates an ad ran.

Why does the platform filter miss older ads? Google only records the platform for ads shown since September 2023, so older ads don't match a platform filter.

How many ads can I get? Up to 100,000 per domain, advertiser or link. Set Max ads per domain or advertiser to control cost.

Is it legal to scrape the Ads Transparency Center? Google publishes this data so that anyone can see who advertises and where. This Actor collects that public information about advertisers and their ads. You are responsible for how you use the data. If in doubt, consult a lawyer about your use case.

How does monitoring remember which ads it already returned? It keeps the ad IDs in a named key-value store in your Apify account (ads-monitor-…). Delete that store, or use a new Monitor name, to start over.

Need Google Trends data too? Try the Google Trends Scraper for search interest over time, by region and related queries.

Something doesn't work? Open an issue in the Issues tab with the input you used. Fixes are usually quick.