π Google Ads Scraper with Political Ad Spend
Pricing
$19.99/month + usage
π Google Ads Scraper with Political Ad Spend
π Google Ads Scraper extracts paid search ads from Google SERPs β headlines, descriptions, display/landing URLs, sitelinks & advertisers. π§ Ideal for PPC research, competitor intel & ad copy mining. π Export to CSV/JSON. β‘ Fast, reliable, scalable.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapeBase
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
Google Ads Scraper With Political Ad Spend
Scrape Google Ads Transparency Centre creatives for any advertiser β and, for ads Google has classified as election advertising, pull the real published impression ranges and spend ranges per country, not a placeholder. This is a Google Ads Transparency scraper built specifically for political ad spend research, campaign-finance analysis, and election-integrity monitoring, where "how much did this election ad cost, and how many people saw it" is the actual question.
What it does
Google's own Ads Transparency Centre publishes real impression and spend ranges for ads declared as election advertising β but only when the request is made through its election-ads topic filter. A plain advertiser-page scrape never sees that data. This actor makes that request correctly and returns:
- Every ad creative for an advertiser (or advertiser ID), same as a standard Google Ads Transparency scraper
- Real impression ranges (lower/upper bound) per ad and per country, when available
- Real spend ranges in the advertiser's local currency, per ad and per country
- How many days each ad has run (
daysShown), and which country registers declared it an election ad - The Search / YouTube / Shopping split of impressions, where Google publishes it
- Country/format filters so you can scope a run to one region or one ad format
Use cases
- Election-integrity and campaign-finance research β who is funding political ads in a given country, and roughly how much
- Journalism β sourcing real, Google-published spend figures for election-ad coverage instead of estimates
- Political ad monitoring β tracking a candidate's or PAC's Google ad spend and reach over time
- Ad-library / ad-transparency analysis β comparing declared election-ad activity across advertisers or countries
- Academic research on digital political advertising and disclosure
Input
{"startUrls": ["AR14800298542844870657"],"maxItems": 100,"electionAdsOnly": true,"adRegions": ["US"],"includeSpendAndImpressions": true,"adFormat": "ALL","proxyConfiguration": { "useApifyProxy": false }}
| Field | Type | Required | Description |
|---|---|---|---|
startUrls | array | Yes | Google Ads Transparency profile URLs or advertiser IDs (AR...) |
maxItems | integer | No | Max ad creatives to collect per advertiser (1β10000, default 10) |
electionAdsOnly | boolean | No | Search Google's election-ads topic instead of all ads β the switch that makes real spend/impression numbers appear at all (default true) |
adRegions | array | No | Two-letter country codes of the election-ad registers to read, e.g. US, GB, BR, IN, AU (default ["US"]) |
includeSpendAndImpressions | boolean | No | Make one extra call per ad to fetch real per-country impression range, spend range, and platform split (default true) |
adFormat | string | No | ALL, TEXT, IMAGE, or VIDEO β applied by Google itself (default ALL) |
proxyConfiguration | object | No | Apify proxy configuration |
Important: the real spend and impression figures exist only for ads Google has classified as election advertising. Pointing this actor at a non-political brand with electionAdsOnly on will correctly return zero rows β that's Google's own restriction, not a bug. Turn electionAdsOnly off to get the standard all-topics creative listing (no spend/impressions).
Output
{"adLibraryUrl": "https://adstransparency.google.com/advertiser/AR14800298542844870657/creative/CR07489182929856233473","advertiserId": "AR14800298542844870657","advertiserName": "COOPER FOR NORTH CAROLINA","creativeId": "CR07489182929856233473","isElectionAd": true,"format": "TEXT","adFormatName": "TEXT","creativeRegions": ["Puerto Rico", "United States of America"],"electionCountryCodes": ["US"],"daysShown": 14,"firstShown": "2026-07-17","lastShown": "2026-07-30T10:30:45Z","impressionsLowerBound": 30000,"impressionsUpperBound": 35000,"spendLowerBound": 8000,"spendUpperBound": 9000,"spendCurrency": "USD","spendByCountry": [{ "countryCode": "US", "currency": "USD", "lowerBound": 8000, "upperBound": 9000 }],"regionStats": [{"regionCode": "US","regionName": "United States of America","firstShown": "2026-07-17","lastShown": "2026-07-30","impressions": { "lowerBound": 30000, "upperBound": 35000 },"platformBreakdown": []}],"previewUrl": "https://displayads-formats.googleusercontent.com/ads/preview/content.js?...","inlineCreativeHtml": null,"creativeVariantUrls": ["https://displayads-formats.googleusercontent.com/ads/preview/content.js?..."]}
| Field | Type | Description |
|---|---|---|
adLibraryUrl | string | Direct link to the ad on Google Ads Transparency |
advertiserId / advertiserName | string | Advertiser identity |
creativeId | string | Unique creative identifier |
isElectionAd | boolean | Whether this row came from an election-ads-topic search |
format / adFormatName | string | Ad format (format mirrors the base actor's own field; adFormatName is the accurate TEXT/IMAGE/VIDEO label) |
creativeRegions | array | Real country names the ad ran in (from Google's own per-ad detail record) |
electionCountryCodes | array | Election registers the ad was declared in |
daysShown | integer | Number of days Google reports the ad as having run |
firstShown / lastShown | string | First/last shown dates |
impressionsLowerBound / impressionsUpperBound | integer or null | Real published impression range β null when Google hasn't published a bound, never a fake 0 |
spendLowerBound / spendUpperBound / spendCurrency | integer / string or null | Real published spend range in the advertiser's own local currency β amounts are never converted or summed across currencies |
spendByCountry | array | Per-country spend breakdown |
regionStats | array | Per-country impression range, dates, and Search/YouTube/Shopping split where published |
previewUrl / inlineCreativeHtml / creativeVariantUrls | string/string/array | Ad creative preview links and inline HTML, when Google's response carries them |
Honest limits
- Spend and impression data exists only for declared election ads β this is Google's own publishing rule, not a limitation of this actor.
- Amounts are in the register's own local currency and are never converted or totalled across currencies.
- A bound can be one-sided (upper present, lower absent) β read a missing bound as "under Google's publishing threshold," not as zero.
- This actor reads Google's public, unauthenticated Ads Transparency Centre β no login, no API key, no private targeting data.
Related search terms: Google Ads Transparency scraper, Google election ads scraper, political ad spend tracker, Google Political Advertising data, campaign finance research tool, election integrity monitoring, Google Ads Transparency Centre API alternative, ad impressions and spend data, political advertiser tracker, Google ad library scraper, election ad disclosure data.