Google Ads Transparency Center Scraper avatar

Google Ads Transparency Center Scraper

Pricing

from $2.00 / 1,000 ad scrapeds

Go to Apify Store
Google Ads Transparency Center Scraper

Google Ads Transparency Center Scraper

Scrape the Google Ads Transparency Center by advertiser or domain. Extract ad creatives, formats (text/image/video), platforms, regions and run dates as JSON/CSV. Built for competitor ad research, PPC agencies and media buyers. No login, pay per result, one-click or API.

Pricing

from $2.00 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

Gal Gilboa

Gal Gilboa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

Google Ads Transparency Center Scraper — Competitor Google Ads, Creatives & Run Dates

Extract structured data from Google's Ads Transparency Center (adstransparency.google.com): every ad an advertiser runs across Google Search, YouTube, Display, Shopping and Maps — ad format, creative preview URLs, decoded text-ad copy (headline, description, destination URL), first/last shown dates and regions. No login, no API key, public transparency data only.

Built for media buyers, PPC agencies and competitor-intel teams: see which Google ads your competitors run, which creatives they keep alive (the winners), and when new campaigns launch — on a schedule, in bulk.

Why this Actor?

  • API-level reliability — talks directly to the Transparency Center's own JSON endpoints instead of driving a browser against a JavaScript shell. No brittle CSS selectors, no half-loaded pages, no missing ads.
  • Bulk advertiser lists — monitor 1 or 100 competitors in a single run: mix domains (nike.com), advertiser IDs (AR…) and company names freely.
  • Text ads decoded — Google hides search-ad copy inside encoded preview URLs; this Actor decodes it into clean headline / description / destinationUrl fields.
  • Date intelligence — first/last shown timestamps per creative, so you can spot long-running (i.e. profitable) ads and diff new launches between scheduled runs.
  • Fast & cheap — plain HTTP, 256 MB memory, no browser. Hundreds of ads per minute.

What data does it return?

One dataset item per ad:

  • Advertiser name + Google advertiser ID (AR…)
  • Creative ID (CR…) + permanent Transparency Center URL
  • Ad format: text, image or video
  • Creative preview URLs (image file, video preview, rendered-ad iframe)
  • Decoded text-ad copy: headline, description, destination URL
  • First shown / last shown dates (ISO timestamps)
  • Regions (best-effort, plus your region filter)
  • Which query found the ad + scrape timestamp

Sample output

{
"type": "ad",
"advertiserId": "AR14188379519798214657",
"advertiserName": "Nike, Inc.",
"creativeId": "CR10813648716908961793",
"format": "text",
"headline": "Shop the New Air Max Collection",
"description": "Free shipping and returns on every order. Find your perfect fit today.",
"destinationUrl": "nike.com/airmax",
"previewUrl": "https://displayads-formats.googleusercontent.com/ads/preview/content.js?...",
"previewUrls": ["https://displayads-formats.googleusercontent.com/ads/preview/content.js?..."],
"imageUrl": null,
"videoUrl": null,
"firstShownAt": "2025-01-01T00:00:00.000Z",
"lastShownAt": "2026-01-01T00:00:00.000Z",
"regions": ["GB", "US"],
"detailsUrl": "https://adstransparency.google.com/advertiser/AR14188379519798214657/creative/CR10813648716908961793?region=anywhere",
"query": "domain nike.com",
"scrapedAt": "2026-07-12T12:00:00.000Z"
}

Fields Google doesn't expose for a given ad come back as null / [] — the Actor never fails a run over a missing field.

How to use it

InputWhat it does
queriesBulk list of advertisers — domains (nike.com), advertiser IDs (AR…, most reliable), Transparency Center URLs, or company names
regionTwo-letter country filter (US, GB, IL, …) or anywhere (default). Google enforces this loosely for some advertisers — treat as a hint
maxAdsPerQueryCap per advertiser query (default 100)
fetchAdDetailsPer-creative lookup for preview URLs, decoded copy, dates and regions (default on)
proxyConfigurationApify RESIDENTIAL proxy recommended for scheduled runs

Tip: the advertiser ID is the AR… segment in any adstransparency.google.com URL — grab it once and your scheduled monitoring never depends on name/domain matching.

Use cases

  • Competitor ad monitoring — schedule a weekly run over your competitor list; diff creative IDs to catch new campaigns and retired ads automatically.
  • Winning-ad detection — sort by firstShownAt: ads that stay live for months are paying for themselves.
  • Search-ad copy research — decoded headlines/descriptions for every text ad in your category, ready for a swipe file.
  • Creative swipe file — image/video preview URLs for competitor display and YouTube ads.
  • Agency reporting — attach a client-vs-competitor Google Ads snapshot to monthly reports via the API.

Pricing (pay per event)

EventPriceMeaning
ad-scraped$0.002One ad record in the dataset

Example: monitoring 20 competitors × 100 ads each = 2,000 ads = $4.00 per run. The Actor respects your maximum cost per run and stops cleanly when the limit is reached.

Fair use & limitations

  • Only public Ads Transparency Center data is accessed — the same ad-transparency information Google shows any visitor, published by Google specifically for public scrutiny. No login, no personal data.
  • Political ads carry extra fields in Google's UI (spend, impressions) that are not extracted in v1.
  • Google's region filter is enforced loosely server-side for some advertisers; the regions output field is best-effort.
  • Video ads return Google's preview URL; final googlevideo.com file URLs are short-lived by design.

Integrations

Standard Apify platform features apply: export to JSON/CSV/Excel, API access, webhooks, and scheduled runs for continuous competitor monitoring.

Development

npm install
npm test # parses the saved RPC fixtures, 61 assertions
apify run # local run (uses ./storage)