ScavioScavio
ToolsPricing
Sign InsGet Startedg
Quick StartAPI & SDKsEcosystem

Google Ads Transparency

Google Ads Transparency Creative API

One Google ad creative in full, and the only endpoint carrying its history: every size variation of the asset, the impression bucket it landed in, the per-region breakdown with first and last shown dates and a per-surface impression split inside each region, Google's own category label, and the funder disclosure on political ads. Keyed by the advertiser_id + creative_id PAIR, both of which come off a search row. Costs 1 credit.

POST/api/v1/googleads/creative

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).

Body

application/json
advertiser_idstringrequired

Google advertiser id, 3-40 characters, as returned by /api/v1/googleads/advertisers and on every search row. Its shape is checked before any request goes out, so a typo costs nothing — but a well-formed id that does not own the creative is a BILLED 404.

Example: AR18378488041124659201

creative_idstringrequired

Google creative id, 3-40 characters, as returned on every search row. It must belong to the advertiser_id sent with it: the lookup is keyed by the pair, and a mismatched pair is a 404. Always carry both ids together off the search row rather than reassembling them.

Example: CR04596254956847104001

Request

from scavio import ScavioClient

client = ScavioClient(api_key="sk_live_your_key")

# The two ids travel together off a search row - the lookup is keyed by the pair.
ads = client.google_ads.search(domain="nike.com", region="DE", limit=100)
row = ads["data"]["creatives"][0]

detail = client.google_ads.creative(row["advertiser_id"], row["creative_id"])

# Impressions are EEA-only. An EEA region row carries them; a US row will not.
for region in detail["data"]["regions"]:
    print(region["region_code"], region["impressions_min"], region["impressions_max"])

Response

"advertiser_id": "AR18378488041124659201",
"creative_id": "CR04596254956847104001",
"format": "image",
"funded_by": "Nike Retail BV",
"last_shown": "2026-08-10T08:38:55.000Z",
"last_shown_timestamp": 1786351135,
"first_shown": "2023-03-13",
"impressions_min": 10000000,
"impressions_max": null,
"advertiser_url": "https://adstransparency.google.com/advertiser/AR18378488041124659201?region=anywhere",
"creative_url": "https://adstransparency.google.com/advertiser/AR18378488041124659201/creative/CR04596254956847104001?region=anywhere"
},
"response_time": 6325,
"credits_used": 1,
"credits_remaining": 4818
}
PreviousGoogle Ads SearchNextMeta Ad Library Search
ScavioScavio

One scraper API for every social, search and ecommerce platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy