Google Ads Transparency Scraper 🔍 (competitor ad spy) avatar

Google Ads Transparency Scraper 🔍 (competitor ad spy)

Pricing

from $1.40 / 1,000 ad creatives

Go to Apify Store
Google Ads Transparency Scraper 🔍 (competitor ad spy)

Google Ads Transparency Scraper 🔍 (competitor ad spy)

Every ad a competitor runs on Google, YouTube, Shopping, Maps and Play: creative, format, first and last seen, days shown, and the verified legal entity paying. Search by brand, advertiser ID or landing domain. The ad-history slice a SpyFu or Adbeat seat sells, priced per ad.

Pricing

from $1.40 / 1,000 ad creatives

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Google Ads Transparency Scraper 🔍

See every ad a competitor is currently running on Google, and how long each one has been running.

Google publishes every ad it serves in the Ads Transparency Center, but the site only lets you scroll one advertiser at a time and gives you nothing to export. This actor turns that into a dataset: one row per ad creative, with the creative image, the format, the first and last date it was seen, the number of days it actually ran, and the verified legal entity paying for it. Search by brand name, by advertiser ID, or by landing domain.

No API key, no Google Ads account, no login. One flat price per ad with platform usage included, so what you see in the pricing box is what the run costs.

What you get

One record per ad creative (recordType: "ad"):

FieldWhat it is
advertiserId / advertiserNameWho is paying for the ad
creativeIdGoogle's ID for this creative
adUrlPublic Transparency Center page for the ad
formattext (search ads), image (display and Demand Gen) or video (YouTube)
firstShown / lastShownISO dates the creative was first and last seen
approxDaysShownDays the creative actually ran, as Google counts them. It is not last minus first: a creative first seen 1,350 days ago reported 1,210 days shown
landingDomainThe site the ad points at (always filled in domain mode)
imageUrl, imageWidth, imageHeightThe archived creative image
previewUrlGoogle's rendered preview of the ad, ready to embed in an iframe
googleAdsCustomerIdThe advertiser's obfuscated Google Ads account ID
googleCreativeId, googleAdGroupIdThe advertiser's own numeric IDs for the creative and its ad group
variationCountHow many different renderings this creative has (detail mode)
regionsShown, regionCountEvery country the ad ran in, with a last-seen date per country (detail mode)

Plus one profile row per advertiser (recordType: "advertiser"):

FieldWhat it is
advertiserLegalNameThe legal entity Google verified before letting them advertise
advertiserCountryWhere that entity is registered
identityVerifiedWhether Google completed advertiser identity verification
advertiserUrlPublic advertiser page

Three things you will not find in the other Transparency Center scrapers

Domain search. Ask for nike.com and you get every advertiser buying ads that land there, not just Nike itself. On a live check that returned Nike Inc., Nike Retail BV, Nike Global Trading Singapore, Nike Japan and a WPP media agency. That is how you find out who else is bidding on your own brand.

The Google Ads account ID. Every ad carries the advertiser's obfuscated customer ID, its numeric creative ID and its ad group ID, read straight out of Google's own preview URL. Those are join keys: two advertiser records with the same customer ID are the same Google Ads account.

Per-country reach. Turn on the detail option and each ad tells you every country it ran in with a last-seen date for each, so you can see a campaign being tested in one market before it rolls out.

Who uses it

Performance marketers and agencies. Pull a competitor's whole ad library before a pitch or a quarterly review. approxDaysShown is the honest signal for which creatives are working: an ad nobody pauses after 300 days is an ad that converts, and a burst of new creatives dated last week is a campaign launch.

Brand protection. Run your own domain weekly. Affiliates, resellers and unauthorised partners bidding on your brand show up as separate advertisers pointing at your site.

Competitive intelligence and market research. Filter by country to see which markets a company is actually spending in, and by format to separate its search spend from its YouTube spend.

Ad creative research. Filter to image or video and collect creative URLs from everyone in a category at once.

Input examples

Every competitor's ads in the US:

{
"advertisers": ["Nike", "Adidas", "Puma"],
"region": "US",
"maxResults": 500
}

Who else is buying ads that land on your site, worldwide:

{
"domains": ["stripe.com"],
"region": "ANY",
"maxResults": 1000
}

This quarter's YouTube campaigns only, with the country breakdown:

{
"advertisers": ["AR16735076323512287233"],
"platform": "youtube",
"shownAfter": "2026-07-01",
"fetchCreativeDetails": true,
"maxResults": 200
}

A brand that advertises through regional entities:

{
"advertisers": ["Booking.com"],
"allMatchingAdvertisers": true,
"region": "GB",
"maxResults": 2000
}

FAQ

Do I need a Google Ads account or an API key? No. The Ads Transparency Center is public and this actor reads it directly.

Can I get the ad's headline and description text? Not as text. Google archives text ads as a rendered picture of the ad rather than as fields, so what you get is imageUrl (the picture) and previewUrl (Google's live rendering). Nothing that reads the Transparency Center can give you the headline as a string, including the tools that imply they can.

Can I get the ad's click-through URL? Google does not publish the final URL, only the advertiser and, in domain mode, the domain the ad lands on. landingDomain is as close as the source goes.

Why do I get several advertisers for one brand name? Because the brand really does have several. "Nike" resolves to nine separate verified advertisers, from Nike, Inc. with about 9,000 ads down to a personal account with one. By default the actor picks the largest, which is almost always the one you mean. Set allMatchingAdvertisers to true to get all of them.

How many ads can I pull for one advertiser? As many as Google publishes. Large advertisers have thousands, so maxResults is what keeps a run predictable. The log reports the size bracket Google shows on the page ("about 8,000 to 9,000 ads") before it starts paging.

How current is the data? Live. lastShown on an active ad is usually today's date.

What does the country filter actually do? It restricts results to ads served in that country. An advertiser can have thousands of ads in the US and a hundred in France. Leave it on "Any country" to see everything at once.

Does political-ad data come with it? Not in this version. The Transparency Center publishes extra spend and impression ranges for election ads under a separate topic, which this actor does not query yet.

What if an advertiser is running nothing? The run finishes normally with the advertiser profile row and no ad rows, and the log says so. You are only billed for what actually comes back.

  • eBay Sold Listings Scraper, for what things actually sold for
  • Capterra Reviews Scraper, for what a competitor's customers say
  • Google Trends Scraper, for whether the category is growing at all

Keywords: google ads transparency center scraper, ads transparency api, competitor ad research, google ads spy tool, ad creative scraper, competitor ad library, google ads competitor analysis, youtube ads scraper, display ads scraper, brand protection monitoring, advertiser lookup, ad intelligence.