Google Ads Transparency Scraper — Ad Library avatar

Google Ads Transparency Scraper — Ad Library

Pricing

from $1.60 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper — Ad Library

Google Ads Transparency Scraper — Ad Library

Scrape the Google Ads Transparency Center: every ad a brand runs on Search, YouTube, Shopping, Maps and Play, with images, videos, countries, EU reach and audience targeting. Search by website, brand or advertiser ID.

Pricing

from $1.60 / 1,000 ads

Rating

0.0

(0)

Developer

VeroAPIs

VeroAPIs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Google Ads Transparency Scraper: Google's ad library for any brand

Scrape the Google Ads Transparency Center and see every ad a brand or competitor runs on Google, across Search, YouTube, Shopping, Maps and Play. Get each ad's image or YouTube video, its headline and ad text, the countries it ran in, how many times it was shown in the EU and who it targeted, as one clean dataset.

Why people choose it

  • Search the way you think. Type a website (nike.com), a brand name (HelloFresh), an advertiser ID or paste a link from the Ads Transparency Center.
  • The whole picture. A website search catches every ad that sends people there, from every advertiser account the brand runs.
  • The right site for your country. A brand name is matched to the brand's website with the most ads in the country you pick, so HelloFresh in the US gets hellofresh.com and in Germany gets hellofresh.de.
  • Full details on every ad, included. Every country the ad ran in with its dates, EU reach per country and platform, and the audience the advertiser chose. No add-ons to switch on, no extra charge.
  • The real creative. Direct YouTube links for video ads, the ad image or product photo for image ads, and the headline, ad text and web address of ads Google publishes as text.
  • Thousands of ads per run. Collect a handful or every ad a brand has, up to the number you choose.
  • Filters that matter. Narrow by country, Google platform, ad format and the dates the ads ran.
  • Built for monitoring. Turn on New ads only, set Shown after to 14 days and schedule a weekly run: each run returns the new ads you don't have yet, and skips the ones earlier runs already delivered.
  • Fair pricing. You pay per ad delivered. An ad found by two of your searches is delivered and charged once, and the run stops right at the spending limit you set.
  • Competitor research: see which ads rivals run, where, and how long each one has lasted.
  • New-ad alerts: get a competitor's new ads week after week, without paying again for the ones you already have.
  • Creative inspiration: build a swipe file of long-running ads and the headlines that keep them running.
  • Market mapping: check which brands in a category advertise on Google, and in which countries.
  • Agency pitches: show a prospect their competitors' current ads in minutes.
  • Lead generation: find businesses that actively spend on Google Ads.

How to use it

  1. Add the websites, brand names or advertiser IDs you want.
  2. Optionally pick a country, platform, format or date range.
  3. Click Start.
  4. Browse the ads in the Output tab, or download them as JSON, CSV or Excel.

What you get

One row per ad:

{
"query": "shopify.com",
"adId": "CR01927607444435894273",
"adUrl": "https://adstransparency.google.com/advertiser/AR01625195283841286145/creative/CR01927607444435894273?region=DE",
"advertiserId": "AR01625195283841286145",
"advertiserName": "Shopify Inc.",
"website": "shopify.com",
"format": "video",
"headline": null,
"description": null,
"displayUrl": null,
"firstShown": "2026-02-20T22:55:07.000Z",
"lastShown": "2026-10-24T15:29:00.000Z",
"daysShown": 247,
"imageUrl": "https://i.ytimg.com/vi/1j0tZlKOLPc/hqdefault.jpg",
"videoUrl": "https://www.youtube.com/watch?v=1j0tZlKOLPc",
"previewUrl": "https://displayads-formats.googleusercontent.com/ads/preview/content.js?client=ads-integrity-transparency&creativeId=…",
"impressionsMin": 10000,
"impressionsMax": 15000,
"regions": [
{
"country": "DE",
"firstShown": "2026-02-20",
"lastShown": "2026-10-24",
"impressionsMin": 10000,
"impressionsMax": 15000,
"platforms": [
{ "platform": "youtube", "impressionsMin": 10000, "impressionsMax": 15000 },
{ "platform": "search", "impressionsMin": 0, "impressionsMax": 1000 }
]
}
],
"audience": {
"demographics": { "included": true, "excluded": false },
"locations": { "included": true, "excluded": false },
"contextualSignals": { "included": true, "excluded": true }
}
}

A text ad that Google publishes as text adds its words:

{
"query": "hellofresh.com",
"format": "text",
"headline": "HelloFresh Official Website",
"description": "Get HelloFresh meal kits with pre-portioned ingredients and easy recipe instructions.",
"displayUrl": "www.hellofresh.com/"
}
FieldWhat it tells you
imageUrlThe ad's image: the picture people saw, the product photo, or the video's thumbnail
videoUrlThe YouTube video of a video ad
headline / description / displayUrlThe headline, ad text and web address of ads Google publishes as text, and the product name of Shopping ads
daysShownHow many days the ad has run. Long runners are usually the winners.
impressionsMin / impressionsMaxHow many times the ad was shown across the EU
regionsEvery country the ad ran in. EU countries add dates and times shown on each Google platform.
audienceWhether the advertiser targeted or excluded people by demographics, location or context
adUrlOpens the ad on Google's Ads Transparency Center

Run it from your code

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('vero-api/google-ads-transparency-scraper').call({
queries: ['nike.com', 'HelloFresh'],
region: 'US',
format: 'video',
maxAdsPerQuery: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((ad) => `${ad.advertiserName}: ${ad.adUrl}`));

Works the same from Python, Make, Zapier, n8n, or any tool that can call the Apify API.

Use it from your AI assistant (MCP)

Ask Claude, Cursor, VS Code, or any assistant that supports MCP about a brand's ads in plain words. Add this server to its MCP settings:

{
"mcpServers": {
"google-ads-transparency-scraper": {
"url": "https://mcp.apify.com?tools=vero-api/google-ads-transparency-scraper"
}
}
}

Then just ask, for example:

  • "Which YouTube ads has Shopify run in Germany this month?"
  • "Show me nike.com's longest-running Google Search ads in the US."
  • "What new Google ads did HelloFresh launch in the last 7 days?"

Pricing

You pay only for the ads you get: no subscriptions, no surprises.

What you getPrice
Ads, with countries, EU reach, audience, images, videos and ad text included$2.00 per 1,000 ads

The run stops right at the spending limit you set, so you always know your maximum cost.

FAQ

Should I search by website or by brand name? Website gives the fullest results, because it covers every advertiser account that points to the site. A brand name is matched to the brand's website with the most ads in the country, platform, format and dates you chose. When the brand has no website with matching ads, it is matched to its advertiser account with the most ads.

Where do I find an advertiser ID? Open the advertiser on adstransparency.google.com. The ID starts with AR and appears in the page address. You can also paste that whole link.

Can I track new ads over time? Yes. Turn on New ads only, set Shown after to 14 days, and create a weekly schedule in Apify Console. Each run returns the ads first shown since that date that earlier New ads only runs of the same search haven't delivered yet, so you never pay twice for an ad you already have. A window twice as long as your schedule also catches ads that Google adds to its library a few days after they start. An ad counts as new from the first day Google showed it in any country. Without New ads only, Shown after returns every ad shown in that window, long-running ones included.

Why did a New ads only run return fewer ads the second time? It remembers the new ads it already delivered for each search (the same website, brand or advertiser with the same country, platform and format), and skips them on later runs. The run's status tells you how many it skipped. To get them again, turn New ads only off.

What does "Shown after" do on its own? It keeps ads that were shown on or after that date, including older ads that are still running. Use firstShown and daysShown to see how long each one has been live.

Why do some ads have a headline and others don't? Google publishes most text ads as a picture of the ad, so their words are in imageUrl. Ads Google publishes as text, such as many store and Search ads, come with their headline, description and displayUrl. Many Shopping ads add the product name as headline.

Will I pay twice for the same ad? No. When two of your searches find the same ad, it is delivered and charged once, under the first search that found it.

Why do some ads have reach numbers and others don't? Google publishes how many times an ad was shown, its first shown date per country, and its audience only for ads shown in the EU. Every ad still lists each country it ran in and when it was last shown there. When Google reports more than 10 million views, impressionsMax is empty.

Which countries are covered? Every country Google's Ads Transparency Center covers. Pick one under Country, or leave it on Anywhere.

How many ads can I get? As many as a brand runs. Set Max ads per search to the number you want; a run collects thousands of ads in minutes.

Is this an official Google tool? No. Google Ads Transparency Scraper is an independent tool. It is not affiliated with, endorsed by, or sponsored by Google. It collects the public ad information anyone can see in Google's Ads Transparency Center.

More tools from us