Google Ads Transparency Scraper & Ads Library avatar

Google Ads Transparency Scraper & Ads Library

Pricing

from $1.20 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper & Ads Library

Google Ads Transparency Scraper & Ads Library

Scrape the Google Ads Transparency Center (Google Ads Library) by brand or domain. Get competitor ads from Search, YouTube, Shopping and Maps: ad copy as text, videos, images, days shown and countries. Monitor new ads. API, no login.

Pricing

from $1.20 / 1,000 ads

Rating

0.0

(0)

Developer

Andracore

Andracore

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Get every ad a brand runs on Google Search, YouTube, Shopping, Maps and Play from the public Google Ads Transparency Center, often called the Google Ads Library, with the ad copy of Search ads as real text, not just screenshots.

Search by brand name, domain, advertiser ID or Transparency Center URL. Filter by country, platform, format and date. Schedule it to get only the ads that are new since the last run.

No login, no browser, no API key.

How the Google Ads Transparency Scraper works: enter a brand or domain, the scraper collects every ad, and you get each ad's copy, format and days shown as JSON, CSV, Excel or through the API

Why use this Google Ads scraper

  • Ad copy as text. Most Search ads come back with their headline, description, display URL and business name as text you can sort, search and analyze. Store addresses attached to the ad (location extensions) are included too.
  • Everything included in one price. Ad copy, YouTube video, all image variations, countries and dates cost the same flat price per ad. There is no extra "details" fee.
  • Long-running ads at a glance. daysShown tells you how many days Google has served each ad, the fastest way to spot the creatives a competitor keeps paying for.
  • Monitoring built in. Turn on Only new ads and schedule a daily or weekly run. Ads already returned are skipped and not charged.
  • Fast. It talks to the same JSON endpoints the Transparency Center website uses. A few hundred ads take seconds. If Google rate-limits the run, it switches to Apify Proxy on its own.
FieldWhat it is
advertiserName, advertiserId, advertiserCountryWho runs the ad and where they are based
formatTEXT, IMAGE or VIDEO
headline, description, displayUrl, businessNameThe ad copy of Search ads
isDynamicSearchAdTrue when Google writes the headline from the landing page
locationsStore addresses attached to the ad
targetDomainDomain the ad points to, when Google reports it
firstShown, lastShown, daysShownWhen the ad ran and for how many days
videoId, videoUrl, videoThumbnailUrlThe YouTube video behind video ads
imageUrlsEvery image variation of the ad
regionsCountries where the ad ran and the last date it was shown in each
adUrl, advertiserUrlLinks to the ad and advertiser pages on the Transparency Center

Use cases for competitor ad research

  • Competitor research. Read every Search ad a competitor runs, sorted by how long each one has been live.
  • Copywriting swipe file. Collect headlines and descriptions from a whole niche in a spreadsheet.
  • YouTube creative library. Pull every video ad a brand runs, with direct YouTube links.
  • Agency prospecting. See who advertises on a domain or in a country, how many ads they run and where they are based.
  • New-ad alerts. Monitor competitors and get only their new creatives every morning.
  • Brand protection. Watch for ads that use your brand name or domain.

How to scrape the Google Ads Transparency Center

  1. Type brands or domains in Advertiser names or domains (for example Nike or shopify.com).
  2. Optional: pick a Region, Platforms, Ad format and a date range.
  3. Set Max ads per advertiser, domain or URL and click Start.
  4. Download the results as JSON, CSV, Excel or HTML, or read them through the Apify API.

A brand name is matched to the advertiser with the most ads among Google's suggestions. Big brands often have several legal entities ("Nike, Inc.", "Nike Retail BV"). Raise Advertisers per search term to get more than one, or paste exact advertiser IDs. You can also paste a Transparency Center URL: the platform and format filters in the URL are respected.

Input examples

Competitor Search ads in the US, with ad copy:

{
"domains": ["nike.com"],
"region": "US",
"platforms": ["SEARCH"],
"maxAdsPerSource": 300
}

YouTube creatives of a brand:

{
"searchTerms": ["Shopify"],
"platforms": ["YOUTUBE"],
"format": "VIDEO",
"maxAdsPerSource": 200
}

Weekly monitoring of three competitors (schedule it in the Schedules tab):

{
"domains": ["competitor-one.com", "competitor-two.com", "competitor-three.com"],
"region": "US",
"onlyNewAds": true,
"monitorName": "my-competitors",
"maxAdsPerSource": 500
}

Monitoring new ads

With Only new ads on, the first run saves every ad currently running as a baseline (only the ads it returns are charged) and later runs return only ads it has not seen before. The history is kept in your account in a key-value store named google-ads-monitor-<monitor name>. Use a different Monitor name for each client or project so their histories stay separate. Connect the run to Slack, email, Google Sheets, Make or Zapier through Apify integrations to get the new ads where you work.

Run the scraper from your own code and get the ads back as JSON. Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("andracore/google-ads-transparency-scraper").call(
run_input={"domains": ["nike.com"], "region": "US", "maxAdsPerSource": 100}
)
for ad in client.dataset(run.default_dataset_id).iterate_items():
print(ad["format"], ad.get("daysShown"), ad.get("headline"))

Or with one HTTP request that waits for the run and returns the ads:

curl -X POST "https://api.apify.com/v2/acts/andracore~google-ads-transparency-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domains": ["nike.com"], "region": "US", "maxAdsPerSource": 100}'

Your token is in Apify Console under Settings > API & Integrations. The same input works from JavaScript, Make, Zapier, n8n and the Apify MCP server for AI agents.

Output example

{
"advertiserName": "Nike, Inc.",
"advertiserCountry": "US",
"format": "TEXT",
"headline": "Nike® Men's Cushioned Shoes",
"description": "Nike® cushioned running shoes are built for comfort that goes the distance.",
"displayUrl": "nike.com",
"businessName": "Nike",
"isDynamicSearchAd": false,
"locations": ["Nike Factory Store - Staten Island, 15 Richmond Terrace Suite 300, Staten Island, New York, 10301, US"],
"targetDomain": "nike.com",
"firstShown": "2026-07-27T16:00:56.000Z",
"lastShown": "2026-10-04T02:31:55.000Z",
"daysShown": 19,
"imageUrls": ["https://tpc.googlesyndication.com/archive/simgad/2798216613677354783"],
"regions": [{ "countryCode": "US", "lastShown": "2026-09-01" }],
"variationCount": 5,
"adUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR05331710493595795457?region=US"
}

A video ad comes with its YouTube link:

{
"advertiserName": "Shopify Inc.",
"format": "VIDEO",
"videoUrl": "https://www.youtube.com/watch?v=k13WUuvi-y4",
"daysShown": 94,
"firstShown": "2026-07-02T14:38:12.000Z",
"lastShown": "2026-10-04T02:19:44.000Z",
"regions": [{ "countryCode": "US", "lastShown": "2026-10-03" }]
}

Pricing

$1.50 per 1,000 ads, everything included. Platform usage is on us.

AdsCost
100$0.15
1,000$1.50
10,000$15.00

Paid Apify plans pay less: $1.40 on Bronze, $1.30 on Silver and $1.20 on Gold and above, per 1,000 ads.

In monitoring mode you pay only for new ads. Set a maximum cost per run in the run options and the scraper stops exactly there.

Good to know

  • Ad copy coverage. In our tests about 3 out of 4 Search ads came back with their copy as text. The rest are published by Google only as images; their image URLs are always returned.
  • Platform filter. Google applies it only to ads shown since September 4, 2023.
  • Landing pages. The Transparency Center does not publish full landing page URLs. You get the domain when Google reports it and the display URL of Search ads.
  • Counts. Google gives ad totals as ranges ("7,000–8,000"). The log shows that range for every search.
  • Speed vs. detail. Turn off Extract ad copy, videos and countries when you only need a quick list of ads.

Other Actors by Andracore

FAQ

Is it legal to scrape the Google Ads Transparency Center? The Transparency Center is a public library Google publishes so anyone can see who advertises and what they show. This scraper reads only that public data and collects no personal information. Check the rules that apply to your use case.

Do I need a proxy? No. If Google rate-limits a large run, the scraper moves to Apify Proxy automatically.

Can I get ads from several countries? Leave Region on Anywhere and every ad comes with the list of countries where it ran.

Can I use it from my code or AI agent? Yes. See the Google Ads Library API section above, or connect it to your AI agent through the Apify MCP server.

Found a bug or need a field that is missing? Open an issue in the Issues tab and it will be looked at quickly.