Google Ads Transparency Scraper + Competitor Ad Report avatar

Google Ads Transparency Scraper + Competitor Ad Report

Pricing

from $1.50 / 1,000 ad rows

Go to Apify Store
Google Ads Transparency Scraper + Competitor Ad Report

Google Ads Transparency Scraper + Competitor Ad Report

Every Google ad a competitor runs, by domain, advertiser name or ID: text, image and video ads with first/last shown dates, plus a per-advertiser report by format, platform and country, longest-running ads, changes since the last run and competitor comparison.

Pricing

from $1.50 / 1,000 ad rows

Rating

0.0

(0)

Developer

Zerah Data

Zerah Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

See every Google ad a competitor is running - on Search, YouTube, Shopping, Maps and Google Play - and get a ready-made report on each advertiser: how many ads they run, which formats, platforms and countries they invest in, which ads have been running the longest (their likely winners), what is new, and what changed since your last check.

Data comes from Google's public Ads Transparency Center. No Google account, no API key and no browser needed.

What you get

Row typeWhat it contains
adOne row per ad: advertiser, format (text / image / video), first and last shown date, days running, days shown, running now (yes/no), preview image or preview link, link to the ad in the Transparency Center, and the headline, description and display URL when Google exposes them.
reportOne per query: total ads (Google's count), split by format, by platform and by country, ads running now, new ads in the last 7 / 30 days, median days running, the longest-running live ads, newest ads, first and last seen dates, advertiser accounts behind the domain, and plain-English insights.
comparisonWhen you enter 2+ competitors: one side-by-side row (total ads, video share, YouTube share, Shopping share, new ads, longest-running ad, top country) with the leader in each.
changeWith Track changes on: new ads, ads that stopped, restarted ads and the change in total ads since the previous run. Schedule it and you have a competitor ad monitor.
info / errorClear messages for unknown countries, names with no advertiser, throttling or a spending limit - the run never fails silently.

Optional ad details (one extra lookup per ad) add: every country where the ad ran with its own first/last dates, the Google platforms it ran on, impression ranges where Google discloses them (EU/EEA countries), topic category, the "paid for by" name (often the agency), number of variations and extra ad copy.

Example report (real run, shortened)

{
"type": "report",
"query": "nike.com",
"totalAds": "60,000–70,000",
"byFormat": { "TEXT": { "ads": "50,000–60,000", "sharePct": 83.3 }, "IMAGE": { "ads": "6,000–7,000", "sharePct": 9.8 }, "VIDEO": { "ads": "4,000–5,000", "sharePct": 6.8 } },
"byPlatform": { "GOOGLE_SEARCH": { "ads": "50,000–60,000" }, "GOOGLE_SHOPPING": { "ads": "20,000–30,000" }, "YOUTUBE": { "ads": "10,000–20,000" }, "GOOGLE_MAPS": { "ads": "10,000–20,000" } },
"byCountry": { "DE": { "ads": "10,000–20,000" }, "FR": { "ads": "10,000–20,000" }, "ES": { "ads": "9,000–10,000" }, "US": { "ads": "8,000–9,000" }, "JP": { "ads": "400–500" } },
"startedLast30Days": 4,
"longestRunningLiveAds": [{ "advertiserName": "Nike Retail BV", "format": "IMAGE", "firstShown": "2021-10-25", "runDays": 1828 }],
"insights": [
"nike.com: Google lists 60,000–70,000 ads (in all countries, all formats, all platforms, any date).",
"Main format: TEXT (83.3% of ads); video is 6.8%.",
"Platform mix: search 49.9%, shopping 22.7%, youtube 13.6%.",
"Biggest of the checked countries: DE (10,000–20,000), FR (10,000–20,000), ES (9,000–10,000).",
"4 new ads started in the last 30 days (1 in the last 7).",
"Ads come from 9 advertiser accounts; the largest is Nike Retail BV."
]
}

With ad details on, an ad row also gets for example "countriesShown": ["NL","ES","DE","LU","AT","FR","..."], "platforms": ["GOOGLE_MAPS","GOOGLE_SEARCH","GOOGLE_SHOPPING"], "impressionsMin": 20000, "paidBy": "Nike Retail BV" and per-country first/last dates.

How to use it

  1. Enter one or more domains (nike.com), advertiser names (Decathlon) or advertiser IDs (AR18378488041124659201).
  2. Optional filters: countries (any of 230+; US, DE, JP, BR, KR, AE, IN, TR, PL, ID, VN...), format, platforms, date range or shown in the last N days, only ads running now.
  3. Choose how many ads per query and whether you want ad details.
  4. Run. Open the Ads, Reports, Comparison and Changes tabs of the output.

The empty input {} runs a small example for nike.com.

Monitoring competitors

Turn on Track changes, give the watch list a monitor name and schedule the actor (daily or weekly). Each run adds a change row per competitor: new ads with their copy and links, ads that stopped running and how the total ad count moved.

Use cases

  • Competitor research - see a rival's whole Google Ads footprint in one run.
  • Creative inspiration - ads that have run for months or years are usually the ones that work.
  • Market entry - which competitors advertise in Japan, Brazil or the Gulf, and with which formats.
  • Agency pitches and audits - a clear, data-backed snapshot of a prospect's or client's ad activity.
  • Brand protection - find out who advertises on your brand's domain or name.
  • Lead generation - find companies that are actively spending on Google Ads.

Pricing

Pay only for what you get:

EventPrice
Ad row$0.0015 per ad
Ad details (optional)$0.0015 per ad with details
Advertiser report$0.005 per report

Example: 3 competitors x 100 ads with reports = 300 x $0.0015 + 3 x $0.005 = $0.47. Comparison, change, info and error rows are free. The run stops cleanly at your spending limit.

Input reference

FieldDefaultNotes
queries["nike.com"] when emptyDomains, advertiser names or AR... IDs. Up to 50.
countriesall2-letter codes or English names.
formatALLTEXT, IMAGE, VIDEO.
platformsallGOOGLE_SEARCH, YOUTUBE, GOOGLE_SHOPPING, GOOGLE_MAPS, GOOGLE_PLAY.
shownWithinDays / dateFrom / dateToany timeDate the ad was shown.
onlyActivefalseAds shown in the last 2 days.
maxAdsPerQuery200 = report only.
includeAdDetailsfalseCountries, platforms, EU impressions, topic, payer, variations.
reportDepthfullfull, standard, basic, none.
reportCountries10 major marketsCountries counted in the report.
trackChanges / monitorNameoff / defaultChange history between runs.
outputModealladsOnly, reportsOnly.
maxRunSeconds300The run stops cleanly at this limit and keeps everything found so far; skipped queries get a TIME_LIMIT row.

Good to know

  • Counts are Google's own ranges (e.g. "8,000–9,000"); shares use the middle of each range.
  • "Running now" means shown in the last 2 days. Days running is first to last shown; days shown is the number of days Google reports the ad actually ran.
  • Google lists ads from advertisers that completed its verification. Very small advertisers may have no ads listed.
  • Impression numbers are published by Google only for some regions (mainly the EU/EEA); platform lists per ad are also mostly published for EU/EEA ads.
  • Google's history reaches back about 5 years, so the oldest ads show a first-shown date about 5 years ago.
  • Video ads come with a preview link; image and text ads come with a preview image.
  • A self-check (record RUN_REPORT in the key-value store) counts missing fields, duplicates and failed lookups on every run.

FAQ

Do I need a proxy? Google limits how many requests one IP can make. Apify datacenter proxy (the default) is enough for most runs; the actor spreads requests across IPs, switches routes and retries automatically. If Google throttles every IP, you get a clear BLOCKED row instead of a silent failure - start the run again a few minutes later (a new run usually gets a fresh IP) or choose the RESIDENTIAL group for large runs.

Can a run hang? No. Every request has a timeout, paging has a hard cap, and the whole run is bounded by maxRunSeconds (default 5 minutes). Whatever was found before the limit is saved and charged; nothing after it is.

Can I get all 60,000 ads of a big brand? Use filters (country, format, platform, last N days) to focus. The report gives you the full counts without downloading every ad.

Is this legal? The actor reads only public information that Google publishes for transparency. Check your own use against your local rules.