Google Ads Transparency Scraper: Competitor Ads by Domain avatar

Google Ads Transparency Scraper: Competitor Ads by Domain

Pricing

from $1.80 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper: Competitor Ads by Domain

Google Ads Transparency Scraper: Competitor Ads by Domain

Enter competitor domains (nike.com), advertiser IDs or Ads Transparency Center URLs. Get one row per ad: advertiser, format, first and last shown, headline, image, landing page and YouTube link for video ads. Filter by country, format and dates. No login.

Pricing

from $1.80 / 1,000 ads

Rating

0.0

(0)

Developer

Plainsource

Plainsource

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Enter competitor domains such as nike.com, advertiser IDs (AR followed by digits) or Google Ads Transparency Center advertiser URLs, and get every ad Google shows for them as one row per ad: advertiser, format, first and last shown, headline, description, landing page, image and, for video ads, the YouTube link. Filter by country, ad format and dates. No login and no API key.

The data comes from the public Google Ads Transparency Center. The Actor calls the same endpoints the website uses, with plain HTTP and no browser, so a run of 10 ads takes about 10 seconds and 1,000 ads about 2 minutes.

What data you get

One dataset item per ad creative.

FieldMeaning
inputThe domain, ID or URL you entered that produced this ad
advertiserId, advertiserNameWho paid for the ad, as Google lists them
domainThe website the ad was matched to (domain searches)
creativeIdGoogle's ID for the ad
formattext, image or video
firstShown, lastShown, daysShownWhen Google first and last showed the ad, and for how many days
regionsCountry codes where the ad ran. Only filled when you turn on the regions option
headline, description, callToActionAd copy, for image and video ads
destinationUrl, displayUrlLanding page and the URL shown in the ad
imageUrl, imageWidth, imageHeight, logoUrlAd picture and logo. For text ads, imageUrl is the picture Google shows of the text ad
videoUrl, videoThumbnailUrl, videoDuration, channelNameYouTube link and details for video ads
previewUrlGoogle's script URL that renders the ad (image and video ads)
creativeUrl, advertiserUrlLinks to the ad and to the advertiser on adstransparency.google.com
scrapedAtWhen the row was collected

Fields that do not apply to an ad are null. A run also writes a SUMMARY record to the key-value store with the count per input, inputs that had no ads or failed, and request statistics.

How to use it

  1. Open the Actor and put one or more entries in Domains, advertiser URLs or advertiser IDs. You can mix all three kinds.
  2. Optional: pick a Region, an Ad format, and a date range.
  3. Set Max ads per domain or advertiser. The default in the form is 10. Every ad costs money, so this is also your spending cap per entry.
  4. Click Start. Download the dataset as JSON, CSV or Excel, or read it through the API.

A domain such as nike.com returns the ads that point to that website, from every advertiser that runs them (Nike itself, its regional entities and agencies). An advertiser ID or URL returns the ads of that one advertiser account.

Example input

{
"advertisers": ["nike.com"],
"region": "anywhere",
"format": "any",
"maxAdsPerAdvertiser": 10,
"includeCreativeDetails": true,
"includeRegions": false,
"proxyConfiguration": { "useApifyProxy": true }
}

Filters work together. This returns video ads shown in Germany during the last 60 days:

{
"advertisers": ["adidas.com"],
"region": "DE",
"format": "video",
"startDate": "60 days",
"maxAdsPerAdvertiser": 50
}

Example output

A video ad, shortened, from a real run:

{
"input": "nike.com",
"advertiserId": "AR14612997888104464385",
"advertiserName": "NIKE GLOBAL TRADING B.V. SINGAPORE BRANCH",
"domain": "nike.com",
"creativeId": "CR11347522441795600385",
"format": "video",
"firstShown": "2026-10-20T12:15:04.000Z",
"lastShown": "2026-11-02T02:13:54.000Z",
"daysShown": 13,
"regions": null,
"headline": "Zero Pressure",
"description": "Designed for ultimate lockdown with an innovative mid-foot strap. Now available.",
"destinationUrl": "https://www.nike.com/ph/w/jayson-tatum-shoes-4t66izy7ok",
"displayUrl": "nike.com",
"videoUrl": "https://www.youtube.com/watch?v=Flvk9kZ1Sa0",
"videoThumbnailUrl": "https://i3.ytimg.com/vi/Flvk9kZ1Sa0/hqdefault.jpg",
"videoDuration": "0:12",
"channelName": "Nike",
"creativeUrl": "https://adstransparency.google.com/advertiser/AR14612997888104464385/creative/CR11347522441795600385?region=anywhere",
"scrapedAt": "2026-11-02T02:32:17.466Z"
}

A text ad from the same run:

{
"input": "nike.com",
"advertiserId": "AR16735076323512287233",
"advertiserName": "Nike, Inc.",
"domain": "nike.com",
"creativeId": "CR18059270850321842177",
"format": "text",
"firstShown": "2023-11-16T21:52:24.000Z",
"lastShown": "2026-11-02T02:15:42.000Z",
"daysShown": 914,
"imageUrl": "https://tpc.googlesyndication.com/archive/simgad/2576477964533453194",
"imageWidth": 348,
"imageHeight": 252,
"creativeUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR18059270850321842177?region=anywhere"
}

How much does it cost?

You pay per ad in the dataset: $0.0018 per ad ($1.80 per 1,000 ads), plus a $0.0005 start fee per run.

RunCost
10 adsabout $0.0185
1,000 adsabout $1.80
10,000 adsabout $18

Inputs that have no ads, inputs that fail, and duplicates (the same ad found through two of your entries) add nothing to the dataset and are not charged.

Use cases

  • Watch which ads a competitor runs on Google Search, Display and YouTube, and how long each one has been live.
  • Collect the headlines, descriptions and landing pages of competitor ads for a swipe file.
  • Check which countries a rival advertises in by running the same domain with different regions.
  • Find every advertiser account that sends traffic to a domain, including agencies.
  • Track new ads over time by running on a schedule with a recent start date.

FAQ

Do I need a Google account or an API key? No. The Actor reads the public Transparency Center.

Why do text ads have no headline? Google serves text ads in the Transparency Center only as a picture. The Actor gives you that picture in imageUrl. It does not run text recognition on it.

Do image and video ads always have a headline and a video link? No. The extra fields come from Google's own ad preview and depend on the ad type. In a test run with 40 non-text ads, 33 had a headline or a video link. Shopping ads give the product title and picture; app install ads often give only a store link. Rows are still returned, with previewUrl and creativeUrl.

How far back do date filters go? The filter returns what Google returns. In testing, date ranges in early 2025 and in 2022 returned no ads even for advertisers whose ads had been running since 2022, so plan on about the last year. If you set only one of the two dates, the other is filled in (today, or 1 January 2020).

How many ads can one run return? There is no limit set by the Actor. I tested one run of 1,200 ads across two inputs (about 2 minutes, 92 MB of memory). Google reports roughly 700,000 ads for a very large advertiser such as hotels.com. I did not test paging that deep.

Why is the number of ads different from what the website shows? Google rotates and retires ads continuously, and a domain search also depends on how Google matched the ad to the site. Each result is a snapshot of the moment you run it.

What about Google blocking? Google answers with a captcha page when one IP asks too fast. The Actor spaces its requests, and on a block it waits, switches to a new proxy IP and retries up to 8 times. By default it uses Apify datacenter proxy for this. If an input still fails, the run goes on with the others, and the failure is listed in SUMMARY. If every input fails, the run is marked as failed.

What does the regions option cost in time? It adds one request per ad, spaced out, about 2 seconds each. Leave it off for large runs.

Can I search by advertiser name? Not directly. Use the advertiser's website domain, or find the advertiser ID in the URL of its page on adstransparency.google.com.

Other Actors by this developer