Google ad coverage for any company your team is tracking. What they're running, how long it's been live, and which formats they're investing in. Returned as JSON. Built for automation and scale.
No credit card required
"When prospects saw we actually knew their ad mix, they started replying in ultra-relevant manners, referencing the exact ads they had been running and getting traction on vs those that they wanted to make the switch to video for."
Spencer Tahil
Founder, Growth Alliance
AgencyPass in a domain. Get back structured data for every ad that company is running on Google.
For the company:
continuation_token for large ad librariesFor each ad:
start) and when it was last seen (last_seen)variants arrayExample response (claude.ai):
{
"status": "success",
"data": {
"company_domain": "claude.ai",
"continuation_token": "CgoAP7zm00UnqGYbEhCFNReHz5+TES/O2zoAAAAAGgn8+H3I+J5QXGw=",
"country_code": "anywhere",
"total_ad_count": 2000,
"ads": [
{
"advertiser_id": "AR15899303072422166529",
"creative_id": "CR14867367858786009089",
"original_url": "https://adstransparency.google.com/advertiser/AR15899303072422166529/creative/CR14867367858786009089?region=anywhere",
"variants": [
{
"content": "<img src=\"https://tpc.googlesyndication.com/archive/simgad/8076656216322819338\" height=\"168\" width=\"380\">",
"height": 168,
"width": 380
}
],
"start": "2025-05-22",
"last_seen": "2026-02-19",
"advertiser_name": "Anthropic, PBC",
"format": "Text"
},
{
"advertiser_id": "AR15899303072422166529",
"creative_id": "CR01282744467450757121",
"original_url": "https://adstransparency.google.com/advertiser/AR15899303072422166529/creative/CR01282744467450757121?region=anywhere",
"variants": [
{
"content": "<img src=\"https://tpc.googlesyndication.com/archive/simgad/18369327552909884147\" height=\"220\" width=\"380\">",
"height": 220,
"width": 380
}
],
"start": "2025-05-22",
"last_seen": "2026-02-19",
"advertiser_name": "Anthropic, PBC",
"format": "Text"
}
]
}
}
Run one domain or batch thousands. Same structure every time.
Run it for:
Competitive monitoring
Schedule daily checks for your top competitors. Track when new ads appear, when old ones stop, how long each creative runs. Build a timeline of their ad strategy.
Account qualification
Check if prospects are running Google ads before outreach. Companies with active ad campaigns have budget and are investing in growth. Use ad activity as a qualification signal.
TAM analysis
Batch process your entire target account list. Flag which companies are advertising on Google. Segment by format (search vs display vs video) to understand channel preferences.
Creative research
Pull all display ads from your top 5 competitors. Feed the creative URLs to your design team. See what messaging angles they're testing and how long each runs.
Inbound enrichment
Trigger an API call when a prospect signs up. Check their company's ad activity. Route them to different sequences based on whether they're running ads.
// gong.io
{
"total_ad_count": 700,
"advertiser_id": "AR14106062795078369281",
"advertiser_name": "Gong.io Inc",
"ads": [ /* 40 ads per page */ ],
"continuation_token": "CgoAP7zm06YJNFBPEhCE+5Jgz..."
}
// clay.com
{
"total_ad_count": 200,
"advertiser_id": "AR02473231714533507073",
"advertiser_name": "Clay Labs",
"ads": [ /* 40 ads per page */ ],
"continuation_token": "CgoAP7zm2XX8x6RjEhDGG6NTAMr..."
}
// shopify.com
{
"total_ad_count": 80000,
"advertiser_id": "AR01625195283841286145",
"advertiser_name": "Shopify Inc.",
"ads": [ /* 40 ads per page */ ],
"continuation_token": "CgoAP7zm00i6kj5nEhB4ohLW08..."
}
Each response includes total ad count, advertiser verification, and pagination token. Use continuation_token to page through results. Each call costs 1 credit.
Clean JSON. Every field has the same structure across all responses. No parsing edge cases.
Add as HTTP API enrichment or use Adyntel's direct integration. Map fields to columns. Build conditional logic:
ads.length > 10: tag as "active advertiser"format = "Video": add to "YouTube advertiser" listStore as custom fields: google_ad_count (number), last_active_date (date), primary_ad_format (text), advertiser_id (text). Trigger sequences when last_seen updates or ad count changes.
Store full JSON in JSONB column. Query by format, date ranges, advertiser name. Track changes over time by storing responses daily.
Pass structured ad data as context: "Analyze these 47 Google ads from Mailchimp: [JSON]. Extract their main value props and messaging themes." Get competitive intelligence without manual analysis.
Import via Apps Script or Power Query. Flatten JSON into rows. Track ad count by company, pivot by format, sort by last_seen date. Export individual ad data to CSV for manual review.
Standard HTTP POST. Parse with built-in JSON libraries. No SDK. No wrapper. Works anywhere you can make an HTTP request.
response = requests.post('https://api.adyntel.com/google', json={
'api_key': key,
'email': email,
'company_domain': 'stripe.com'
})
ads = response.json()['data']['ads']
Start with 50 free credits so you can test the product. No credit card required.
Need more than 50k credits? Contact us for a custom plan.
Adyntel's Google Ads Transparency Center Scraper API
media_type parameter to get only text, image, or video ads.