Google Ads Transparency Scraper - Competitor Ad Library avatar

Google Ads Transparency Scraper - Competitor Ad Library

Pricing

from $1.00 / 1,000 ad scrapes

Go to Apify Store
Google Ads Transparency Scraper - Competitor Ad Library

Google Ads Transparency Scraper - Competitor Ad Library

Scrape the Google Ads Transparency Center by domain or advertiser ID. Every ad creative a brand runs on Google Search, YouTube, Display, Maps and Shopping, with the advertiser behind it, the dates it ran, and a preview of the ad. No login and no API key.

Pricing

from $1.00 / 1,000 ad scrapes

Rating

0.0

(0)

Developer

Eimantas V

Eimantas V

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Google Ads Transparency Scraper — Competitor Ad Library

See every ad a brand is running on Google — Search, YouTube, Display, Maps and Shopping — straight from Google's own Ads Transparency Center. Give it a domain; get back every creative, who paid for it, and how long it has been running.

No login, no API key, no browser.

What you get for every ad

FieldNotes
advertiserNameGoogle's verified advertiser, e.g. Nike, Inc.
advertiserDomainThe domain the ad points at
firstShownAt, lastShownAtISO 8601, UTC
daysShownDays the creative actually ran — not the window between those dates
previewUrlGoogle's own endpoint that renders the ad
urlThe creative's page in the Transparency Center
creativeId, advertiserId, region

daysShown is the column to sort by. An ad Nike has run for 1,646 days is a proven performer; one at 5 days is a test. That distinction is the whole point of watching a competitor's ad library, and it comes free with every row.

One domain, every agency

nike.com does not return one advertiser. It returns Nike, Inc., Nike Japan, Nike Global Trading, and the media agencies buying on their behalf — WPP Media Management, Initiative Media B.V., SLAM Media Inc.

So pointing this at a competitor's domain tells you not just what they advertise, but who runs their media. The summary row lists all of them.

Pricing

Pay per result. You are charged for ads you actually receive.

EventPrice
Ad scraped$1.50 per 1,000
Target processed$0.002 each
Actor start$0.00005

A target that cannot be reached is never charged — results are written to your dataset before any charge is raised.

Example input

{
"targets": ["nike.com", "adidas.com", "AR16735076323512287233"],
"region": "US",
"maxAdsPerTarget": 500,
"maxTotalAds": 5000
}

Targets accept a bare domain, an advertiser ID, or an adstransparency.google.com advertiser URL. region takes an ISO code (US, GB, DE, FR…) or Google's numeric geo-target ID directly.

Example output

{
"creativeId": "CR12984801659073855489",
"advertiserId": "AR06365026152670560257",
"advertiserName": "WPP MEDIA MANAGEMENT",
"advertiserDomain": "nike.com",
"firstShownAt": "2022-01-28T21:52:24.000Z",
"lastShownAt": "2026-09-21T04:42:06.000Z",
"daysShown": 1646,
"previewUrl": "https://displayads-formats.googleusercontent.com/ads/preview/content.js?…",
"url": "https://adstransparency.google.com/advertiser/AR06365026152670560257/creative/CR12984801659073855489?region=2840",
"region": "2840"
}

Speed, and the one real limit

Google returns 40 creatives per request, so 1,000 ads is about 25 requests. A measured run pulled 200 ads in 5 requests in seven seconds.

Google budgets these requests per IP address. After enough of them it stops answering and serves a block page. This Actor detects that, reports it plainly rather than as a mystery, and stops instead of burning further addresses. If a large run gets cut short, raise Delay between requests, or switch the proxy to the RESIDENTIAL group — both are input fields, no rebuild needed.

What isn't here

  • Ad text and headlines. Google's listing response carries the creative as a render endpoint, not as text. previewUrl shows you the ad; it does not hand you a string.
  • Spend and impressions. Google publishes these for political and issue ads only. They are not available for commercial advertisers at all.
  • Two fields in Google's payload have no documented meaning. They are passed through as rawFields rather than given invented names.

Integrations

Results land in a standard Apify dataset — export to JSON, CSV or Excel, or push onward with Make, Zapier, Google Sheets, Slack, or the API.

Support

Need a field that isn't here, or a region that isn't listed? Open an issue on this Actor's page — that reaches the developer directly.

The Ads Transparency Center is a public disclosure service Google is legally required to operate, and this Actor reads only what any visitor sees. It touches no private data and no account of yours. What you do with the data is still your responsibility.