Google Ads Transparency Scraper: Ads, Text, Videos, Regions avatar

Google Ads Transparency Scraper: Ads, Text, Videos, Regions

Pricing

from $0.80 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper: Ads, Text, Videos, Regions

Google Ads Transparency Scraper: Ads, Text, Videos, Regions

Scrape the Google Ads Transparency Center by brand name, domain or advertiser ID. Get every ad a company runs on Google Search, YouTube, Shopping, Maps and Play: images, ad text, YouTube links, first and last shown dates, and the countries each ad ran in. No login.

Pricing

from $0.80 / 1,000 ads

Rating

0.0

(0)

Developer

Kvali Data

Kvali Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

What does Google Ads Transparency Scraper do?

Google Ads Transparency Scraper extracts ads from the Google Ads Transparency Center, Google's public library of every ad shown on Google Search, YouTube, Google Shopping, Google Maps, Google Play and partner sites. Give it a brand name, a website domain, an advertiser ID or a Transparency Center link, and get every ad that company runs, with:

  • 🖼️ the ad image (or Google's preview of text and video ads), format, and the domain it points to
  • 📅 first shown, last shown and days shown, so you can see which ads are new and which have run for years
  • 🌍 with Ad details on: the ad text, the YouTube video link for video ads, every variation (A/B versions), and every country the ad ran in with the last date it ran there
  • 📊 an Advertisers mode that returns one summary row per company: is it advertising right now, how many ads, which formats

It also has a monitoring mode that returns only ads you haven't seen before, so a weekly schedule tells you exactly what your competitors launched.

No login, no Google account, no API key, no browser. It talks to the Transparency Center's own data endpoints, so runs are fast and cheap: 1,000 ads take about 20 seconds.

Why scrape the Google Ads Transparency Center?

  • Competitor ad research. See every creative a competitor is running right now, how long each has been live, and in which countries. Long-running ads are usually the ones that work.
  • Creative and copy inspiration. Build swipe files of ad images, headlines, descriptions and YouTube ads for any industry.
  • Lead generation. Check a list of companies in Advertisers mode to find the ones actively spending on Google Ads, a strong buying signal for agencies and ad-tech sales.
  • Brand protection. Find who else is running ads that point to your domain or use your brand name.
  • Market and academic research. Track advertising activity by country, platform and format over time.
  • AI pipelines. Feed ad text and metadata into LLMs to summarize a competitor's messaging or classify offers.

How to scrape Google ads

  1. Click Try for free.
  2. Under Brands, domains, advertiser IDs or links, enter one or more of:
    • a domain: nike.com (every advertiser whose ads point to nike.com)
    • a brand name: HelloFresh (matched to the best advertiser accounts with that name)
    • an advertiser ID: AR16735076323512287233
    • a link copied from adstransparency.google.com (advertiser page, ad page or domain search)
  3. Optionally pick a region (country), ad format, Google platforms and dates.
  4. Turn on Ad details if you want ad text, video links, variations and countries.
  5. Click Start, then download the data as JSON, CSV, Excel or HTML, or get it through the API.

How much does it cost to scrape Google Ads Transparency?

Pay per result. There's no start fee and no monthly rental:

EventPrice
Ad (advertiser, format, image or preview, domain, dates, link)$1.00 per 1,000 ads
Ad details (ad text, video link, variations, all countries), only when you turn it on and only when it succeeds$2.00 per 1,000 ads
Advertiser summary row (Advertisers mode)$3.00 per 1,000 advertisers

Examples:

  • 1,000 ads from a competitor: $1.00
  • 1,000 ads with text, video links and countries: $3.00
  • Checking 500 companies for active Google Ads in Advertisers mode: about $1.50
  • Weekly monitoring of 10 competitors with Only new ads: you pay only for ads that are actually new.

On the Apify Free plan you get monthly credits, which are enough to try this Actor with thousands of ads.

Input

FieldWhat it does
queriesBrand names, domains, advertiser IDs or Transparency Center links, one per line. Required.
resultTypeads (one row per ad, default) or advertisers (one summary row per advertiser).
maxAdsPerQueryStop after this many ads per line (per advertiser for brand names). Default 50.
regionTwo-letter country code (US, GB, DE, ...). Empty = ads shown anywhere.
adFormatALL, TEXT, IMAGE or VIDEO.
platformsAny of SEARCH, YOUTUBE, SHOPPING, MAPS, PLAY. Empty = all.
dateFrom, dateToOnly ads shown in this period (YYYY-MM-DD). Google's date filter covers about the last 12 months.
includeDetailsAdds ad text, YouTube link, variations and every country the ad ran in.
maxAdvertisersPerQueryFor brand names: how many matching advertiser accounts to use. Default 3.
onlyNew, monitorNameMonitoring: return only ads not returned by earlier runs with the same monitor name.
proxyConfigurationOptional. The Actor switches to Apify Proxy by itself if Google rate-limits it.

Example input:

{
"queries": ["nike.com", "HelloFresh", "AR16735076323512287233"],
"region": "US",
"platforms": ["YOUTUBE"],
"maxAdsPerQuery": 200,
"includeDetails": true
}

Output

One row per ad. Example with Ad details on (some lists shortened):

{
"query": "nike.com",
"region": "DE",
"advertiserId": "AR18378488041124659201",
"advertiserName": "Nike Retail BV",
"creativeId": "CR15584795828655489025",
"format": "TEXT",
"domain": "nike.com",
"firstShown": "2025-10-25T11:21:51.000Z",
"lastShown": "2026-10-15T21:06:05.000Z",
"daysShown": 356,
"imageUrl": "https://tpc.googlesyndication.com/archive/simgad/2987034419157596157",
"imageWidth": 348,
"imageHeight": 160,
"previewUrl": null,
"adUrl": "https://adstransparency.google.com/advertiser/AR18378488041124659201/creative/CR15584795828655489025?region=DE",
"adText": "Sponsored\nnike.com\nTraining & Gymwear\nTrain In Style. Support Every Move In Style With Nike Fitness Wear.",
"videoId": null,
"videoUrl": null,
"variationCount": 2,
"variations": [{ "imageUrl": "https://tpc.googlesyndication.com/archive/simgad/2987034419157596157", "width": 348, "height": 160, "previewUrl": null }],
"regions": [{ "region": "PL", "lastShown": "2026-10-15" }, { "region": "DE", "lastShown": "2026-10-14" }],
"regionCount": 12,
"verifiedName": "Nike Retail BV",
"detailsStatus": "ok",
"scrapedAt": "2026-10-15T21:42:48.712Z"
}

In Advertisers mode, one row per advertiser:

{
"query": "adidas.com",
"advertiserId": "AR14017378248766259201",
"advertiserName": "Adidas America, Inc",
"adsFound": 187,
"adsFoundLimitReached": false,
"activeLast7Days": true,
"formats": { "TEXT": 159, "IMAGE": 10, "VIDEO": 18 },
"domains": ["adidas.com"],
"firstShown": "2021-10-25T07:00:00.000Z",
"lastShown": "2026-10-15T21:14:05.000Z",
"advertiserUrl": "https://adstransparency.google.com/advertiser/AR14017378248766259201"
}

Field notes:

  • imageUrl is set for image ads and for text ads that Google archived as a picture. Ads that Google renders live (most video and many display ads) have a previewUrl instead; turn on Ad details to get their text and YouTube link.
  • adText is the visible text of Google's preview. Some previews contain Google's own placeholders such as <Rating (Reviews)>; those are left as they are.
  • regions uses two-letter country codes.

Monitoring competitors' new ads

  1. Enter your competitors' domains, turn on Only ads not seen in earlier runs, and give the monitor a name such as competitors.
  2. Save it as a Task and add a schedule (daily or weekly).
  3. Connect an integration (Slack, email, Google Sheets, Zapier, Make, webhooks) to get each run's new ads.

The first run returns the current ads; after that you only get, and pay for, ads that are new. New ads appear first, so a small Max ads per query is enough for monitoring.

Use with AI agents and LLMs

The output is clean JSON with the ad text in one field, ready for an LLM to summarize a competitor's offers, compare messaging between brands or tag ads by theme. You can call this Actor from AI agents through the Apify MCP server or the Apify API.

FAQ

Is it legal to scrape the Google Ads Transparency Center? The Transparency Center is a public website that Google publishes so anyone can see who is advertising. This Actor only reads that public data, with no login. As with any data, check the rules that apply to how you use it, especially if you store advertiser names that belong to individuals.

Why are there several advertisers for one brand? Big brands run ads from several accounts (regional companies and media agencies). A domain search returns all of them; a brand-name search uses the best maxAdvertisersPerQuery matches. When you pick a region, advertisers registered in that country come first (for example Shopify's US account before its French ones when the region is US). For full control, paste the advertiser ID (AR…) or the Transparency Center link instead of a name.

Why does the date filter return nothing for old dates? Google's own date filter only covers about the last 12 months. Leave the dates empty to get older ads; every row still has firstShown and lastShown.

Does it see ad spend or impressions? No. Google shows spend and impressions only for political ads in some regions. This Actor covers regular commercial ads.

Do I need a proxy? No. The Actor spaces out its requests and switches to Apify Proxy automatically if Google starts rate-limiting it.

Something doesn't work or you need a field? Open an issue on the Actor's Issues tab. We usually answer within a day.

This Actor is an independent tool and is not affiliated with or endorsed by Google. "Google Ads Transparency Center" is used only to describe the public website it reads.