Google Ads Transparency Scraper — Ad Copy, Regions & Dates avatar

Google Ads Transparency Scraper — Ad Copy, Regions & Dates

Pricing

$1.50 / 1,000 ad delivereds

Go to Apify Store
Google Ads Transparency Scraper — Ad Copy, Regions & Dates

Google Ads Transparency Scraper — Ad Copy, Regions & Dates

Scrape the Google Ads Transparency Center: every ad an advertiser runs, with the ad copy, image or YouTube video, first and last shown dates and regions. Search by name, website or advertiser ID.

Pricing

$1.50 / 1,000 ad delivereds

Rating

0.0

(0)

Developer

yestrue

yestrue

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Security

Limited permissions

Share

See every ad a competitor runs on Google, with the ad's own words wherever Google keeps them. Paste advertiser names, websites or advertiser IDs and get one clean row per ad from the Google Ads Transparency Center: the headline, description, display URL and call to action, the image or YouTube video, the first and last day it was shown, every country it ran in, and, for ads shown in the EU, how many times it was shown per country and per platform.

No Google account, no login, no cookies. Many advertisers in one run.

👉 Run the prefilled example: Nike's 20 newest US ads, copy included, in about a minute.

Why this Google Ads Transparency scraper

  • The ad copy is on the row. headline, description, displayUrl and callToAction are plain columns, read from the ad's own preview wherever Google keeps the ad as text. Shopping ads give the product title, merchant and product image; video ads the YouTube link, thumbnail and length. No extra switch and no extra fee for the text.
  • Names that find the right account. Type Nike and you get Nike, Inc., the account with 9,000+ ads, not the first lookalike in Google's search box. Websites (nike.com), advertiser IDs (AR…) and links copied from the Transparency Center work too, mixed in one list.
  • Filters that matter. Country (or anywhere), format (text, image, video) and a date range.
  • Regions and reach. Every country an ad ran in, with its first and last shown dates. For ads shown in the EU, Google's "times shown" ranges per country and per platform (Google Search, YouTube, Shopping, Maps, Play).
  • You pay only for ads you get. An advertiser that does not exist, a website without ads or a request Google refuses is a free status row that says why. An ad we could not read completely is delivered free and marked PARTIAL.

What you can do with it

  • Competitor research: read the headlines and offers a competitor has kept running for months; daysShown tells you which ones they trust.
  • Agency pitches and audits: pull a prospect's live ads by country before the meeting.
  • Creative swipe files: collect image, Shopping and YouTube ads with their copy for a market or a season.
  • Market monitoring: schedule a run per week and see which brands start or stop advertising in a country.
  • Brand protection: list every account whose ads point at your website (yourbrand.com as input).

Input

FieldWhat it does
advertisersOne per line: a name (Nike), a website (nike.com), an advertiser ID (AR16735076323512287233) or a Transparency Center link (an advertiser, a single ad, or a website search).
maxAdsPerAdvertiserAds to deliver per line, newest first. Default 100.
regionA country, or anywhere.
formatall, text, image or video.
dateFrom / dateToOnly ads shown in this period (YYYY-MM-DD).
maxAdvertisersPerNameA name can match several accounts (Samsung has one per country): take this many, most ads first. Default 1.
includeAdTextRead each ad's preview for its copy and media. On by default; off gives a faster list with dates and regions.
{
"advertisers": ["Nike", "booking.com", "AR02934798844673654785"],
"region": "DE",
"format": "text",
"dateFrom": "2026-09-01",
"dateTo": "2026-10-25",
"maxAdsPerAdvertiser": 200
}

A link carries its own filters: https://adstransparency.google.com/advertiser/AR16735076323512287233?region=GB&format=VIDEO reads Nike's video ads shown in the UK, whatever the run's region and format say.

Output

One record per ad:

FieldExample
advertiserName, advertiserIdNike, Inc., AR16735076323512287233
advertiserCountry, advertiserLegalNameUS, Nike, Inc.
creativeId, formatCR…, TEXT / IMAGE / VIDEO
headline, longHeadline, descriptionthe ad's own words
displayUrl, callToAction, businessNamewww.nike.com/, Learn more, Nike House of Innovation NYC
landingDomainthe website the ad points to
imageUrl, videoUrl, videoDurationproduct or ad image, YouTube link, 2:04
previewImageUrlGoogle's picture of the ad (many text ads are kept only this way)
dynamicSearchAdtrue when Google writes the headline from the landing page at serving time
firstShown, lastShown, daysShown2026-04-28, 2026-10-26, 135
regions["DE", "AT", "GB"]
regionStatsper country: first and last shown, times shown, per platform
impressionsMin, impressionsMax, platformsGoogle's EU "times shown" range in total, and where the ad ran
adUrlthe ad's page on the Transparency Center
input, inputType, matchedAdvertiser, region, statuswhat the row answers

A text ad from a run (Samsung France, region FR; regionStats shortened):

{
"status": "OK",
"advertiserName": "Samsung Electronics France SASU",
"advertiserId": "AR12824386967030464513",
"advertiserCountry": "FR",
"creativeId": "CR15969925065051471873",
"format": "TEXT",
"headline": "Samsung The Freestyle 2nd Gen - Jusqu'à 300€ de remise*",
"description": "Samsung Week : Jusqu'à 300€ de remise immédiate pour l'achat d'un Projecteur. The Freestyle corrige automatiquement les images de travers pour obtenir un écran droit. …",
"displayUrl": "www.samsung.com/",
"landingDomain": "samsung.com",
"firstShown": "2025-10-22",
"lastShown": "2026-10-26",
"daysShown": 367,
"regions": ["FR"],
"regionStats": [
{
"region": "FR", "regionName": "France", "firstShown": "2025-10-22", "lastShown": "2026-10-26",
"impressionsMin": 125000, "impressionsMax": 150000,
"platforms": [
{ "platform": "Google Search", "impressionsMin": 125000, "impressionsMax": 150000 },
{ "platform": "Google Shopping", "impressionsMin": 0, "impressionsMax": 1000 }
]
}
],
"impressionsMin": 125000,
"impressionsMax": 150000,
"platforms": ["Google Search", "Google Shopping", "Google Maps"],
"variationCount": 3,
"adUrl": "https://adstransparency.google.com/advertiser/AR12824386967030464513/creative/CR15969925065051471873?region=FR"
}

An input that gives no ads is one free row with its reason, for example {"input": "Zzqx Brand", "status": "NOT_FOUND", "error": "No advertiser named \"Zzqx Brand\" in the Ads Transparency Center. …"}. The statuses: OK, PARTIAL, NOT_FOUND, NO_ADS, INVALID_INPUT, FAILED.

Good to know

  • Reach figures exist only for ads shown in the EU. Google publishes "times shown", platform and per-country ranges under the EU Digital Services Act. For ads shown only outside the EU those fields are null, and Google fills them in for new EU ads only after a while; the regions and dates are always there.
  • Times shown are Google's ranges, such as 100,000-125,000. The top bucket has no upper end (impressionsMax: null).
  • Many text ads are kept by Google only as a picture, especially older ones and those of some large advertisers. For them you get previewImageUrl, and the text fields stay empty.
  • Dynamic Search Ads have no fixed headline: Google writes it from the landing page each time. They come with dynamicSearchAd: true, the description and an empty headline.
  • Keyword insertion and ad customizers stay as the advertiser wrote them, for example Discover {KeyWord:Nike Shoes} Online.
  • Dates: Google's date filter covers periods that reach into the last 12 months. For an older period the ads are matched by their first and last shown dates instead.
  • The final click URL is not public. Google shows the display URL and the website the ad points to; that is what you get.

Pricing

Pay per ad delivered, with no start fee: the price per ad is on the Pricing tab. Not-found advertisers, websites without ads, failed requests and PARTIAL ads are free. Set a maximum charge on the run if you want a hard cap.

Run it from code or an AI agent

Every run is a normal Apify run: start it from the Apify API, schedule it, or connect it to Make, Zapier, n8n or Google Sheets. AI agents can call it through the Apify MCP server: "find the YouTube ads Spotify ran in Germany this month and summarise their headlines".

👉 Start your first run: three competitors, one country, their ad copy in a spreadsheet in minutes.

More tools from us

Questions or a field you miss? Open an issue on the Issues tab; we read every one.