Ad Details
curl --request GET \
--url https://api.sociavault.com/v1/scrape/google-ad-library/ad-details \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sociavault.com/v1/scrape/google-ad-library/ad-details"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.sociavault.com/v1/scrape/google-ad-library/ad-details', 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://api.sociavault.com/v1/scrape/google-ad-library/ad-details",
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: <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://api.sociavault.com/v1/scrape/google-ad-library/ad-details"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<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://api.sociavault.com/v1/scrape/google-ad-library/ad-details")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sociavault.com/v1/scrape/google-ad-library/ad-details")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"success": true,
"advertiserId": "AR01614014350098432001",
"creativeId": "CR16304891583101140993",
"firstShown": null,
"url": "https://adstransparency.google.com/advertiser/AR01614014350098432001/creative/CR16304891583101140993",
"lastShown": "2026-02-08T23:43:47.000Z",
"format": "image",
"overallImpressions": {
"min": null,
"max": null
},
"creativeRegions": {
"0": {
"regionCode": "US",
"regionName": "United States"
}
},
"regionStats": {
"0": {
"regionCode": "US",
"regionName": "United States",
"firstShown": null,
"lastShown": "2026-02-08T00:00:00.000Z",
"impressions": {},
"platformImpressions": {}
}
},
"variations": {
"0": {
"visibleUrl": "shop.lululemon.com",
"destinationUrl": "https://shop.lululemon.com/c/women-workout-clothes/n14uwkzae4c",
"youtubeUrl": null,
"headline": "lululemon® Official Website",
"description": "Shop Stretchy, Unrestrictive Gear That Supports Your Toughest Workouts.",
"image": null
},
"1": {
"visibleUrl": "shop.lululemon.com",
"destinationUrl": "https://shop.lululemon.com/c/women-workout-clothes/n14uwkzae4c",
"youtubeUrl": null,
"headline": "lululemon® Official Website",
"description": "Squat Deeper And Lift Heavier In Women's High-Performance Workout Gear.",
"image": null
},
"2": {
"visibleUrl": "shop.lululemon.com",
"destinationUrl": "https://shop.lululemon.com/c/women-workout-clothes/n14uwkzae4c",
"youtubeUrl": null,
"headline": "lululemon® Official Website",
"description": "Shop Stretchy, Unrestrictive Gear That Supports Your Toughest Workouts.",
"image": null
}
}
},
"creditsUsed": 1
}{
"error": "Missing required parameter: handle",
"endpoint": "<string>",
"credits_required": 123
}{
"error": "Invalid API key",
"docs": "https://docs.sociavault.com/authentication"
}{
"error": "Insufficient credits",
"required": 1,
"available": 0
}{
"error": "Service configuration error"
}Google Ad Library
Ad Details
Get details for a specific Google ad. Ad text is extracted via OCR and may not always be 100% accurate.
GET
/
v1
/
scrape
/
google-ad-library
/
ad-details
Ad Details
curl --request GET \
--url https://api.sociavault.com/v1/scrape/google-ad-library/ad-details \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sociavault.com/v1/scrape/google-ad-library/ad-details"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.sociavault.com/v1/scrape/google-ad-library/ad-details', 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://api.sociavault.com/v1/scrape/google-ad-library/ad-details",
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: <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://api.sociavault.com/v1/scrape/google-ad-library/ad-details"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<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://api.sociavault.com/v1/scrape/google-ad-library/ad-details")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sociavault.com/v1/scrape/google-ad-library/ad-details")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"success": true,
"advertiserId": "AR01614014350098432001",
"creativeId": "CR16304891583101140993",
"firstShown": null,
"url": "https://adstransparency.google.com/advertiser/AR01614014350098432001/creative/CR16304891583101140993",
"lastShown": "2026-02-08T23:43:47.000Z",
"format": "image",
"overallImpressions": {
"min": null,
"max": null
},
"creativeRegions": {
"0": {
"regionCode": "US",
"regionName": "United States"
}
},
"regionStats": {
"0": {
"regionCode": "US",
"regionName": "United States",
"firstShown": null,
"lastShown": "2026-02-08T00:00:00.000Z",
"impressions": {},
"platformImpressions": {}
}
},
"variations": {
"0": {
"visibleUrl": "shop.lululemon.com",
"destinationUrl": "https://shop.lululemon.com/c/women-workout-clothes/n14uwkzae4c",
"youtubeUrl": null,
"headline": "lululemon® Official Website",
"description": "Shop Stretchy, Unrestrictive Gear That Supports Your Toughest Workouts.",
"image": null
},
"1": {
"visibleUrl": "shop.lululemon.com",
"destinationUrl": "https://shop.lululemon.com/c/women-workout-clothes/n14uwkzae4c",
"youtubeUrl": null,
"headline": "lululemon® Official Website",
"description": "Squat Deeper And Lift Heavier In Women's High-Performance Workout Gear.",
"image": null
},
"2": {
"visibleUrl": "shop.lululemon.com",
"destinationUrl": "https://shop.lululemon.com/c/women-workout-clothes/n14uwkzae4c",
"youtubeUrl": null,
"headline": "lululemon® Official Website",
"description": "Shop Stretchy, Unrestrictive Gear That Supports Your Toughest Workouts.",
"image": null
}
}
},
"creditsUsed": 1
}{
"error": "Missing required parameter: handle",
"endpoint": "<string>",
"credits_required": 123
}{
"error": "Invalid API key",
"docs": "https://docs.sociavault.com/authentication"
}{
"error": "Insufficient credits",
"required": 1,
"available": 0
}{
"error": "Service configuration error"
}💳 1 credit per request
Authorizations
Query Parameters
The url of the ad
Example:
"https://adstransparency.google.com/advertiser/AR01614014350098432001/creative/CR10449491775734153217"
Response
Successful response
Key Response Fields:
advertiserId: Unique advertiser identifiercreativeId: Unique creative identifierformat: Ad format type (image,video,text)url: Direct link to the ad on Google Ads TransparencyfirstShown/lastShown: ISO 8601 timestamps for ad run datesoverallImpressions.min/overallImpressions.max: Impression count range (may benull)creativeRegions[0].regionCode/regionName: Countries where the ad was shownregionStats[0].firstShown/lastShown/impressions: Per-region performance statsvariations[0].headline: Ad headline text variationvariations[0].description: Ad body copy variationvariations[0].destinationUrl: Landing page URL for this variationvariations[0].visibleUrl: Display URL shown in the advariations[0].youtubeUrl: YouTube URL if it's a video ad (may benull)
⌘I