Google Ad Library
3 endpoints.
GET /v1/google/ad
Ad Details
Retrieves detailed information about a specific Google ad including advertiserId, creativeId, format, firstShown, lastShown, and overallImpressions. When Google publishes political-ad transparency data, spend contains the currency and amount bounds, while targeting contains included and excluded age, gender, and location criteria. Targeted locations include their Google criterion ID, display name, full name, and country codes. Optional fields are null when Google does not publish them. regionStats and platformImpressions use lower and upper impression bounds. Variations are best-effort, omit unparseable entries, and have creative-type-dependent fields; image creatives can expose an images array. Text extraction uses OCR, so accuracy may vary.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
url required | query | string | The url of the ad |
cache_max_age | query | string | If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). See the Caching page for details. one of: 1d, 3d, 7d, 14d, 30d |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/google/ad?url=https://adstransparency.google.com/advertiser/AR07541154843046445057/creative/CR17778900238552006657" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/google/ad?url=https://adstransparency.google.com/advertiser/AR07541154843046445057/creative/CR17778900238552006657", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/google/ad?url=https://adstransparency.google.com/advertiser/AR07541154843046445057/creative/CR17778900238552006657",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"advertiser_id": "AR07541154843046445057",
"creative_id": "CR17778900238552006657",
"first_shown": "2026-06-05T21:52:15.000Z",
"url": "https://adstransparency.google.com/advertiser/AR07541154843046445057/creative/CR17778900238552006657",
"last_shown": "2026-06-24T19:04:54.000Z",
"format": "image",
"overall_impressions": {
"min": "500000",
"max": "600000"
},
"spend": {
"currency": "USD",
"lower": "5000",
"upper": "6000"
},
"targeting": {
"age": {
"included": [
"25-34"
],
"excluded": [
"18-24"
]
},
"gender": {
"included": [
"female"
],
"excluded": []
},
"location": {
"included": [
{
"criterion_id": "2840",
"name": "United States",
"full_name": "United States",
"country_codes": [
"US"
]
}
],
"excluded": [
{
"criterion_id": "2578",
"name": "Norway",
"full_name": "Norway",
"country_codes": [
"NO"
]
}
]
}
},
"creative_regions": [
{
"region_code": "US",
"region_name": "United States"
}
],
"region_stats": [
{
"region_code": "US",
"region_name": "United States",
"first_shown": "2026-06-05T00:00:00.000Z",
"last_shown": "2026-06-24T00:00:00.000Z",
"impressions": {
"lower": "500000",
"upper": "600000"
},
"platform_impressions": []
}
],
"variations": [
{
"destination_url": "shop.gop.com",
"headline": "Classic GOP Quarter - Zip Pullover | Shop American ... Classic GOP Moisture Wicking Polo Shirt XL / Red Classic GOP Hat White / White Classic GOP Quarter - Z...",
"description": "FORE MORE Official Party Quarter - Zip Pullover XL / US FLAG Classic GOP Hat White / Red DJT Triple Threat Hat AMERICA America Swings Right T- Shirt XL / Whi...",
"all_text": "Official GOP Shop 寬 shop.gop.com Classic GOP Quarter - Zip Pullover | Shop American ... Classic GOP Moisture Wicking Polo Shirt XL / Red Fi Classic GOP Hat W...",
"image_url": "https://tpc.googlesyndication.com/archive/simgad/18242167605449878359"
}
]
}GET /v1/google/ads_advertisers_search
Advertiser Search
Searches the Google Ad Transparency Library for advertisers by name. Returns a list of matching advertisers with their name, advertiser_id, and region, plus a list of associated website domains. Use the returned advertiser_id to look up a company's ads. Defaults to US when region is not passed, so pass a 2-letter country code like AU or CA when searching for advertisers in another region.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
query required | query | string | The query to search for |
region | query | string | 2-letter country code to search in. Defaults to US when omitted. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/google/ads_advertisers_search?query=lululemon" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/google/ads_advertisers_search?query=lululemon", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/google/ads_advertisers_search?query=lululemon",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"advertisers": [
{
"name": "lululemon HK Limited",
"advertiser_id": "AR01382517811867287553",
"region": "HK",
"number_of_ads_estimate": 5
}
],
"websites": [
{
"domain": "lululemon.de"
}
]
}GET /v1/google/company_ads
Company Ads
Fetches public ads for a company from the Google Ad Transparency Library by domain or advertiser_id. Each ad includes advertiserId, creativeId, format, adUrl, advertiserName, domain, firstShown, and lastShown. Costs 25 credits per request when get_ad_details=true; without it, only advertiserId and creativeId are returned at 1 credit.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
domain | query | string | The domain of the company |
advertiser_id | query | string | The advertiser id of the company |
topic | query | string | The topic to search for. If you search for 'political', you will also need to pass a 'region', like 'US' or 'AU' one of: all, political |
region | query | string | The region to search for. Defaults to anywhere |
start_date | query | string | Start date to search for. Format: YYYY-MM-DD |
end_date | query | string | End date to search for. Format: YYYY-MM-DD |
platform | query | string | Platform to search for. one of: google_maps, google_play, google_search, google_shopping, youtube |
format | query | string | Ad format to search for. one of: text, image, video |
get_ad_details | query | string | Set to true to get the ad details. Will cost 25 credits. |
next_cursor | query | string | Cursor to paginate through results |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/google/company_ads" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/google/company_ads", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/google/company_ads",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"ads": [
{
"advertiser_id": "AR01614014350098432001",
"creative_id": "CR08567627846124568577",
"format": "image",
"ad_url": "https://adstransparency.google.com/advertiser/AR01614014350098432001/creative/CR08567627846124568577",
"advertiser_name": "lululemon athletica canada inc.",
"image_url": null,
"first_shown": "2026-03-11T17:08:22.000Z",
"last_shown": "2026-05-04T17:59:12.000Z"
}
],
"next_cursor": "CgoAP7zmu%2FzKj6ijEhBBAgiPtk1y16J9lpkAAAAAGgn8%2BHbW%2BJylE6g%3D",
"number_of_ads_estimate": 20000
}