Google Ads Transparency Center Scraper: Competitor Ads
Pricing
$1.00 / 1,000 ad scrapeds
Google Ads Transparency Center Scraper: Competitor Ads
Google ads library scraper for competitor research. Export every ad a brand runs on Search, YouTube, Shopping, Maps and Play from the Google Ads Transparency Center by name, domain or advertiser ID. Dates, days active, countries, EU impressions, creatives. No login.
Pricing
$1.00 / 1,000 ad scrapeds
Rating
0.0
(0)
Developer
PulseData
Maintained by CommunityActor stats
1
Bookmarked
65
Total users
47
Monthly active users
16 minutes ago
Last modified
Categories
Share
This actor exports the ads any advertiser runs or has run on Google (Search, YouTube, Shopping, Maps, Google Play and image/display placements) from the public Google Ads Transparency Center. It works as a Google ads library scraper for competitor ad research: you enter a brand name, a domain such as nike.com, an advertiser ID or a Transparency Center URL, and get one JSON item per ad with format, first and last shown dates, days shown, countries, EU impression ranges, targeting flags, YouTube video IDs and creative images.
No Google account, login or cookies are needed. The actor calls the Transparency Center's JSON endpoints directly, without a browser, and you can run it from the Apify Console, on a schedule or through the Apify API. PulseData is not affiliated with Google.
Price: $1 per 1,000 ads with details and previews included. From 4 October 2026 it is $1.50 per 1,000 ads plus $0.01 per run.
Quick start
Put one domain in the input and start the run:
{ "queries": ["nike.com"], "maxAdsPerQuery": 100 }
You get up to 100 ads that point to nike.com, across all advertiser accounts that run them. Add more lines to queries to compare several competitors in one run.
Features
- Scrape all Google ads of a competitor by domain (
nike.com), name (Nike), advertiser ID (AR…) or Transparency Center URL. - Search the Google Ads library by brand and export the result to CSV, Excel or JSON through the Apify dataset.
- Find a brand's YouTube video ads with the YouTube video ID and watch URL.
- Filter Google ads by country, format, platform and date:
region,format(text, image, video),platform(Search, YouTube, Maps, Play, Shopping),startDate,endDate. - Get EU ad impressions per country and platform, as published under the Digital Services Act.
- Use it as a Google Ads Transparency API: call the actor over HTTP and get the ads back as JSON (see the FAQ).
Use cases
- Competitor ad research: every creative a competitor runs, how long it has been live and in which countries. A high
daysShownusually marks an ad the advertiser keeps paying for. - Reach estimates in the EU: impression ranges per country and platform for ads shown in the EU.
- Creative research: YouTube video IDs and image assets for swipe files or AI analysis.
- Lead generation: check which domains advertise on Google at all (a list of domains with
maxAdsPerQueryset to 1). - Brand protection: watch who advertises pointing to your domain.
Input
{"queries": ["nike.com", "Zalando", "AR16735076323512287233"],"region": "DE","format": "VIDEO","platform": "ALL","maxAdsPerQuery": 500}
| Field | Type | Default | Meaning |
|---|---|---|---|
queries | array | (required) | Advertiser names, domains, AR… IDs or Transparency Center URLs, one per line |
region | string | anywhere | anywhere or an ISO country code (US, DE, GB) |
format | select | ALL | ALL, TEXT, IMAGE, VIDEO |
platform | select | ALL | ALL, SEARCH, YOUTUBE, MAPS, PLAY, SHOPPING |
startDate, endDate | date | empty | Only ads shown in this range (YYYY-MM-DD) |
maxAdsPerQuery | integer | 100 | 0 means no limit |
advertiserMatch | select | best | For names: best takes the largest matching advertiser, all scrapes every match |
includeDetails | boolean | true | Per-ad regions, EU impressions, targeting (one extra request per ad) |
enrichPreviews | boolean | true | YouTube ID, image assets, destination URL and app ID from image/video previews |
proxyConfiguration | object | Apify residential | Google blocks shared datacenter IPs quickly, so keep residential |
Output
One item per ad:
{"query": "Zalando SE","advertiserId": "AR15589870916631265281","advertiserName": "Zalando SE","advertiserCountry": "DE","advertiserLegalName": "Zalando SE","advertiserVerified": true,"creativeId": "CR02366714687346704385","url": "https://adstransparency.google.com/advertiser/AR15589870916631265281/creative/CR02366714687346704385?region=anywhere","advertiserUrl": "https://adstransparency.google.com/advertiser/AR15589870916631265281?region=anywhere","format": "TEXT","firstShown": "2024-06-13T14:01:09.029Z","lastShown": "2026-08-19T12:02:07.405Z","daysShown": 788,"previewImageUrl": "https://tpc.googlesyndication.com/archive/simgad/13004201952535908299","imageUrls": ["https://tpc.googlesyndication.com/archive/simgad/13004201952535908299"],"youtubeVideoId": null,"destinationUrl": null,"regionsShownIn": "BE, NL","regions": [{ "regionCode": "BE", "regionName": "Belgium", "impressionsLow": 15000, "impressionsHigh": 20000,"firstShown": "2024-06-13", "lastShown": "2026-08-19","platforms": [{ "platform": "GOOGLE_SEARCH", "impressionsLow": 15000, "impressionsHigh": 20000 }] }],"euTotals": { "impressionsLow": 15000, "impressionsHigh": 20000, "firstShown": "2024-06-13", "lastShown": "2026-08-19", "platforms": [] },"targeting": { "demographic": { "included": true, "excluded": false },"geographic": { "included": true, "excluded": true }, "contextual": { "included": true, "excluded": false } },"variationsCount": 1,"scrapedAt": "2026-09-25T08:00:00.000Z"}
Items also carry previewUrl, previewHtml, youtubeUrl, appId, topicId and detailLastShown. The advertiserCountry, advertiserLegalName and advertiserVerified fields are filled for name and ID queries, not for domain queries.
Pricing
Pay per event. Details and preview enrichment are included, and you pay only for ads returned.
| Until 3 October 2026 | From 4 October 2026 | |
|---|---|---|
Per ad (ad-scraped) | $0.001 | $0.0015 |
| Per run start | none | $0.01 |
Worked example: 200 ads of one mid-size advertiser cost $0.20 today and $0.31 from 4 October ($0.30 + $0.01).
FAQ
Which query type is most precise?
A domain. nike.com returns ads pointing to nike.com across all advertiser accounts. Names go through the Transparency Center's advertiser suggestions; if the wrong one is picked, use the AR… ID from its URL or set advertiserMatch to all.
Why do I get fewer ads than the Transparency Center shows?
maxAdsPerQuery defaults to 100. Set it to 0 for everything, and split large advertisers (some have tens of thousands of ads) by region, format, platform or dates.
Why are impressions and targeting empty for some ads? Google discloses impression ranges and targeting only for ads shown in the EU (Digital Services Act).
Can I download the creatives?
With enrichPreviews on you get image asset URLs and, for video ads, the YouTube video ID and URL. Text ads usually come with a rendered preview image.
Which proxies work? Apify residential, the default. The Google SERP and Unblocker proxy groups do not reach this endpoint; the actor swaps them for residential and logs a warning.
Can I schedule it or call it via API? Yes. Save a task, add an Apify schedule, and export the dataset as JSON, CSV or Excel, or send it to Google Sheets, Make, Zapier or n8n. The actor also runs through the Apify API and SDKs.
Is there a Google Ads Transparency Center API?
Google offers no official REST API for the Transparency Center search. You can call this actor as one: POST https://api.apify.com/v2/acts/pulsedata~google-ads-transparency-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN> with the input JSON as the body returns the ads in the response. For long runs, start the run asynchronously and read the dataset when it finishes.
Is it legal? It reads only what Google publishes in the Transparency Center for transparency and research, and collects no personal data. Follow Google's terms and applicable law when using the data.
Ready-made report
We used this actor for State of Google Advertising: DTC & Ecommerce 2026: about 100 consumer brands and roughly 4,000 ads, with channel-mix benchmarks and ad-longevity rankings as a PDF report plus the full CSV dataset (launch discount applied at the link).
Example pages
- See every Google ad a competitor is running
- Find a brand's YouTube video ads
- Scrape Google ads shown in Germany
- Monitor a store's Google Shopping ads
- Export an advertiser's Google Search text ads
- See all Google ads Nike is running
- See all Google ads Amazon is running
- See all Google ads Shopify is running
- Scrape Google ads shown in the United Kingdom
- Scrape Google ads shown in the United States
Related actors
- LinkedIn Ad Library Scraper: the same competitor view for LinkedIn, with impressions per country and targeting.
- TikTok Ad Library Scraper: TikTok video ads shown in Europe, with run dates and audience size.
- Website Tech Stack Detector: what an advertiser's site is built with, including its ad and analytics tags.
- YouTube Scraper: views and details for the videos behind YouTube ads.