Google Ads Transparency Scraper: Ad Copy, Videos & Spend
Pricing
Pay per usage
Google Ads Transparency Scraper: Ad Copy, Videos & Spend
Scrape every ad a company runs on Google Search, YouTube, Shopping, Maps and Play from the Google Ads Transparency Center. Search by brand, domain or advertiser ID. Get ad copy, CTAs, landing URLs, YouTube video IDs, run dates, countries and political ad spend. Monitor competitors for new ads.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Ak THe goat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
Get every ad a company runs on Google Search, YouTube, Shopping, Maps and Play from the public Google Ads Transparency Center, with the ad copy, call to action, landing page, images, YouTube video ID, run dates, the countries it ran in and, for election ads, spend and impressions.
Type a brand (Nike), a website (shopify.com) or an advertiser ID and get clean rows you can export to CSV, Excel or JSON, send to Google Sheets, or pull from the API. No browser and no Google account needed.
What can this Google Ads scraper do?
- 🔎 Search by brand, domain or ID.
Nikefinds the advertiser for you.nike.comreturns ads from every advertiser sending traffic to that site (agencies, resellers, affiliates). Advertiser IDs and Transparency Center URLs work too. - ✍️ Ad copy, not just screenshots. Headlines and descriptions, call-to-action button, display URL and landing URLs are decoded from each ad's preview. The Transparency Center itself only shows a picture.
- 🎬 YouTube video IDs for video ads, with a ready
youtubeUrl. - 🌍 Countries and dates. First shown, last shown, number of days shown, and (optionally) every country the ad ran in with the last date per country.
- 🗳️ Political ad spend. Spend range, currency, impressions range and targeted regions for election ads.
- 🔔 Monitor competitors. Turn on Only new ads and schedule the Actor: each run returns only creatives you have not seen before, and you only pay for those.
- 🧰 Filters that match the site: format (text, image, video), platform (Search, YouTube, Shopping, Maps, Play), countries, and date range.
Who uses it
- Marketers and agencies: see what competitors are running right now, how long each creative has been live (long-running ads are usually the winners), and which landing pages they push.
- Creative strategists: build a swipe file of real headlines, CTAs and video ads in your niche.
- E-commerce and app marketers: track Shopping and app-install campaigns, including Play Store listings.
- Brand protection: find every advertiser sending traffic to your domain.
- Researchers and journalists: export political ad spend by country.
How to use it
- Add one or more lines to Advertisers, domains or URLs, for example
Nike,shopify.comorAR16735076323512287233. - Set Max ads per search (ads come newest-shown first).
- Optionally pick a format, platforms, countries and a date range.
- Click Start, then open the Output tab or export the dataset.
Input examples
Latest 200 YouTube video ads from two competitors in the US and UK:
{"searchTerms": ["Nike", "Adidas"],"maxAdsPerSearch": 200,"format": "VIDEO","platforms": ["YOUTUBE"],"regions": ["US", "GB"]}
Every advertiser promoting a domain in the last 30 days, with the countries each ad ran in:
{"searchTerms": ["shopify.com"],"startDate": "30 days","includeAdDetails": true}
Weekly competitor monitor that only returns new creatives (schedule it in Apify):
{"searchTerms": ["hubspot.com", "salesforce.com"],"maxAdsPerSearch": 500,"onlyNewAds": true,"monitorKey": "crm-competitors"}
UK election ads with spend:
{"searchTerms": ["labour.org.uk"],"politicalAdsOnly": true,"regions": ["GB"]}
Output
One row per ad. Example (a YouTube video ad):
{"searchTerm": "Nike","searchType": "name","creativeId": "CR02029141914422345729","advertiserId": "AR16735076323512287233","advertiserName": "Nike, Inc.","advertiserLegalName": "Nike, Inc.","advertiserCountry": "US","format": "VIDEO","firstShown": "2026-07-07T14:19:50Z","lastShown": "2026-09-30T20:49:33Z","daysShown": 70,"adText": "Nike Clearance Store | San Leandro | Gear Up for Your Run In-Store | Explore the latest running footwear and apparel at your local Nike® Factory Store. | OPEN | 10 AM–8 PM","adTextLines": ["Nike Clearance Store", "San Leandro", "Gear Up for Your Run In-Store", "..."],"callToAction": "Learn More","landingUrls": ["https://www.nike.com/retail/"],"adImageUrls": ["https://tpc.googlesyndication.com/simgad/6916328398620481038"],"videoId": "vXMxDt7mYlw","youtubeUrl": "https://www.youtube.com/watch?v=vXMxDt7mYlw","previewImageUrl": "https://tpc.googlesyndication.com/simgad/6916328398620481038","regions": [{ "countryCode": "US", "geoId": 2840, "lastShown": "2026-09-30" }],"variationsCount": 6,"adUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR02029141914422345729?region=anywhere","advertiserUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233?region=anywhere","scrapedAt": "2026-10-01T01:34:20Z"}
| Field | What it is |
|---|---|
creativeId, advertiserId | Google's IDs for the ad and the advertiser |
advertiserName, advertiserLegalName, advertiserCountry | Who runs the ad |
format | TEXT, IMAGE or VIDEO |
firstShown, lastShown, daysShown | When the ad ran (UTC) and how many days Google reports it was shown |
adText, adTextLines | The ad copy, joined and as separate lines |
callToAction, displayUrl, landingUrls | CTA button, display URL and landing pages found in the ad |
adImageUrls, previewImageUrl | Image assets, and a preview image for every row |
videoId, youtubeUrl | YouTube video for video ads |
landingDomain | The domain the ad links to (domain searches) |
regions, variationsCount | Countries the ad ran in and number of variations (with Include countries) |
spendMin, spendMax, spendCurrency, impressionsMin, impressionsMax, politicalRegions | Election ads only |
adUrl, advertiserUrl | Links back to the Transparency Center |
Rows always have the same columns, so CSV and Excel exports line up. A run summary (ads saved, skipped, failed searches) is stored in the run's key-value store as RUN_SUMMARY.
Pricing
Pay only for results:
| Event | When you pay |
|---|---|
| Ad | Each ad saved to the dataset |
| Ad copy & media | Each ad where copy, a video ID or images were extracted (on by default; turn off Extract ad copy to skip) |
| Ad countries & variations | Each ad looked up with Include countries where each ad ran (off by default) |
The exact prices are shown on the Pricing tab. Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached.
Tips and limits
- Ads come newest-shown first, so a small Max ads per search gives you what is running now.
- Names pick the biggest matching advertiser.
Nikeresolves to Nike, Inc. (thousands of ads), not a small shop called Nike. Raise Advertisers per name search to include regional entities, or paste the advertiser ID to be exact. - Domains find everyone.
nike.comreturns ads from Nike and from agencies or retailers linking to nike.com. - Text ads are published as screenshots. Their copy is extracted when Google also provides a rendered version; turn on Include countries to check more variations. The screenshot is always in
previewImageUrl. - Platform filter only covers ads shown since 4 September 2023, the same as on the website.
- Date filters behave like the site's date picker. Some past windows return few or no ads for an advertiser even though the ads exist; Google's own page shows the same.
- Political ads are published per country, so set Countries when you use Political ads only.
- Monitoring stores the IDs it has already returned in a named key-value store (
google-ads-transparency-monitor) in your Apify account. Use a different Monitor key per watchlist.
FAQ
Is it legal to scrape the Google Ads Transparency Center? The Actor only reads data Google publishes for anyone to see, without logging in. As always, check that your use of the data complies with the laws that apply to you.
Do I need a proxy? The default Apify datacenter proxy is enough. Google limits requests per IP, and the Actor rotates IPs and retries automatically.
Can I use it from my own code or tools? Yes: through the Apify API, the Python and JavaScript clients, Make, Zapier, n8n, Google Sheets, or as a tool for AI agents over Apify's MCP server.
Something missing or broken? Open an issue on the Issues tab with the input you used and the run link.