Your competitor's entire Google ad history is public. The Google Ads Transparency Center lists every ad an advertiser runs: format, when it first appeared, whether it is still live. What it does not offer is any way to get that list out; you scroll and squint. The Google Ads Transparency API on Apify closes the loop: give it an advertiser ID, get the ad library back as structured JSON.
Disclosure: the Apify links in this post are affiliate links. If you run the Actor, I may earn a referral commission at no extra cost to you.
Does the Ads Transparency Center have an API?
No. Google built the Transparency Center as a browsing experience, and there is no official endpoint, no export button, and no bulk access. For a growth team that wants to diff a competitor's creatives month over month, that is a dead end. So a Google Ads Transparency API in practice means a scraper you call like an API: advertiser ID in, one JSON row per ad out.
What the Google Ads Transparency API returns
The Google Ads Transparency API returns every ad in an advertiser's public library as structured JSON: advertiser identity, creative identifier, ad format, first and last shown dates, total days running, and a preview link.
| Field | Example | Notes |
|---|---|---|
| advertiser | name and ID | Whose library you pulled |
| creative ID | stable identifier | For diffing across runs |
| format | text, image, or video | Creative type |
| first shown | 2025-11-02 |
When the ad first appeared |
| last shown | 2026-07-12 |
Most recent sighting |
| days running | 252 |
Longevity, the cheap proxy for performance |
Long-running creatives are the interesting ones: nobody pays to run a loser for eight months.
Who this is for
Growth marketers who want a competitor ad library they can query, agencies auditing a prospect's creative mix before a pitch, researchers tracking political advertisers, and builders wiring competitive ad data into AI marketing agents.
The manual way, and where it breaks
The manual approach is opening the Transparency Center, scrolling an infinite list, and screenshotting ads into a slide deck. It produces an artifact you cannot query, sort, or diff, and it is stale the day you make it. Automating the browsing yourself runs into the usual wall: a JavaScript-rendered interface with pagination behavior and markup that shift under you. I did the screenshot-deck version once for a client review; never again.
The faster way: run the Google Ads Transparency API
Apify Console
- Open the Google Ads Transparency API and click Try for free.
- Paste an
advertiserId, theAR...code from any Transparency Center advertiser URL. - Run it and download the dataset as JSON, CSV, or Excel.
REST
curl -X POST "https://api.apify.com/v2/acts/johnvc~google-ads-transparency-api/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "advertiserId": "AR01614014350098432001", "maxResultsPerAdvertiser": 50 }'
Run endpoint reference: the Apify API docs.
Pull an ad library in Python
import json
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("johnvc/google-ads-transparency-api").call(
run_input={
"advertiserIds": ["AR01614014350098432001"],
"maxResultsPerAdvertiser": 100,
}
)
for ad in client.dataset(run["defaultDatasetId"]).iterate_items():
print(json.dumps(ad, indent=2)[:300])
print("---")
Each row is one creative with its format, run dates, and preview link, which is everything a diff or a dashboard needs.
Spy on competitor Google ads
The starter move: pull a rival's full library and see what they are actually running, not what they say they are running. The task Spy on competitor Google ads is that pull, saved.
Audit an advertiser's creative mix
Formats tell a strategy story: an advertiser shifting from text to video is changing their funnel. Audit advertiser Google ad creatives breaks a library down by format.
Track how long competitor ads run
Days-running is the closest thing to public performance data. Track competitor ad duration surfaces the long-lived creatives worth studying.
Watch political advertisers
The same mechanics work for accountability research. Political advertiser Google ads pulls a political advertiser's public library into analyzable rows.
Export an ad library to CSV
For the spreadsheet crowd, Export advertiser Google ads to CSV runs the pull and hands you a CSV, no code involved.
Use it from Claude and other MCP clients
The Actor is MCP-ready, so Claude, Claude Code, and Cursor can call it as a tool: "pull the last 100 ads from these two competitors and tell me what changed since last month" becomes a prompt instead of a project. You can read more about Claude and Claude Code at claude.ai.
FAQ about scraping the Ads Transparency Center
Is there a free Google Ads Transparency scraper?
This one bills per ad returned, and maxResultsPerAdvertiser (default 50, up to 500) caps the count before a run starts. New Apify accounts include free platform credit, so a first competitor pull usually costs nothing out of pocket.
How does the scraper find an advertiser's ID?
Open the advertiser in the Transparency Center and copy the AR... code from the URL; that code is the input. You can pass one ID or a list, and the Actor de-duplicates them for you.
Can the scraper show ad spend or targeting data?
No, and be suspicious of anything claiming it can. The public record carries format, run dates, days running, and previews; spend and targeting are not published there. Days running is the honest proxy most teams use.
Does the scraper work in Claude via MCP?
Yes. Connect the Apify MCP server and the Actor appears as a callable tool in Claude, Claude Code, or Cursor, which is how the AI-marketing-agent use case runs.
Can I schedule the scraper to watch competitors' ad libraries?
Yes, snapshots are the whole game: run the same advertiser list weekly, diff the creative IDs, and you get alerts on new launches and quiet retirements. Start from the Google Ads Transparency API.
More from Truffle Pig Data
Adjacent lenses on the same competitive questions: the Google Local Services API for the Local Services Ads side of Google advertising, and the Google AI Overview API for how Google's AI answers describe your market.
Wrapping up
The Transparency Center already publishes the data; it just never offered a way to use it. The Google Ads Transparency API turns any advertiser's library into JSON you can diff, chart, and act on.
Top comments (0)