Google Ads Transparency Scraper & Competitor Ad Monitor avatar

Google Ads Transparency Scraper & Competitor Ad Monitor

Pricing

from $0.80 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper & Competitor Ad Monitor

Google Ads Transparency Scraper & Competitor Ad Monitor

Scrape the Google Ads Transparency Center by website, brand or advertiser ID. Get every ad with dates, formats, countries and ad text, and get alerts for new and stopped competitor ads. No login.

Pricing

from $0.80 / 1,000 ads

Rating

0.0

(0)

Developer

earlytern

earlytern

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

Google Ads Transparency Scraper collects the ads any company runs on Google Search, YouTube, Shopping, Maps and Google Play from the public Google Ads Transparency Center. Search by website, brand name or advertiser ID, get every ad with its dates, format, countries and ad text, and turn on the competitor monitor to see only the ads that are new or have stopped since your last run. No Google account or login needed.

What does Google Ads Transparency Scraper do?

  • Finds all ads of an advertiser by website (nike.com), brand name (Booking.com), advertiser ID (AR16735076323512287233) or a Transparency Center link. It works out which one you typed.
  • Returns for each ad: advertiser name and country, ad format (text, image, video), first and last day shown, number of days shown, an image of the ad and a link to it in the Transparency Center.
  • Ad details (optional): the countries the ad was shown in, dates per country, every version of the ad, and for ads shown in the EU also the impression ranges per country and the Google platforms it ran on.
  • Ad text (optional): headline, description and display link of text ads, and the YouTube link of video ads.
  • Competitor monitor: give the run a monitor name and schedule it. Each run then returns only ads that are NEW or have STOPPED showing since the previous run.
  • Advertisers result type: one row per advertiser, telling you whether a website or brand is running Google ads right now and about how many ads it has. Useful for checking a list of leads.
  • Filters: country, platform, ad format, last N days or a date range.

Who is it for?

  • Advertising agencies and marketers: study competitors' ads, offers and wording; collect ideas for new ads.
  • Sales teams: find companies that spend on Google Ads, or check a list of websites ("which of these run ads?").
  • Market researchers and analysts: track how often a brand changes its ads and where it advertises.
  • AI agents: call the Actor through the Apify API or MCP to answer "what ads is this company running?".

How to use it

  1. Click Try for free.
  2. Under Websites, brand names or advertiser IDs, add one or more searches, for example nike.com.
  3. Choose Ads or Advertisers as the result type, and set the filters and the maximum number of ads you want.
  4. Turn on Add ad details or Add ad text if you need them (they cost extra, see below).
  5. Click Start. Download the results as JSON, CSV or Excel, or use them through the API.

To monitor competitors, enter a Monitor name (for example my-rivals) and create a schedule for the Actor with the same input, for example every day. The first run returns all ads as NEW; later runs return only changes.

Use with AI agents (MCP)

AI assistants and AI agents can call this Actor through Apify's MCP server at mcp.apify.com or through the Apify API. Questions it answers well:

  • "Is example.com running Google ads right now?" Use the Advertisers result type: one short row per advertiser.
  • "What new YouTube ads has example.com started in the last 30 days?" Use Ads with the YouTube platform and lastDays: 30.
  • "Which of these 50 websites advertise on Google?" Use Advertisers with the list of websites.

Only queries is required. Keep Maximum ads per search low (the default is 100) so answers stay short.

Input example

{
"queries": ["nike.com", "Booking.com", "AR16735076323512287233"],
"mode": "ads",
"region": "US",
"lastDays": 30,
"maxAdsPerQuery": 200,
"includeAdText": true,
"monitorName": "my-rivals"
}

The full list of fields with explanations is on the Input tab.

Output example

One ad with details and text, from a real run (shortened):

{
"query": "nike.com",
"advertiserId": "AR18378488041124659201",
"advertiserName": "Nike Retail BV",
"advertiserCountry": "NL",
"creativeId": "CR10301054218470948865",
"format": "TEXT",
"platforms": ["SEARCH", "MAPS", "SHOPPING"],
"firstShown": "2025-10-22",
"lastShown": "2026-11-02",
"daysActive": 376,
"regionsShown": ["DE", "BE", "CH", "FR", "LU", "IT", "ES", "NL"],
"imageUrl": "https://tpc.googlesyndication.com/archive/simgad/3290858767449404677",
"videoUrl": null,
"adText": {
"headline": "Le confort Air Max",
"description": "Découvre {Keyword:chaussures Nike} sur Nike.com. Commande sur le site officiel Nike.",
"displayUrl": "nike.com",
"productTitle": null
},
"details": {
"perCountry": [
{ "region": "DE", "firstShown": "2025-10-25", "lastShown": "2026-10-29", "impressionsMin": 0, "impressionsMax": 1000 },
{ "region": "BE", "firstShown": "2025-10-23", "lastShown": "2026-11-01", "impressionsMin": 0, "impressionsMax": 1000 }
]
},
"monitorStatus": null,
"adUrl": "https://adstransparency.google.com/advertiser/AR18378488041124659201/creative/CR10301054218470948865?region=anywhere",
"scrapedAt": "2026-11-02T05:09:00.744Z"
}

With the Advertisers result type, each row looks like this (a search for nike.com gives one row per advertiser that runs ads for the website):

{
"query": "nike.com",
"advertiserId": "AR16735076323512287233",
"advertiserName": "Nike, Inc.",
"advertiserCountry": "US",
"isRunningAds": true,
"approxAdCount": 8000,
"lastAdShown": "2026-11-02",
"matchedVia": "website",
"advertiserUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233?region=anywhere",
"scrapedAt": "2026-11-02T05:12:06.424Z"
}

A website that runs no Google ads gives one row with isRunningAds: false. A summary of every search (what was found, how many ads Google lists, and why a search was skipped) is saved in the OUTPUT record of the run.

How much does it cost?

You pay only for the rows you get; there is no fee to start a run. Prices per 1,000, by Apify plan:

WhatFreeBronzeSilverGold and higher
Ads$1.50$1.20$1.00$0.80
Ad details (extra, per ad)$2.00$1.80$1.50$1.20
Ad text (extra, only when text is found)$1.00$0.80$0.70$0.50
Advertiser rows$2.00$1.80$1.50$1.20

Examples on the Free plan: 1,000 ads cost $1.50; with ad text $2.50; with details $3.50. On the Gold plan the same 1,000 ads cost $0.80, $1.30 and $2.00. Checking whether 500 websites run Google ads costs $1.00 on the Free plan. The same search typed twice in one run (for example nike.com and https://www.nike.com) is done and charged once. You can set a maximum cost per run; the Actor stops cleanly when it is reached, and a monitor remembers what it did not deliver, so nothing is lost. Searches that Google blocks are not charged.

Tips and limits

  • Up to 10,000 ads per search and 50,000 per run. Google shows an estimated total for large advertisers (for example about 50,000 ads for nike.com); use filters to get the part you need.
  • The platform filter only works for ads shown since September 2023 (a Google limit).
  • Impressions are ranges published by Google, not exact numbers. Google publishes impressions and platforms only for ads shown in the EU; for other ads these fields are empty.
  • The Actor asks Google politely (one or two requests per second) and never solves captchas. If Google blocks a search, the search is skipped and listed in OUTPUT; try again later.
  • The Actor uses Apify's residential proxy by default, because Google often blocks datacenter connections. You can pick another proxy group under Proxy; the price per result stays the same.
  • Schedule runs and send results to Google Sheets, Slack, Make, Zapier or n8n with Apify integrations.

FAQ

Is it legal to scrape the Google Ads Transparency Center? The Actor reads only information that Google publishes for everyone about ads and advertisers. It does not log in and does not get around blocks or captchas. You are responsible for how you use the data and for following the laws that apply to you.

Does it collect personal data? No. It collects ad and advertiser information as Google publishes it. Some small advertisers are registered under a person's name; Google shows that name as the advertiser, and the Actor returns it like any other advertiser name. It collects no emails, phone numbers or private profiles.

Why are some text ads only an image? Google stores many text ads as pictures. Turn on Add ad text to read the headline and description; you pay for ad text only when it was found.

Which ads count as NEW? Ads the monitor has not seen before that Google first showed since the previous run. An older ad that only now appears in the results (for example after you raise the maximum) is remembered quietly and not returned or charged.

How does the monitor decide that an ad stopped? An ad counts as stopped when it has not been shown for two days, or when it no longer appears in a full list of the advertiser's ads.

Can I change the input of a monitor? Yes. Adding searches, raising the maximum or turning on ad text keeps the history. Changing the country, platforms, ad format or dates of a search starts a new history for it (its next run returns all ads as NEW). "Shown in the last … days" keeps its history from day to day.

Questions and feedback

Open an issue on the Issues tab with the run link, and we will look into it.