Google Ads Transparency Scraper — Competitor Ads & Creatives avatar

Google Ads Transparency Scraper — Competitor Ads & Creatives

Pricing

from $0.80 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper — Competitor Ads & Creatives

Google Ads Transparency Scraper — Competitor Ads & Creatives

Every ad an advertiser runs on Google (Search, YouTube, Display) from the public Ads Transparency Center: format, first and last shown dates, days running and the ad image. Run it again or on a schedule to get only the new ads since the last run. By name, website, advertiser ID or link. No login.

Pricing

from $0.80 / 1,000 ads

Rating

0.0

(0)

Developer

Northbell

Northbell

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Give it advertisers — a company name, a website, an advertiser ID or an Ads Transparency Center link — and get every ad they run on Google (Search, YouTube and Display) as clean rows: format, first and last shown date, days running, the ad image and a link to the ad. Filter by country and format. $1 per 1,000 ads, no login, no API key, no cookies.

Run it again — or put it on a daily schedule — and every ad also says whether it is new since the last run. That turns the Transparency Center into a competitor ad alert: switch on Only new ads and each run returns just the creatives that started after the previous one (the first run saves the starting point and returns the advertiser summary only).

What you get

Rows have a type. Every row has input (what you typed) and observedAt.

Row typeOne row perFields
adad (creative)advertiser, advertiserId, creativeId, url, format (text, image or video), firstShown, lastShown (dates), daysRunning, lastShownDaysAgo, previewUrl, region, isNewSinceLastRun
advertiserinput (free)advertiserName, advertiserId, advertisersFound, country, adsRead, adsTotalMin, adsTotalMax, newSinceLastRun, previousRunAt, region, formatFilter, complete, alternatives, note
errorinput that failed (free)message
  • format is the ad type Google lists: text, image or video. Google shows most text ads as a picture of the ad, so previewUrl is that picture for text and image ads. It is empty for ads Google draws with a script (some image, video and rich ads): open url to see them.
  • daysRunning counts calendar days from firstShown to lastShown, both included. lastShownDaysAgo of 0 or 1 means the ad is running now.
  • adsTotalMin / adsTotalMax are Google's own range for how many ads the advertiser has under your filters (it only gives a range, for example 8,000 to 9,000), so you can see how much maxAdsPerAdvertiser left out.
  • alternatives lists other advertisers that matched a company name, so you can pick the exact one by ID.

Since the last run (null on the first run):

FieldOnWhat it is
isNewSinceLastRunadtrue for an ad that was not in your previous run and started running after it, false otherwise
newSinceLastRun, previousRunAtadvertiserhow many ads are new and when your previous run of the same advertiser, region and format was

Use it for

  • Competitor ad alerts — schedule it daily with Only new ads and see every new creative a competitor launches
  • Creative research — what a brand runs on Search, YouTube and Display, how long each ad has been running (long-running ads usually work)
  • Agencies and sales — show a prospect their competitors' ads, or check what ads run in a country before a pitch

Input

{ "advertisers": ["nike.com", "Adidas", "AR16735076323512287233"], "region": "US", "format": "all", "maxAdsPerAdvertiser": 100, "onlyNew": false }
  • Advertisers — a company name (matched to the advertiser with the most ads), a website (ads whose landing page is on that site, from any advertiser: the summary row names the one with the most ads and advertisersFound counts them), an advertiser ID (AR…, the exact way) or an adstransparency.google.com/advertiser/AR… link.
  • Region — anywhere or a country code (US, GB, JP, DE…): only ads shown in that country.
  • Format — all, text, image or video.
  • Max ads per advertiser — 1 to 2,000, most recently shown first.

What you saw is remembered per advertiser, region and format in a named key-value store in your Apify account, so the second run already shows what is new. Schedule it (Apify → Schedules) for a daily alert.

Pricing

$1 per 1,000 ads, plus $0.01 per run. Advertiser summary rows and error rows are free. With Only new ads you pay only for the new ads: the first run of an advertiser only saves the starting point and costs nothing but the $0.01 run-start fee. The $0.01 run-start fee is the one charge every run pays, even one that returns nothing.

Notes

  • Public data only: what anyone sees on adstransparency.google.com. Advertiser names are published by Google as shown there (companies, and some individuals and sole traders who run ads). The rows hold no ad text and no contact details: only IDs, dates, the format and the address of the ad image.
  • Order and "new". Google lists the most recently shown ads first. A big advertiser (Nike has thousands) read with a small limit shows a different slice each day, so an ad counts as new only when its ID was not in your previous run and it first ran in the days around that run (two days of slack for Google's publishing delay). Raise Max ads per advertiser for large advertisers.
  • Region is a real filter, not a hint: the same advertiser returns different ads and counts per country (checked on 8 October 2026 from one address, Nike, Inc.: about 7,000 to 8,000 text ads for US, 10 ads in total for JP). region on each row is the filter you used, not the list of countries an ad ran in.
  • Google rate limits fast callers. The Actor asks for one page of 40 ads every 3 seconds (an advertiser with 2,000 ads takes about 2.5 minutes) and retries twice; if Google still refuses, you get the ads read so far (complete: false) and an error row, and you can run again later.
  • With a Format other than all, the Actor also checks the format of every ad it gets back, so you never receive another format by mistake.
  • A company name that Google cannot match gives an error row instead of a guess; use the advertiser ID from the Transparency Center link then.

For keyword ideas to bid on or write ads for, see Keyword Suggestions — Google, YouTube & Amazon Autocomplete.

For AI agents

{"advertisers": ["nike.com"], "maxAdsPerAdvertiser": 5} returns one advertiser summary row and up to 5 ad rows with format, first and last shown dates and the ad image. Rows have type: ad, advertiser or error. Run it again with "onlyNew": true to get only the ads that appeared since the previous run.

**Something broke or looks wrong?** Open an issue on this Actor's Issues tab and I'll look at it. **Found it useful?** A short review on the Store page helps other people find it.