Google Ads Transparency Scraper & Monitor avatar

Google Ads Transparency Scraper & Monitor

Pricing

Pay per event

Go to Apify Store
Google Ads Transparency Scraper & Monitor

Google Ads Transparency Scraper & Monitor

Get every ad of any advertiser or domain from the Google Ads Transparency Center: text, image and video ads, first/last shown, impressions by country. Built-in monitoring: schedule it and get only new and stopped competitor ads.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Onkel RoGi

Onkel RoGi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

Get every Google ad of any advertiser or domain from the Google Ads Transparency Center: text, image and video ads, when each ad was first and last shown, and (optionally) impressions by country. Then schedule it and get only what changed: new ads your competitors launched and ads they stopped.

No login, no browser: the Actor talks to the Transparency Center's own data endpoints, so it is fast and cheap — up to 100 ads per request instead of one page load per ad.

What you can do with it

  • Competitor ad monitoring — run it daily on your competitors' domains and get a list of new and stopped ads (pairs well with an email/Slack integration).
  • Ad creative research — download all image/text ad renders and YouTube video ads of a brand.
  • Agency reporting — see how many ads a brand runs, in which countries, since when.
  • Lead generation for ad agencies — find out which companies advertise in a country and how actively.

Input

FieldWhat it does
Advertisers or domainsOne per line. A domain (nike.com), an advertiser ID (AR16735076323512287233), an Ads Transparency URL (https://adstransparency.google.com/advertiser/AR… or …/?domain=otto.de), or an advertiser name (Nike → the matching advertiser with the most ads).
Regionanywhere, or a two-letter country code (US, DE, GB …) to get only ads shown there.
Ad formatAll, text, image or video.
Shown within the last N daysSkip ads that stopped running long ago. Ads come newest first, so this also makes runs faster.
Max ads per advertiser/domainDefault 200. Big brands have tens of thousands of ads; 0 = no limit.
Include impressions by countryAdds impression ranges and first/last shown date per country, all image variations, and the YouTube video ID of video ads.
Track changes between runsMonitoring, see below.

Example:

{
"targets": ["zalando.de", "Nike", "AR17568630107302526977"],
"region": "DE",
"maxAdsPerTarget": 200,
"includeDetails": true
}

Output

One row per ad. Real example (zalando.de, region DE, details on):

{
"target": "zalando.de",
"advertiserId": "AR15589870916631265281",
"advertiserName": "Zalando SE",
"creativeId": "CR00057409882952826881",
"format": "text",
"domain": "zalando.de",
"firstShown": "2025-11-08T07:22:53.000Z",
"lastShown": "2026-10-31T20:54:02.000Z",
"daysShown": 199,
"imageUrl": "https://tpc.googlesyndication.com/archive/simgad/6499575823368687217",
"imageWidth": 348,
"imageHeight": 156,
"adUrl": "https://adstransparency.google.com/advertiser/AR15589870916631265281/creative/CR00057409882952826881?region=DE",
"isActive": true,
"variations": ["https://tpc.googlesyndication.com/archive/simgad/6499575823368687217"],
"impressionsByRegion": [
{ "region": "DE", "impressionsMin": 1000, "impressionsMax": 2000, "firstShownDate": "2025-11-07", "lastShownDate": "2026-10-31" }
],
"regionsShown": 1,
"scrapedAt": "2026-10-31T21:19:39.828Z"
}
  • imageUrl — Google's own render of the ad (text ads are rendered as an image, exactly as shown on Google).
  • isActive — shown within the last 3 days.
  • daysShown — number of days Google reports the ad as served.
  • Video ads (details on) get youtubeVideoId, youtubeUrl and a thumbnail as imageUrl.
  • The key-value store record SUMMARY lists, per target, the resolved advertiser, the size of its ad library and the counts per change type.

Monitoring: only new and stopped ads

Turn on Track changes between runs and schedule the Actor (Apify Console → Schedules, e.g. daily). Every ad gets a change:

changeMeaning
first_runFirst run of this monitor — the baseline.
newAd first shown since the previous run.
runningAd that was already known and is still shown.
stoppedAd that was running at the previous run and is no longer shown (reported once).

With Output only changes the running ads are skipped and billed at a much cheaper "checked" rate — your dataset contains only the news. Monitoring runs are fast: Google sorts ads by "last shown", so the Actor stops reading as soon as it reaches ads older than the previous run.

Use Monitor name to keep separate histories (e.g. one per client). Note: stopped needs a complete view of the running ads — set Max ads high enough (or 0) for big advertisers.

Pricing

Pay per result, no subscription:

  • Ad — one delivered ad row.
  • Ad details — extra per ad when Include impressions by country is on.
  • Checked ad — monitoring with Output only changes: an already-known ad that was checked but not output.

Failed targets are free. See the Pricing tab for current prices.

Tips

  • Don't know the domain? Enter the brand name — the log shows which advertiser was picked; copy its AR… ID for exact results.
  • One brand often has several advertiser accounts (e.g. per country). Searching by domain covers all of them.
  • The Actor uses Apify Proxy and switches to residential IPs on its own if Google throttles.

The Ads Transparency Center is a public library Google publishes so that anyone can see who advertises what. The Actor collects only advertiser-level, business data about ads — no personal data. Check your local rules for how you use the data.