Google Ads Scraper avatar

Google Ads Scraper

Pricing

from $1.30 / 1,000 ads

Go to Apify Store
Google Ads Scraper

Google Ads Scraper

Scrape Google Ads Transparency Center data: text, image, and video ads with clean headlines, body copy, CTAs, and business details. Get political ad spend and impression ranges most scrapers miss, plus advertiser verification info.

Pricing

from $1.30 / 1,000 ads

Rating

5.0

(3)

Developer

API Creators

API Creators

Maintained by Community

Actor stats

4

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape every ad an advertiser is running on the Google Ads Transparency Center — text, image, and video ads — and get back headlines, body copy, calls-to-action, business details, click URLs, creative images, and region-by-region reach. For political ads, you also get the spend and impression ranges Google publishes, which most Google Ads scrapers skip entirely.

Just give it an advertiser's Transparency Center link, their website domain, or even just their name, and it returns one clean row of data per ad. No login required, no browser needed on your end — just structured, ready-to-use Google Ads data.

✨ Why use this Google Ads Transparency Center scraper

  • Political ad spend and impressions. Political ad data usually stops at the creative itself. This tool also returns spend ranges (with currency) and impression ranges for political ads, plus the regions they were targeted at.
  • Clean ad copy, not garbled screenshots. Headline, body, call-to-action, business name, address, and category come back as clean structured text for the vast majority of ads — including image-based product ads, not just plain text ads.
  • Accurate text recovery even for image-only ads. For the smaller set of ads where only a screenshot is available, built-in text recognition extracts the copy — and it's on request only, so you're never charged for it on ads that don't need it.
  • No duplicate results. Ad platforms often serve the same creative variation more than once; duplicates are filtered out before they reach your dataset.
  • Direct video files, not just a YouTube link. Video ads resolve to a downloadable video URL, not only an embed reference.
  • Advertiser details included. Legal business name, home country, and verification status are included automatically, at no extra cost.
  • Fast by default. A lightweight listing mode returns every ad from an advertiser in seconds when you don't need full ad copy — ideal for large-scale monitoring.

🚀 Quick start

The simplest input is a Transparency Center link, exactly as it appears in your browser after picking an advertiser:

{
"startUrls": [
{ "url": "https://adstransparency.google.com/advertiser/AR18135649662495883265?region=anywhere" }
]
}

Don't have the link handy? A plain advertiser name or website domain works too:

{
"advertiserNames": ["Nike"],
"domains": ["nike.com"]
}

If multiple advertiser accounts share a name, every matching account is included automatically — no need to pick the right one yourself.

🎛️ Run modes

  • Full detail (default). Every ad's complete copy, images, region-by-region reach, and audience targeting.
  • Fast listing mode (skipDetails: true). Every ad an advertiser is running, in a fraction of the time — advertiser, format, dates, and preview image, without opening each ad individually. Ideal for large accounts or frequent monitoring runs.
  • Political mode (topic: "political"). Surfaces spend and impression ranges directly in the results.
  • Text recovery (ocr: true). Turn this on if you specifically need text pulled from image-only ads that don't otherwise expose readable copy. Off by default.

📥 Input

FieldWhat it does
startUrlsOne or more Google Ads Transparency Center links
advertiserNamesPlain advertiser names — matching accounts are resolved automatically
domainsAdvertiser website domains, e.g. "nike.com"
resultsLimitCap the number of ads returned per input
skipDetailsFast listing-only mode
topic"all" or "political"
ocrRecover text from image-only ads (off by default)
shouldDownloadAssetsSave a permanent copy of video files
shouldDownloadPreviewsSave a permanent copy of each ad's preview
proxyConfigurationProxy setup — required, and enabled by default
assetProxyConfigurationOptional separate proxy for preview/image/video downloads — roughly 90% of all traffic, so pointing it at cheap flat-rate bandwidth cuts proxy cost sharply. Can also be set once for every run via the ASSET_PROXY_URL environment variable

Full field details and defaults are in the input form above.

📤 Output

One dataset row per ad. A real example (trimmed for space):

{
"adLibraryUrl": "https://adstransparency.google.com/advertiser/AR18135649662495883265/creative/CR17043350830998093825",
"advertiserId": "AR18135649662495883265",
"advertiserName": "SociallyUP",
"advertiserLegalName": "SociallyUP",
"advertiserLocation": "United States",
"creativeId": "CR17043350830998093825",
"format": "TEXT",
"firstShown": "2023-09-19T07:00:00.000Z",
"lastShown": "2026-03-03T00:27:37.471Z",
"creativeRegions": ["United States"],
"regionStats": [{ "regionCode": "US", "regionName": "United States", "lastShown": "2026-03-02" }],
"variations": [
{
"headline": "{KeyWord:Bloomington Apartments}",
"body": "With Rentals Close to the IU Campus, We Have the Perfect Place for You. Contact Us Today!",
"clickUrl": "pavprop.com",
"cta": "Visit Site",
"businessName": "Pavilion Properties",
"address": "501 N Walnut St Ste 1B\nBloomington\n47404\nUS",
"category": "Property management company",
"imageUrls": ["https://lh3.googleusercontent.com/p/AF1QipMZOx-…"],
"extensions": ["DIRECTIONS", "CALL"]
}
]
}

Political ads additionally include:

{
"isPolitical": true,
"spend": { "currency": "GBP", "lowerBound": 2500, "upperBound": 3000 },
"impressions": { "lowerBound": 900000, "upperBound": 1000000 },
"geoTargets": ["9046605", "9046664", "…"]
}

💰 Pricing

Pay only for what you use:

EventWhen it's charged
adOnce per ad returned
ocr-adOnly when text recovery actually runs on an image-only ad — never on ads with clean copy already available
video-downloadOnly if you turn on permanent video storage

Leave text recovery and video storage off (the defaults) and you pay only the base price per ad.

❓ FAQ

Do I need a proxy to scrape Google Ads? Yes — a proxy is required and already configured by default, so most users don't need to change anything.

Why is text recovery off by default? Most ads — including most image-based product ads — already return clean, readable copy without it. Text recovery is reserved for the smaller set of ads that are genuinely image-only, so you're not paying for it on ads that don't need it.

Will I get age-restricted ads? No — those require a logged-in Google account to view and are out of scope for any Google Ads Transparency Center scraper that doesn't require you to log in.

Is scraping Google Ads Transparency Center data legal? This tool reads Google's own public ad-transparency data — the same information anyone can see by visiting adstransparency.google.com — without bypassing any login or verification step. You're responsible for how you use the output; check with your own counsel if you're unsure your use case is covered.

How is this different from other Google Ads scrapers? See "Why use this Google Ads Transparency Center scraper," above — political ad spend data, clean copy on far more ad types, no duplicate results, and downloadable video files are the biggest differences.