Google Ads Transparency Scraper — Competitor Ads & Creatives
Pricing
from $4.00 / 1,000 results
Google Ads Transparency Scraper — Competitor Ads & Creatives
Scrape the Google Ads Transparency Center: every ad an advertiser, domain, or keyword is running across Search, Shopping, Display & YouTube. Filter by region, date & format. Streams results live (no waiting for the end). Clean JSON/CSV, company-level only.
Google Ads Transparency Scraper — Competitor Ad Library & Ad Intelligence API
See every ad your competitors are running on Google. Pull any advertiser's live ads from the Google Ads Transparency Center into clean, structured JSON/CSV — searchable by advertiser, domain, or keyword, filterable by region, date, and ad format. Built for competitor ad research, google ads spy, ad library scraping, ad transparency monitoring, and competitor ad intelligence across Google Search, Shopping, Display & YouTube.
Streams results live — ads land in your dataset as they're found, page by page; you never wait until the end of a run, and an interrupted run keeps everything collected so far. Reliable completion with automatic retries and residential-IP rotation, so long advertiser runs (hundreds of pages) finish cleanly.
Who it's for
- Marketers / agencies — spy on competitor ad creatives and messaging before a launch.
- Growth / performance teams — monitor a rival's active ads and creative-refresh cadence over time.
- Analysts / researchers — build a structured ad-intelligence dataset for BI or an LLM pipeline.
What you get per ad
| Field | Description |
|---|---|
advertiserName | The advertiser (company / organisation) |
advertiserDomain | The advertiser's verified domain, e.g. shopify.com (domain-mode searches; null otherwise) |
advertiserId | Stable Google advertiser ID (AR...) |
creativeId | Unique creative ID (CR...) |
adFormat | text, image, or video |
variantCount | Relative breadth signal — how many served variants/placements Google reports for this creative. Use it to rank which creatives an advertiser is running hardest. (A breadth proxy, not impressions or spend — the public Center exposes neither.) |
firstShown / lastShown | When the ad's active window starts / ends (ISO 8601 UTC) |
firstShownTs / lastShownTs | The same timestamps as unix seconds — a stable numeric key for sorting / de-duping across runs |
previewUrl | Direct URL to the rendered creative (interactive / JS formats) |
imageUrl | Direct image URL for image creatives (extracted from the ad markup); null for text / video |
adLibraryUrl | Deep link back to the ad on Google's Transparency Center |
region | Region the results were scoped to |
advertiserCountry | Advertiser's country (ISO-2), when resolved via keyword mode; null otherwise |
advertiserAdCount | Google's total ad count for that advertiser, when resolved via keyword mode; null otherwise |
matchedQuery / searchMode | The query and mode that produced the row |
All data is company / advertiser-level only — no personal data (PDPA / GDPR-friendly by design).
Each run also writes a RUN_SUMMARY to the key-value store — adsReturned, resultCapReached
(true = more ads exist; raise maxResults), complete (a clean, exhaustive run), plus the filters
used — so you always know whether a result set is complete or capped, never a silent partial.
Three ways to search (set searchMode)
domain(default) — free-text / brand-domain search. Best for a brand or site, e.g.["nike.com", "shopify.com"].keyword— give a keyword; the actor resolves the matching advertisers (and domains) and pulls their ads, e.g.["running shoes"]. Tune breadth withmaxAdvertisersPerKeyword.advertiser— give exact advertiser IDs (AR...) to get every ad for that advertiser, e.g.["AR16735076323512287233"].
Filters
region— country name or code (US,United Kingdom,DE, …) oranywherefor global. Unknown values safely fall back to global (never a wrong-country result).dateFrom/dateTo—YYYY-MM-DD; keeps ads whose active window overlaps your range.adFormats— any oftext,image,video.maxResults— cap total creatives (0 = unlimited).
Example 1 — a competitor's image & video ads in the US
Input:
{"searchMode": "domain","queries": ["nike.com"],"region": "US","dateFrom": "2025-01-01","adFormats": ["image", "video"],"maxResults": 1000}
Output (one record):
{"advertiserName": "Nike, Inc.","advertiserDomain": "nike.com","advertiserId": "AR16735076323512287233","creativeId": "CR03002423070389436417","adFormat": "image","variantCount": 466,"firstShown": "2021-10-26T07:00:00.000Z","lastShown": "2026-05-24T23:54:27.000Z","firstShownTs": 1635231600,"lastShownTs": 1779663267,"previewUrl": "https://displayads-formats.googleusercontent.com/ads/preview/content.js?...","imageUrl": "https://s0.2mdn.net/9309096/…_300x250_EN.jpg","adLibraryUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR03002423070389436417","region": "US","advertiserCountry": null,"advertiserAdCount": null,"matchedQuery": "nike.com","searchMode": "domain"}
Example 2 — every advertiser bidding on a keyword
Input:
{"searchMode": "keyword","queries": ["running shoes"],"maxAdvertisersPerKeyword": 5,"region": "anywhere","maxResults": 500}
Returns the top advertisers Google associates with "running shoes", then every ad each one is
running — one flat row per creative, ready to pivot by advertiserName and adFormat.
Example 3 — an advertiser's full ad history by ID
Input:
{"searchMode": "advertiser","queries": ["AR16735076323512287233"],"region": "anywhere","maxResults": 0}
Pulls every creative Google currently surfaces for that advertiser (maxResults: 0 = no cap) —
the exhaustive option when you already know the advertiser and want their complete live library.
Why this actor
- All three search angles — advertiser, domain, and keyword in one actor.
- Incremental streaming — see results immediately; no "0 results until it finishes".
- Reliable at scale — automatic retries with backoff and residential proxy IP rotation, so long advertiser runs (hundreds of pages) finish cleanly.
- Clean, consistent schema — every row has the same flat fields, ready for CRM, BI, or LLM pipelines (JSON, CSV, Excel).
- Company-level only — safe to use, no personal data.
Pricing
Pay per result (per ad creative returned). No subscription — you only pay for the data you pull.
Notes & limits
- Only ads currently surfaced by Google's public Ads Transparency Center are returned (Google shows ads active within roughly the last year for most regions; political/election ads have longer retention).
keywordmode depends on Google's own advertiser/domain suggestions for that keyword; very generic terms may resolve to fewer advertisers — for exhaustive coverage of a known brand, usedomainoradvertisermode.- Reads only public, advertiser-level transparency data; use responsibly and in line with Google's terms.