Get Advertiser
curl --request GET \
--url https://scrapebadger.com/v1/google/ads/advertiser \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/google/ads/advertiser"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/google/ads/advertiser', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/google/ads/advertiser",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/google/ads/advertiser"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/google/ads/advertiser")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/google/ads/advertiser")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"advertiser_id": "<string>",
"advertiser_name": "<string>",
"region": "<string>",
"verified": true,
"ads_count": 123,
"currency": "<string>",
"spend": 123,
"start_date": "<string>",
"end_date": "<string>",
"details_link": "<string>",
"ad_mix": [
{
"format": "<string>",
"share": 123,
"spend": 123
}
],
"spend_by_date": [
{
"date": "<string>",
"share": 123,
"spend": 123
}
]
}Ads Transparency
Get Advertiser
Advertiser identity plus Google’s disclosed spend, ad-format mix and per-day spend curve for one region.
GET
/
v1
/
google
/
ads
/
advertiser
Get Advertiser
curl --request GET \
--url https://scrapebadger.com/v1/google/ads/advertiser \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/google/ads/advertiser"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/google/ads/advertiser', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/google/ads/advertiser",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/google/ads/advertiser"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/google/ads/advertiser")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/google/ads/advertiser")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"advertiser_id": "<string>",
"advertiser_name": "<string>",
"region": "<string>",
"verified": true,
"ads_count": 123,
"currency": "<string>",
"spend": 123,
"start_date": "<string>",
"end_date": "<string>",
"details_link": "<string>",
"ad_mix": [
{
"format": "<string>",
"share": 123,
"spend": 123
}
],
"spend_by_date": [
{
"date": "<string>",
"share": 123,
"spend": 123
}
]
}Advertiser identity plus the spend Google discloses for one region: total spend
and currency, ad count, the share of spend by creative format, and a per-day
spend curve across the requested window.
Credits: 5
Spend disclosure exists for political advertisers. A commercial
advertiser with no disclosure returns
404 rather than a row of zeroes.Authorization
string
required
Your ScrapeBadger API key.
Query Parameters
string
required
Advertiser ID, e.g.
AR01614014350098432001. Resolve a name with
/ads/advertisers.string
default:"US"
ISO 3166-1 alpha-2 region. Disclosure is region-scoped —
anywhere returns
nothing, so it falls back to US.string
Window start,
YYYY-MM-DD. Defaults to 30 days ago.string
Window end,
YYYY-MM-DD. Defaults to today.Response
string
string
string
boolean
integer
Ads disclosed for the region.
string
e.g.
USD.number
Disclosed spend for the region and window.
string
Echo of the requested window start.
string
Echo of the requested window end.
string
The advertiser’s Transparency Center page.
AdvertiserAdMix[]
AdvertiserSpendPoint[]
Example
curl "https://scrapebadger.com/v1/google/ads/advertiser?advertiser_id=AR01614014350098432001®ion=US&start_date=2026-07-01&end_date=2026-07-31" \
-H "X-API-Key: YOUR_API_KEY"
const res = await fetch(
"https://scrapebadger.com/v1/google/ads/advertiser?" +
new URLSearchParams({
advertiser_id: "AR01614014350098432001",
region: "US",
start_date: "2026-07-01",
end_date: "2026-07-31",
}),
{ headers: { "X-API-Key": process.env.SCRAPEBADGER_API_KEY } },
);
const advertiser = await res.json();
import requests
res = requests.get(
"https://scrapebadger.com/v1/google/ads/advertiser",
headers={"X-API-Key": "YOUR_API_KEY"},
params={
"advertiser_id": "AR01614014350098432001",
"region": "US",
"start_date": "2026-07-01",
"end_date": "2026-07-31",
},
)
advertiser = res.json()
Response
{
"advertiser_id": "AR01614014350098432001",
"advertiser_name": "Example Campaign Committee",
"region": "US",
"verified": true,
"ads_count": 318,
"currency": "USD",
"spend": 1284500.0,
"start_date": "2026-07-01",
"end_date": "2026-07-31",
"details_link": "https://adstransparency.google.com/advertiser/AR01614014350098432001",
"ad_mix": [
{ "format": "VIDEO", "share": 0.62, "spend": 796390.0 },
{ "format": "IMAGE", "share": 0.27, "spend": 346815.0 },
{ "format": "TEXT", "share": 0.11, "spend": 141295.0 }
],
"spend_by_date": [
{ "date": "20260701", "share": 0.031, "spend": 39819.5 },
{ "date": "20260702", "share": 0.028, "spend": 35966.0 }
]
}
Errors
| Status | Meaning |
|---|---|
400 | Unknown region, or a malformed date. |
404 | No Ads Transparency disclosure for that advertiser, region and window. |
502 | Upstream Transparency Center failure — not billed. |

