Google Ads Transparency Center Scraper avatar

Google Ads Transparency Center Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Google Ads Transparency Center Scraper

Google Ads Transparency Center Scraper

Scrape live and recent ads shown through Google - search by advertiser name, domain, or exact advertiser ID. Get ad format, preview image/creative, advertiser identity, and first/last shown dates from the public Ads Transparency Center.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape live and recent ads shown through Google — search by landing-page domain or exact advertiser ID. Get ad format, preview creative, advertiser identity, and first/last shown dates from the public Ads Transparency Center. No login, no API key, no cookies.

What this actor does

  • Two modes: byQuery (landing-page domain — most reliable) and byAdvertiserId (exact ID lookup)
  • Filters: region/market, ad format (text/image/video), platform (Search/Maps/Shopping/Play/YouTube), last-shown date range
  • Preview assets: static thumbnail image URL (and dimensions) when available, or the live rich-media preview script URL
  • Empty fields are omitted

Output per ad

  • advertiserId, advertiserName
  • creativeId, creativeUrl — deep link to the ad's page on Ads Transparency Center
  • advertiserUrl — deep link to the advertiser's page
  • formatText, Image, or Video
  • previewImageUrl, previewWidth, previewHeight — static thumbnail (when the ad renders as an archived screenshot)
  • previewContentUrl — live rich-media/video preview script URL (when applicable)
  • firstShownAt, lastShownAt — ISO-8601 UTC
  • firstShownTimestamp, lastShownTimestamp — Unix epoch seconds
  • region
  • recordType: "ad", scrapedAt

Input

FieldTypeDefaultDescription
modestringbyQuerybyQuery / byAdvertiserId
querystringnike.comLanding-page domain (mode=byQuery). The upstream search endpoint reliably matches domains (e.g. nike.com) — free-text advertiser names (e.g. Nike) frequently return zero results, so a domain is strongly recommended. Use mode=byAdvertiserId for a name-independent, always-stable lookup once you have an advertiserId.
advertiserIdsarrayExact advertiser IDs, e.g. AR16735076323512287233 (mode=byAdvertiserId)
regionstringUSMarket to tag results with
adFormatstringTEXT / IMAGE / VIDEO
platformstringSEARCH / MAPS / SHOPPING / PLAY / YOUTUBE
dateFromstringOnly ads last shown on/after this date (YYYY-MM-DD)
dateTostringOnly ads last shown on/before this date (YYYY-MM-DD)
maxItemsint40Hard cap, 1–100

Example: all ads for a domain

{
"mode": "byQuery",
"query": "nike.com",
"region": "US",
"maxItems": 40
}

Example: video ads only, by exact advertiser ID

{
"mode": "byAdvertiserId",
"advertiserIds": ["AR16735076323512287233"],
"adFormat": "VIDEO",
"maxItems": 50
}

Use cases

  • Competitive intelligence — see what ad creatives a competitor is running right now
  • Ad compliance monitoring — audit an advertiser's messaging and formats
  • Creative research — collect a swipe file of live ad copy and imagery by niche
  • Brand safety — verify what ads are (and aren't) associated with a domain

FAQ

Is this the official Google Ads API? No — Google does not publish a public API for the Ads Transparency Center. This actor calls the same backend endpoint the public web app at adstransparency.google.com uses, exactly as your browser does when you search there.

Do I need a Google account or API key? No. The Ads Transparency Center is a public tool; no login is required to browse or search it.

Why is maxItems capped at 100? The upstream endpoint serves ads in a single page of up to 100 per lookup; a working pagination cursor is not exposed on the public surface.

Some ads have previewImageUrl and others have previewContentUrl — why? Text-format ads are shown as an archived screenshot (previewImageUrl). Image and video ads with interactive/rich-media elements are served through a live rendering script (previewContentUrl) instead of a static image.

Does region actually filter results? It's passed to the upstream API the same way the website's region selector does. For some advertisers the set of ads returned does not change much across regions, since global advertisers run largely the same catalog everywhere — this mirrors what you'd see switching regions on the website itself.

How do I find an advertiser ID? Run mode=byQuery first with the advertiser's name or domain — the advertiserId field in the results is reusable as input to mode=byAdvertiserId for a stable, unambiguous lookup.

How fresh is the data? Near real-time — this reflects Google's live transparency index of ads currently or recently served.

Why does dateTo (an older cutoff) sometimes return 0 results for popular advertisers? Because there's no pagination cursor (see above), only the single most-recent page of up to 100 creatives is ever fetched, and for an advertiser running continuous/ongoing campaigns essentially every creative on that page has a lastShownAt of today or yesterday. A dateTo cutoff further in the past than that will correctly exclude all of them — that's not a bug, it means none of the currently-fetchable creatives are that stale. dateTo is most useful for advertisers whose campaigns have genuinely paused/ended, or combined with dateFrom for a recent window (e.g. "last shown in the past week").