Google Ads Creatives Endpoint
Fetch creatives by advertiser ID or Transparency Center URL.
Getting Started
Send your API key as a bearer token. Start with the smallest request below.
Fetch Advertiser Creatives
Send one advertiser_id and the matching region.
curl -X POST "https://api.datablue.dev/v1/data/google-ads/transparency/creatives" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"advertiser_id": "AR08888592736429539329",
"region": "IN",
"limit": 10
}'{
"success": true,
"source": "google_ads_transparency",
"operation": "creatives",
"advertiser_id": "AR08888592736429539329",
"region": "IN",
"total_results": 1,
"time_taken": 1.8,
"creatives": [
{
"position": 1,
"advertiser_id": "AR08888592736429539329",
"creative_id": "CR123",
"preview_url": "https://adstransparency.google.com/advertiser/..."
}
]
}Advertiser Source
Use a Transparency URL
Send url instead of an ID; startUrls is an accepted alias.
curl -X POST "https://api.datablue.dev/v1/data/google-ads/transparency/creatives" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://adstransparency.google.com/advertiser/AR08888592736429539329",
"region": "IN",
"limit": 10
}'{
"success": true,
"source": "google_ads_transparency",
"operation": "creatives",
"advertiser_id": "AR08888592736429539329",
"region": "IN",
"total_results": 1,
"time_taken": 1.8,
"creatives": [
{
"position": 1,
"advertiser_id": "AR08888592736429539329",
"creative_id": "CR123",
"preview_url": "https://adstransparency.google.com/advertiser/..."
}
]
}Pagination and Date
Continue with a Cursor
Send the previous cursor, set limit from 1 to 40, and optionally use date_range=last_30_days.
curl -X POST "https://api.datablue.dev/v1/data/google-ads/transparency/creatives" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"advertiser_id": "AR08888592736429539329",
"region": "IN",
"limit": 40,
"cursor": "NEXT_CURSOR",
"date_range": "last_30_days"
}'{
"success": true,
"source": "google_ads_transparency",
"operation": "creatives",
"advertiser_id": "AR08888592736429539329",
"region": "IN",
"total_results": 1,
"time_taken": 1.8,
"creatives": [
{
"position": 1,
"advertiser_id": "AR08888592736429539329",
"creative_id": "CR123",
"preview_url": "https://adstransparency.google.com/advertiser/..."
}
]
}Creative Details
Choose Detail and Assets
Use skip_details, should_download_assets, should_download_previews, and ocr to control enrichment.
curl -X POST "https://api.datablue.dev/v1/data/google-ads/transparency/creatives" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"advertiser_id": "AR08888592736429539329",
"region": "IN",
"skip_details": false,
"should_download_assets": true,
"should_download_previews": true,
"ocr": true
}'{
"success": true,
"source": "google_ads_transparency",
"operation": "creatives",
"advertiser_id": "AR08888592736429539329",
"region": "IN",
"total_results": 1,
"time_taken": 1.8,
"creatives": [
{
"position": 1,
"advertiser_id": "AR08888592736429539329",
"creative_id": "CR123",
"preview_url": "https://adstransparency.google.com/advertiser/..."
}
]
}Request Controls
Set Provider Timeout
Set timeout_ms from 5,000 to 90,000 milliseconds.
curl -X POST "https://api.datablue.dev/v1/data/google-ads/transparency/creatives" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"advertiser_id": "AR08888592736429539329",
"timeout_ms": 45000
}'{
"success": true,
"source": "google_ads_transparency",
"operation": "creatives",
"advertiser_id": "AR08888592736429539329",
"region": "IN",
"total_results": 1,
"time_taken": 1.8,
"creatives": [
{
"position": 1,
"advertiser_id": "AR08888592736429539329",
"creative_id": "CR123",
"preview_url": "https://adstransparency.google.com/advertiser/..."
}
]
}Response
Consume creative rows from creatives and reuse cursor when another page is available.
Error Handling
Handle 401 for authentication, 422 for invalid input, 429 for limits, and retry only transient failures.
