Google Ads Transparency Scraper avatar

Google Ads Transparency Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Google Ads Transparency Scraper

Google Ads Transparency Scraper

See every ad any advertiser runs across Google. Scrape the Ads Transparency Center by advertiser name, domain, or ID: creatives with format, preview and image URLs, first/last shown dates, days active, ad variants, and the countries each ad ran in. Built for competitor ad intelligence

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Banea Teodor

Banea Teodor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

What does Google Ads Transparency Scraper do?

This Actor extracts any advertiser's ads from the Google Ads Transparency Center — the public registry of every ad served through Google (Search, YouTube, Display, Shopping). Give it advertiser names, domains, or IDs and get every creative as clean JSON: format, preview and image URLs, first/last shown dates, how many days each ad has been active, and optionally every ad variant and the exact countries each ad ran in.

It talks to the Center's JSON API directly — no browser, no screenshots — so runs are fast, cheap, and stable.

Why use this Actor?

  • See any competitor's entire Google ads playbook — every text, image, and video ad they run, with real first-shown dates that reveal what they've been running for years (their proven winners) versus what they're testing this week.
  • Search your way — by brand name ("Nike"), domain ("nike.com"), advertiser ID ("AR…"), or a pasted Ads Transparency URL. Domains are the widest net: they cover all of a brand's verified advertiser entities at once.
  • Longevity as a spend signaldaysShown tells you how long each ad has been active; long-running ads are ads that work.
  • Region and format targeting — only ads shown in a chosen country, only videos (or only text/image ads).
  • Ad variants and geography — optionally fetch each ad's variants and per-country last-shown dates.
  • Built for pipelines — every row always has every field, ISO 8601 dates, direct image URLs, stable creativeId for tracking ads over time.

How much does it cost?

You pay per ad returned. Pulling a competitor's latest 200 ads costs a few cents and finishes in under a minute. Ads come 100 per request, so even large sweeps are cheap — use maxAdsPerAdvertiser and maxAds to bound any run. includeDetails adds one request per ad (same per-result price, proportionally longer runs).

Input

FieldTypeDescriptionExample
queriesarrayAdvertisers: names, domains, AR… IDs, or Ads Transparency URLs. Names resolve to the matching advertiser with the most ads (alternatives are logged) — prefer domains for the full brand footprint.["nike.com"]
regionstringOnly ads shown in this country (US, GB, DE, …) or anywhere."US"
formatstringany, text, image, or video."video"
includeDetailsbooleanFetch each ad's variants and per-country last-shown dates (+1 request per ad).false
maxAdsPerAdvertiserintegerCap per advertiser — keeps runs comparable across brands.200
maxAdsintegerHard ceiling on billed results across all advertisers.1000

Output

One row per ad creative:

{
"advertiserId": "AR16735076323512287233",
"advertiserName": "Nike, Inc.",
"creativeId": "CR10486187606943989761",
"url": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR10486187606943989761?region=anywhere",
"format": "video",
"formatCode": 3,
"previewUrl": "https://displayads-formats.googleusercontent.com/ads/preview/content.js?client=ads-integrity-transparency&...",
"imageUrl": "https://tpc.googlesyndication.com/archive/simgad/15470673379459137007",
"firstShown": "2026-05-12T15:10:33.000Z",
"lastShown": "2026-08-27T14:16:38.000Z",
"daysShown": 108,
"variantCount": 3,
"variantPreviewUrls": ["https://displayads-formats.googleusercontent.com/ads/preview/content.js?..."],
"regions": ["US", "DE", "HU", "TR"],
"regionLastShown": ["US:2026-08-27", "DE:2026-08-20"],
"query": "nike.com",
"scrapedAt": "2026-08-27T15:30:00.000Z",
"runId": "AbC123..."
}

Field notes:

  • imageUrl is the direct archived render — the snapshot of text ads and the thumbnail of video ads. Image ads render via the previewUrl script instead.
  • variantCount, variantPreviewUrls, regions, regionLastShown fill when includeDetails is on; otherwise they stay null/empty so every export has one shape.
  • daysShown counts distinct days the ad was active, not the calendar span.

Tips and tricks

  • Competitor monitoring: schedule a daily run per competitor domain and diff by creativeId — new ids are new ads, ids that disappear are paused campaigns.
  • Find their winners: sort by daysShown descending — nobody runs a losing ad for 500 days.
  • Full brand footprint: search by domain rather than name; big brands split into many advertiser entities (regional subsidiaries), and the domain search covers them all.
  • Creative research: format: "video" + includeDetails gives you every video variant a brand tests, with preview links.
  • Market entry research: region narrowed to a country shows exactly which ads a brand localizes there.

Integrations

The dataset works with every Apify integration: export to JSON, CSV, Excel, push to Google Sheets, trigger webhooks on finish, or query via the Apify API from Python/Node — for example a weekly competitor-ads digest into Slack, or an AI agent summarizing new creatives via the Apify API.