Google Ads Transparency
Google Ads Transparency Advertiser Lookup API
Start here. This is the entry point that turns a brand NAME into the advertiser_id the search and creative endpoints are keyed by — an advertiser id cannot be guessed from a brand, it only exists inside Google's own Ads Transparency Center. Returns two kinds of row in one list: advertiser rows with the id, the verified advertiser name, the country Google verified them in and their total ad count as a RANGE, and domain rows carrying a website. Costs 1 credit.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonquerystringrequiredBrand name or website fragment to resolve, 1-200 characters. A NAME query returns both row kinds (advertisers and domains); a domain-shaped query returns domains only. Google's autocomplete matches loosely, so a common word pulls in unrelated advertisers — searching Nike also returns "Irina Nikel" — check advertiser_name and region_code before chaining on the id.
Example: Nike
regionstringTwo-letter ISO country code (US, GB, DE), or a Google geo criteria id as a string ("1014044") to address a sub-country region. Narrows the suggestions to advertisers verified there. Defaults to no region filter. The vocabulary is checked before any request goes out, so an unresolvable region costs nothing.
Example: DE
limitintegerdefault:10Rows PER ARM, 1-20. Advertisers and domains are capped separately, so a name query can return up to twice this many rows. This SIZES the response — it is not a page param. This endpoint is autocomplete-backed and does not paginate: 20 per arm is the ceiling.
Example: 20
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Step 1: brand name -> advertiser_id
matches = client.google_ads.advertisers("Nike", region="US")
advertisers = [s for s in matches["data"]["suggestions"] if s["type"] == "advertiser"]
advertiser_id = advertisers[0]["advertiser_id"]
# Step 2: every other Google Ads Transparency endpoint takes that id
ads = client.google_ads.search(advertiser_id=advertiser_id, region="DE")
print(ads["data"]["creatives"][0])Response