DEV Community

Cover image for Google Ads Transparency API: See Every Ad a Competitor Runs (2026 Guide)
Truffle Pig Data
Truffle Pig Data

Posted on

Google Ads Transparency API: See Every Ad a Competitor Runs (2026 Guide)

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

  1. Open the Google Ads Transparency API and click Try for free.
  2. Paste an advertiserId, the AR... code from any Transparency Center advertiser URL.
  3. 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 }'
Enter fullscreen mode Exit fullscreen mode

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("---")
Enter fullscreen mode Exit fullscreen mode

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)