Google Ads Transparency Scraper: Ads and Election Spend avatar

Google Ads Transparency Scraper: Ads and Election Spend

Pricing

Pay per event

Go to Apify Store
Google Ads Transparency Scraper: Ads and Election Spend

Google Ads Transparency Scraper: Ads and Election Spend

Track any advertiser's Google ads. Search by advertiser name, landing page domain or advertiser ID across 244 countries and get creatives, formats, run dates and images. Election ads also return spend and impression ranges plus the age, gender and district targeting behind them.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Sourabh Kumar

Sourabh Kumar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Track any advertiser's Google ads. Search by advertiser name, landing page domain or advertiser ID, and get every creative with its formats, run dates and images.

Election ads go further: spend, impressions, and the exact age, gender and district targeting behind each one.

$2 per 1,000 ads, dropping to $0.90 on higher plans. No proxy setup, no browser, no API key.

Covers 244 countries, from the US and Germany to Japan, Thailand and Nigeria.

Why this scraper?

  • 💰 Election ad spend and impressions, which competing scrapers either skip entirely or reduce to a bare on/off flag. Enterprise ad intelligence tools charge thousands a month for this category.
  • 🎯 Real audience targeting, not just a "targeting was used" flag: which age brackets, which genders, which districts, and which ones were deliberately excluded.
  • 🌍 244 countries in one input. Ask for three and you get the combined set, deduplicated, not three separate exports to merge.
  • 🔗 Cross advertiser domain search. One domain returns every advertiser driving traffic there, including resellers and affiliates you didn't know about.
  • 🧾 You are never charged for an empty search. The actor checks how many ads exist before it scrapes anything, and exits free if the answer is zero.
  • 🖼️ Direct image links you can download, not redirect URLs that expire.
  • Fast and cheap to run. 50 ads in about 50 seconds, on 256 MB of memory.

What data can you extract?

🏢 Advertiser name🆔 Advertiser ID🎞️ Ad format📅 First shown
📆 Last shown⏱️ Days actually served🌍 Countries shown in🖼️ Image links
🔗 Ad page URL👁️ Preview link🔢 Creative variants💵 Spend range
📊 Impressions range👥 Ages targeted⚧ Genders targeted📍 Districts targeted

The last four are election ads only. Google does not publish spend, impressions or targeting for commercial advertisers, so those fields are simply absent on commercial rows rather than sitting there empty.

Countries and scripts

Ads are indexed by country, and the actor accepts all 244 countries Google publishes. Asking for several sends one request per country and merges the results, so an ad running in both Germany and France appears once, not twice.

Advertiser names come back in their own script, untouched:

CountryExample advertiser
🇯🇵 Japan楽天グループ株式会社
🇰🇷 South Korea네이버 주식회사
🇹🇭 Thailandธนาคารกสิกรไทย จำกัด (มหาชน)
🇬🇷 GreeceΕκπαιδευτήρια Δυτικής Ελλάδας μονοπρόσωπη ΙΚΕ

One gap worth knowing: Russia is not on the list, because Google stopped serving ads there in 2022.

Scraping modes

🛍️ Commercial ads

Every ad a business is running. Point it at an advertiser name, a landing page domain, or an advertiser ID, then narrow by country, Google surface, format and date.

{
"mode": "creatives",
"domain": "nike.com",
"regions": ["US", "GB", "DE"],
"platforms": ["SEARCH", "YOUTUBE"],
"adFormat": "ALL",
"maxResults": 500
}

🗳️ Election ads

The same ads plus what they cost and who saw them. Filter by minimum spend and sort by the biggest spenders or the widest reach.

{
"mode": "political",
"regions": ["US"],
"sortBy": "SPEND",
"minSpendUsd": 100000,
"maxResults": 1000
}

How to scrape Google Ads Transparency Center: step by step

  1. Create a free Apify account. Takes 30 seconds, no card needed.
  2. Open Google Ads Transparency Scraper in the Apify Console.
  3. Type an advertiser name, or paste a domain like nike.com, and pick your countries.
  4. Click Start. A 50 ad run finishes in about a minute.
  5. Export as JSON, CSV, or Excel, or pull it straight from the API.

How much does Google Ads Transparency Scraper cost?

You pay per ad, and the price drops automatically as your Apify plan goes up. No subscription to this actor, no monthly minimum, and the fee to start a run is a twentieth of a cent.

Your Apify planPrice per 1,000 ads
Free$2.00
Bronze$1.70
Silver$1.40
Gold$1.10
Platinum$1.00
Diamond$0.90

The Free plan's $5 of monthly credit is roughly 2,500 ads. Nothing is charged for a search that returns no ads, and nothing is charged twice when the same ad shows up in two countries.

Input

{
"mode": "creatives",
"advertiserName": "Nike",
"domain": "nike.com",
"advertiserIds": ["AR16735076323512287233"],
"regions": ["US"],
"platforms": ["SEARCH", "YOUTUBE", "SHOPPING", "MAPS", "PLAY"],
"adFormat": "ALL",
"startDate": "2026-01-01",
"endDate": "2026-08-01",
"maxResults": 100,
"detailConcurrency": 10,
"sortBy": "RECENCY",
"minSpendUsd": 100000
}
FieldTypeDefaultNotes
modestringcreativescreatives for businesses, political for election ads.
advertiserNamestringFinds an advertiser by name. Matches names only, not the words inside ads.
domainstringExact domain in lowercase, such as nike.com. Returns every advertiser sending traffic there.
advertiserIdsarray[]IDs starting with AR. Several are combined together.
regionsarray["US"]Country codes. One request per country.
platformsarray[]Search, YouTube, Shopping, Maps or Play. Empty means all.
adFormatstringALLTEXT, IMAGE or VIDEO.
startDatestringYYYY-MM-DD, inclusive.
endDatestringYYYY-MM-DD, exclusive. Use the day after the last day you want.
maxResultsinteger100Total across every country and surface.
detailConcurrencyinteger10How many ads are detailed at once.
sortBystringRECENCYSPEND or IMPRESSIONS, election ads only.
minSpendUsdintegerElection ads only. Ads in the open ended top bracket are always kept.

Only one of advertiserName, domain or advertiserIds is needed.

Output

Commercial ad:

{
"mode": "creatives",
"advertiserId": "AR16735076323512287233",
"advertiserName": "Nike, Inc.",
"creativeId": "CR11267770087429373953",
"format": "TEXT",
"firstShown": "2026-07-21T03:27:58.000Z",
"lastShown": "2026-08-04T17:19:11.000Z",
"daysServed": 16,
"regionsShown": ["US"],
"adUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR11267770087429373953",
"imageUrls": ["https://tpc.googlesyndication.com/archive/simgad/11539292750099314527"],
"previewUrl": "https://displayads-formats.googleusercontent.com/ads/preview/content.js?...",
"variantCount": 3
}

Election ad, with the spend and targeting fields added:

{
"mode": "political",
"advertiserName": "HARRIS VICTORY FUND",
"creativeId": "CR01473782602732142593",
"format": "TEXT",
"firstShown": "2024-07-31T19:54:27.000Z",
"lastShown": "2024-11-11T14:32:00.000Z",
"daysServed": 104,
"regionsShown": ["US"],
"impressionsMin": 2000000,
"impressionsMax": 2250000,
"spendMinUsd": 2000000,
"spendMaxUsd": 2500000,
"spendCurrency": "USD",
"targetedAges": ["18-24", "25-34", "35-44", "45-54", "55-64", "65+", "Unknown"],
"excludedAges": null,
"targetedGenders": ["Women", "Men", "Unknown"],
"excludedGenders": null,
"targetedGeoIds": ["21173", "21138", "21152", "1014895"],
"excludedGeoIds": null
}

Two fields that trip people up. daysServed is the number of days the ad actually ran, which is not the gap between the two dates: an ad can sit dormant for months inside its own window. And spend is a bracket, so spendMaxUsd being null means the top bracket is open ended, as in "$2,000,000 and above", not that the value is missing.

Use cases

  • 🔍 Competitor ad monitoring by watching a rival's whole creative library and how long each ad survives.
  • 🧲 Lead generation by finding businesses actively spending on Google Ads in your niche.
  • 💡 Creative research by pulling the ads a category leader keeps running, which is the closest thing to a public A/B test result.
  • 🗳️ Election ad transparency for journalists and researchers tracking who spends what, and which voters they aim at.
  • 🕵️ Affiliate and reseller discovery by searching a domain and seeing every advertiser pushing traffic to it.
  • 📈 Campaign longevity analysis using days served to separate the always on winners from the ads that were quietly killed after a week.
  • 🌍 Market entry research by comparing which ads a brand runs in one country versus another.
  • 🗂️ Compliance archives that preserve a dated record of what an advertiser was claiming publicly.

Limitations

  • You cannot search the words inside ads. Google offers no keyword search here. You search by advertiser, by domain, or by ID.
  • Spend and impressions exist only for election ads. Google does not publish them for commercial advertisers, at any price, from any tool.
  • Spend and impressions are brackets, not exact figures, and the top bracket has no upper bound.
  • Age and gender targeting appears on roughly half of election ads. District level targeting is far more common. When an advertiser did not use a targeting type, the field is empty because there is nothing to report.
  • Ad text and video files are not included. Google keeps those behind a separate preview page, so you get the image links and the preview URL instead.
  • Russia is unavailable, because Google stopped serving ads there in 2022. Every other country Google publishes is supported.

FAQ

How much does Google Ads Transparency Scraper cost?

It uses pay per result pricing, starting at $2.00 per 1,000 ads and falling to $0.90 on higher Apify plans. The discount applies automatically, so there is nothing to negotiate. The Free plan's $5 in monthly credits covers around 2,500 ads.

No subscription lock-in. Pause whenever.

Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data covered by GDPR or CCPA without a lawful basis. Google publishes this Transparency Center itself, deliberately, for public scrutiny. How you use the output is on you.

Apify's full breakdown: Is web scraping legal?.

Can I integrate it with other tools?

Push results into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.

Full list: Apify integrations.

Can I use it with the Apify API?

Yes. Every run is available via the Apify REST API:

curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~google-ads-transparency-scraper/runs?token=APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode": "creatives", "domain": "nike.com", "regions": ["US"], "maxResults": 100}'

Docs: Apify API reference.

Can I use it through an MCP Server?

Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP capable client can call this scraper. Setup: Apify MCP docs.

Your feedback

Bug, missing field, or odd behavior? Drop a note in the Issues tab. Reports go to a human and fixes usually ship the same week.