Google Ads Transparency Scraper · Ad Text, Images, Regions avatar

Google Ads Transparency Scraper · Ad Text, Images, Regions

Pricing

from $1.19 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper · Ad Text, Images, Regions

Google Ads Transparency Scraper · Ad Text, Images, Regions

Scrape the Google Ads Transparency Center by advertiser name, advertiser ID or domain: every ad with the ad text (headline, description), image or YouTube video, first/last shown, regions, paid by. Filter by country, format and date; only-new mode for competitor ad monitoring. No login.

Pricing

from $1.19 / 1,000 ads

Rating

0.0

(0)

Developer

TheQuietStack

TheQuietStack

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Scrape the Google Ads Transparency Center for any advertiser: every Google ad (Search, Display, YouTube, Shopping) with the ad text (headline, display URL, description), the image or YouTube video, first and last shown, the countries where it ran and who paid for it. Search by advertiser name, advertiser ID (AR…) or domain. No login, no API key, no browser.

What does Google Ads Transparency Scraper do?

Google publishes every ad of every verified advertiser in the Ads Transparency Center. This Actor reads that public library and gives you one flat row per ad:

  • The ad itself, not just metadata: text ads come with their headline, display URL and description; image ads with the image; video ads with the YouTube link.
  • When and where: first shown, last shown, number of days shown, and the list of countries with the last day the ad ran there.
  • Who: advertiser name and ID, the domain, and the paid by entity (often the agency or the local subsidiary).
  • Monitoring: switch on Only new ads and run it daily — you get only ads that were first shown since the previous run.

Who is it for?

  • Marketers and PPC managers watching competitors' ad copy, offers and landing domains.
  • Agencies building ad-research reports or swipe files.
  • Brand protection teams looking for advertisers bidding on their brand.
  • Researchers studying advertising in a country or industry.

Which input should I use?

You havePut into AdvertisersNotes
A websitenike.comAll advertisers whose ads lead to this domain (agencies and resellers included).
An advertiser nameNike, Inc.Matched exactly (case and punctuation ignored). The search is a prefix search: if nothing matches, the run summary lists the real advertiser names to pick from.
An advertiser ID or Transparency URLAR16735076323512287233The most precise option.

Input example

{
"advertisers": ["nike.com", "Spotify USA Inc", "AR16735076323512287233"],
"region": "US",
"formats": ["TEXT", "VIDEO"],
"lastDays": 30,
"maxAdsPerAdvertiser": 50,
"includeAdText": true,
"includeDetails": true
}

region is a 2-letter country code (US, DE, GB, …) or anywhere. formats: TEXT, IMAGE, VIDEO (empty = all).

Output example

Real rows (30 Oct 2026):

{
"advertiserId": "AR16735076323512287233",
"advertiserName": "Nike, Inc.",
"domain": "nike.com",
"creativeId": "CR13820127804068462593",
"format": "IMAGE",
"adText": "Nike Men's Air Max Torch 4 Shoes in Black, Size: 11 | 343846-002 | Nike",
"adTexts": ["Nike Men's Air Max Torch 4 Shoes in Black, Size: 11 | 343846-002", "Nike"],
"imageUrl": null,
"videoUrl": null,
"firstShown": "2024-09-20T17:04:17.000Z",
"lastShown": "2026-10-30T10:44:37.000Z",
"daysShown": 686,
"regionsShown": "US",
"regions": [{ "region": "US", "lastShown": "2026-10-30" }],
"paidBy": "Nike, Inc.",
"adUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR13820127804068462593?region=US",
"region": "US",
"input": "nike.com",
"scrapedAt": "2026-10-30T11:26:14.350Z"
}
{
"advertiserName": "Spotify USA Inc",
"format": "VIDEO",
"videoUrl": "https://www.youtube.com/watch?v=LVfi_daCWiA",
"adText": "Spotify | Her Ana ve Her Ruh Haline Uygun Müziklerin | Tadını Çıkar. Spotify®'da Ücretsiz Dinle | Yükle | Spotify: Müzik ve | Podcast'ler",
"firstShown": "2025-05-14T23:03:43.000Z",
"lastShown": "2026-10-30T10:48:03.000Z",
"regionsShown": "TR",
"paidBy": "Spotify USA Inc"
}
FieldMeaning
formatTEXT, IMAGE or VIDEO, as the Transparency Center classifies the ad
adText / adTextsVisible text of the ad preview (headline, display URL, description, call to action), in order
imageUrlImage of image ads, and of text ads that Google archives as a picture
videoUrlYouTube video of video ads
firstShown, lastShown, daysShownAs published by Google (UTC)
regions, regionsShownCountries where the ad ran, with the last day per country
paidByThe entity that paid for the ad
adUrlThe ad's page in the Transparency Center

The SUMMARY record in the key-value store lists per advertiser how many ads the library holds (Google gives a range, e.g. 8,000–9,000), how many were scanned, written, filtered and already delivered, plus notFound with name suggestions.

How much does it cost?

Pay per event: $0.0017 per ad row on the Free plan (lower on paid Apify plans), plus a tiny start fee. 100 ads = $0.17, 1,000 ads = $1.70. Never charged: the free status row of an empty run, filtered ads, ads already delivered in only-new mode, advertisers that are not found. maxAds and maxAdsPerAdvertiser cap every run.

Monitoring competitors

  1. Put the competitors' domains or advertiser IDs into Advertisers, set Country.
  2. Switch on Only new ads (and use your own Memory name per watch list).
  3. Schedule the Actor daily. The first run returns the current ads as a baseline; later runs return only ads first shown since the previous run. A run without new ads returns one free status row.

Honest limits

  • Some text ads have no text. Google archives many search ads as a picture of the ad; for those you get imageUrl, and adText stays empty. We do not run OCR on them.
  • Video and display previews can contain short UI words ("Install", "Learn more"); they are part of the ad as rendered.
  • Google publishes ranges, not exact numbers, for library size, and no impressions or spend for commercial ads (only for political ads in some regions).
  • Google rate-limits fast access per IP. The Actor waits between requests. If Google limits a run, the Actor waits once and then stops: rows so far are kept, and a run without any row ends as FAILED with nothing charged. It does not switch IPs. Many runs in a row raise the chance of this, so leave some minutes between runs.
  • lastShown is when Google last saw the ad, which can lag a day or two behind reality.

The Ads Transparency Center is a public library Google runs for every verified advertiser (it is also Google's ad repository under the EU Digital Services Act). It has no robots.txt that restricts access, and the data describes advertisers and their ads, not private persons. You are responsible for how you use the data and the ad creatives (copyright stays with the advertiser).

Feedback

Missing a field or found a bug? Open an issue on the Actor's Issues tab. If the Actor saved you time, a short review on the Store page helps others find it.