Google Ads Transparency Scraper — Competitor Ads | $0.60/1K
Pricing
from $0.60 / 1,000 ad results
Google Ads Transparency Scraper — Competitor Ads | $0.60/1K
Scrape competitor ads from the Google Ads Transparency Center by domain, advertiser name or ID: format, first/last shown, regions, impressions, ad copy, images, video and landing domain. Schedule it to get only new ads. $0.60 per 1,000 ads.
Pricing
from $0.60 / 1,000 ad results
Rating
0.0
(0)
Developer
ActorForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Scrape competitor ads from the Google Ads Transparency Center by domain, advertiser name or ID: format, first/last shown, regions, impressions, ad copy, images, video and landing domain. Schedule it to get only new ads. $0.60 per 1,000 ads.
See what ads your competitors are running on Google, and get told when they launch new ones. This Google Ads Transparency scraper reads the public ad library at adstransparency.google.com (Search, YouTube, Display, Shopping and Maps ads) and returns one clean row per ad: advertiser (company name, ID, country), creative ID, format (text / image / video), first and last shown, days running, countries, impression ranges, best-effort headline and description, image and video URLs, landing domain and a link to the ad's transparency page. Search by competitor domain (nike.com), advertiser name (HubSpot) or advertiser ID; filter by country, date range and format. The main use is ad monitoring: switch on Only new ads since the last run, schedule it daily, and each run returns just the competitor ads that appeared since the last run (already-seen ads are skipped and never charged). Plain HTTP, no browser, 256 MB. $0.60 per 1,000 ads, about a third of the leading Google Ads Transparency actors ($1.50-2.00 per 1,000).
📘 Step-by-step guide: How to Monitor Competitor Ads in Google Ads Transparency Center
What data does it return?
Every run outputs clean, schema-validated rows like these:
| advertiserName | format | firstShown | lastShown | regions | landingDomain | previewUrl |
|---|---|---|---|---|---|---|
| Nike, Inc. | text | 2022-11-30 | 2026-10-19 | US | nike.com | https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR00144196208338927617 |
| INITIATIVE MEDIA B.V. | video | 2023-10-17 | 2026-10-19 | FR, BE, DE, IT, ES, … | nike.com | https://adstransparency.google.com/advertiser/AR11154049584043393025/creative/CR03397377851928870913 |
| Hubspot, Inc. | text | 2025-11-03 | 2026-10-19 | US, DE, FR, IN, BR, … | hubspot.com | https://adstransparency.google.com/advertiser/AR10072600183532683265/creative/… |
| Argos Limited | text | 2025-… | 2026-10-19 | GB | argos.co.uk | https://adstransparency.google.com/advertiser/AR08556219150266007553/creative/CR07375270183734083585 |
How much does it cost?
Transparent pay-per-event pricing — you only pay for what you get, and the actor always respects your run budget: set a maximum total charge and it stops cleanly at the cap instead of overrunning.
| Event | Price | Charged | Worked example |
|---|---|---|---|
ad-result | $0.0006 | per ad delivered | 100 ads = $0.06; 1,000 ads = $0.60; a daily monitor returning ~20 new ads = $0.012 a day |
ad-detail | $0.001 | per ad, only when 'Include ad details' is on (one extra lookup: regions, impressions, ad copy) | 100 ads with details = $0.06 + $0.10 = $0.16 |
apify-actor-start | $0.00005 | per run per GB of memory (platform start fee) | One run at 256 MB = $0.0000125 |
Input options
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
domains | array | no | — | Competitor websites, e.g. nike.com. Returns every ad Google shows for that domain, from the brand itself and from agencies or resellers advertising it. |
advertiserNames | array | no | — | Company names as shown in the Ads Transparency Center, e.g. HubSpot, Argos Limited. Exact name matches are used (a brand's several legal entities are all kept); otherwise the closest advertiser with the most ads. |
advertiserIds | array | no | [] | Google advertiser IDs (AR… from an adstransparency.google.com/advertiser/AR… link). |
regions | array | no | [] | Only ads shown in these countries, as two-letter codes (US, GB, DE, FR…). Empty = anywhere. |
dateFrom | string | no | — | Only ads shown on or after this date (YYYY-MM-DD). |
dateTo | string | no | — | Only ads shown on or before this date (YYYY-MM-DD). |
formats | array | no | [] | Only these formats. Empty = all. |
maxAdsPerAdvertiser | integer | no | 100 | How many ads to read for each domain, advertiser name or advertiser ID, newest first as the Transparency Center lists them. |
maxResults | integer | no | 1000 | Stop after this many ads across all searches. You pay per ad delivered ($0.60 per 1,000). |
includeDetails | boolean | no | false | One extra lookup per ad: countries shown, impression ranges and first/last shown per country, plus best-effort headline/description text. Charged as ad-detail ($1 per 1,000). |
onlyNewSinceLastRun | boolean | no | false | Remember every ad delivered in a named key-value store (ads-seen-<monitor name>) and return only ads not seen before. Schedule the actor daily to get a feed of competitors' new ads; already-seen ads are skipped and never charged. |
monitorName | string | no | "default" | Name of the seen-ads memory used by 'Only new ads'. Use one name per schedule (e.g. uk-competitors) so separate watch lists don't share state. |
proxyConfiguration | object | no | {"useApifyProxy":false} | Not needed: the Transparency Center is public. Leave off unless you have your own reason to route requests through a proxy. The actor never rotates proxies to get around a block. |
Limits & honest notes
- No CAPTCHA solving, no protection bypass. If Google answers with a CAPTCHA or its "unusual traffic" page (or keeps answering 429/403), the actor stops the run at once, keeps the ads already delivered, and says so in the run's status message and RUN_SUMMARY. Blocked requests are never charged. Google can do this to automated traffic from busy IP ranges, so some runs may return partial results; re-run later.
- No proxy rotation and no browser imitation: requests use an honest user agent naming this actor. You can set your own proxy for your own reasons; the default is none.
- Data comes from the same keyless JSON calls the public Transparency Center page makes (its robots.txt has no rules). Requests are paced (at most 2 at a time, 0.8-2 s apart, backoff on errors).
- Ad copy (headline/description) needs 'Include ad details' and is best-effort: many Google text ads are published only as a rendered snapshot image (returned as previewImageUrl), and image ads have no text.
- There is no ad-text keyword search in the Transparency Center: search by domain, advertiser name or advertiser ID. A domain search returns ads from every advertiser that advertises that domain (agencies and resellers included).
- Advertiser country is filled for advertiser-name searches (from Google's advertiser search); domain and ID searches leave it empty.
- Advertisers are businesses. Where Google lists a verified individual as the advertiser, only the name Google itself publishes is returned. No other personal data is collected.
- 'Max ads per domain / advertiser' counts ads read, newest first, so a daily monitor stays fast and cheap. Already-seen ads (monitoring), filtered-out formats and errors are never charged.
- Respects your run budget: set a maximum total charge and the actor stops cleanly at the cap.
Related ActorForge actors
- Website Change Monitor — watch competitors' landing pages change
- Tech Stack Detector — see which ad and analytics tags a competitor runs
- SEO Audit Crawler
- Domain WHOIS & DNS Lookup
- Learn more: How to Monitor Competitor Ads in Google Ads Transparency Center
Changelog
- 2026-10-19 — Initial release: Google Ads Transparency Center search by domain, advertiser name and ID; region, date and format filters; per-country impressions and ad copy with details; only-new-ads monitoring; hard stop on CAPTCHA.
Built and maintained by ActorForge. Reliability first: every actor in the portfolio is monitored by an automated nightly self-test, and breakages are typically fixed the same day.