Google Ads Transparency Scraper – Ad Copy, Countries & Reach
Pricing
from $1.00 / 1,000 ads
Google Ads Transparency Scraper – Ad Copy, Countries & Reach
Scrape the Google Ads Transparency Center: every ad a competitor runs on Search, YouTube, Shopping, Maps & Play with headline, text, landing page, images, countries, EU impressions, audience & political spend. No login, no start fee.
Pricing
from $1.00 / 1,000 ads
Rating
0.0
(0)
Developer
Smoldesk Studios
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Google Ads Transparency Scraper – Creatives, Countries & Reach
Scrape the Google Ads Transparency Center and see every ad a competitor runs on Google Search, YouTube, Shopping, Maps and Play. Search by domain (nike.com), advertiser name or advertiser ID, filter by country, format, platform and date, and get one row per ad with the ad image or YouTube video, first and last shown dates, and the headline, description, call to action and landing page wherever Google keeps the ad as text (most video and display ads; Search ads usually come as an image of the full ad — see Limitations). Turn on full details for every country the ad ran in, impression ranges per country and per Google platform (EU and political ads), the audience selection (demographics, locations, contextual signals, customer lists, interests), Google's topic label and the advertiser's legal name and country. Political ads come with spend and impression ranges. A monitoring mode returns only ads that are new since your last run. No login, no API key, no browser, no start fee.
What you can use it for
- Competitor ad research: pull every live creative of a rival brand, see what they say, where they send traffic and how long each ad has been running.
- Creative inspiration and swipe files: collect long-running ads (high
daysShown) — the ones that work are the ones advertisers keep paying for. - New-ad alerts: schedule a daily run with Only new ads and get just the creatives a competitor launched since yesterday.
- Agency pitches and audits: show a prospect which competitors advertise in their market, on which Google products, in which countries.
- EU reach analysis: impression ranges per country and per platform, and the audience criteria advertisers chose (Digital Services Act data).
- Election and political ad monitoring: spend ranges, impressions and the regions each political ad targeted.
- Brand protection: search your own domain to find resellers, affiliates and look-alike advertisers bidding on your traffic.
- AI agents and RAG: every ad has a clean
markdownsummary ready for an LLM.
How to scrape Google Ads Transparency
- Create a free Apify account and open this Actor.
- Say whose ads you want:
- Domains:
nike.com,booking.com— every advertiser sending traffic there (brand, resellers, agencies). - Advertisers: a name like
Shopify, an advertiser ID (AR16735076323512287233) or the advertiser's page URL. Google lists advertisers under legal names, so a name goes to the biggest account carrying it (Shopify→ Shopify Inc.); if no big account has the name (Temu,Canva), the Actor searches the brand's domain instead and says so in the log. - Ads Transparency Center URLs: paste any URL from adstransparency.google.com — its filters are kept. A single ad URL returns that ad with full details.
- Political ads only: the latest election ads in the chosen countries, with spend.
- Domains:
- Narrow it down with Countries (
US,GB,DE…), Ad format (text, image, video), Google platform (Search, YouTube, Shopping, Maps, Play) and Shown on or after / before dates (2026-09-01,-30). - Leave Ad copy on for headline, text, call to action and landing page. Turn on Full details for countries, impressions, audience and all variations.
- Click Start. 100 ads take a few seconds; with full details about 1 minute.
- Download as JSON, CSV or Excel, or read the dataset through the Apify API.
- For alerts, turn on Only new ads and add a Schedule (daily or weekly). Each run returns only creatives first shown since the previous run.
Tips
- Start without full details to see how many ads a brand runs (
Google lists about …in the log), then add details for the ads you care about. - Big brands run tens of thousands of ads — use Max ads per domain / advertiser, a country and a date filter.
- Some brands have one advertiser account per country. Turn on All advertisers with that name to get them all.
Output: ad
{"type": "ad","advertiserId": "AR06374349942554624001","advertiserName": "Canva, Pty Ltd","creativeId": "CR15674834518026485761","adUrl": "https://adstransparency.google.com/advertiser/AR06374349942554624001/creative/CR15674834518026485761?region=US","format": "video","firstShown": "2026-09-07T04:32:06Z","lastShown": "2026-10-18T14:38:18Z","daysShown": 43,"domain": "canva.com","headline": "Start designing with Canva today","longHeadline": "Save hours designing your social posts with Canva’s free templates.","description": "Sign up to Canva and choose from millions of free templates.","callToAction": "Learn more","businessName": "Canva","displayUrl": null,"landingUrl": null,"youtubeVideoId": "KoSaMtJK_gM","youtubeUrl": "https://www.youtube.com/watch?v=KoSaMtJK_gM","videoDuration": "0:18","appId": null,"imageUrl": "https://i.ytimg.com/vi/KoSaMtJK_gM/hqdefault.jpg","imageUrls": ["https://i.ytimg.com/vi/KoSaMtJK_gM/hqdefault.jpg"],"productTitle": null,"productMerchant": null,"dynamicSearchAd": false,"searchRegions": ["US"],"searchQuery": "canva.com","markdown": "**Canva, Pty Ltd** — video ad for canva.com\nHeadline: Start designing with Canva today\n…","scrapedAt": "2026-10-18T15:22:09+00:00"}
With Full details on, each ad also has:
{"topic": "Travel & Tourism","adType": "Commercial","regionCount": 7,"regions": [{"country": "NL","countryName": "Netherlands","firstShown": "2025-10-24","lastShown": "2026-10-18","impressionsMin": 20000,"impressionsMax": 25000,"platforms": [{"platform": "Google Search", "impressionsMin": 20000, "impressionsMax": 25000},{"platform": "Google Shopping", "impressionsMin": 0, "impressionsMax": 1000}]}],"euImpressions": {"impressionsMin": 25000, "impressionsMax": 30000, "firstShown": "2025-10-24", "lastShown": "2026-10-18"},"audienceSelection": {"demographicInfo": "included","geographicLocations": "included and excluded","contextualSignals": "included"},"variationCount": 3,"variations": [{"headline": "…", "description": "…", "imageUrls": ["…"]}],"advertiserLegalName": "Booking.com B.V.","advertiserCountry": "NL","advertiserCountryName": "Netherlands","advertiserVerified": true}
Political ads add:
{"political": {"impressionsMin": 35000,"impressionsMax": 40000,"spendCurrency": "USD","spendMin": 500,"spendMax": 600,"regions": ["US"]}}
Input examples
Competitor ads in the US, newest 200, with ad copy:
{"domains": ["booking.com", "expedia.com"],"regions": ["US"],"maxAdsPerSearch": 200}
A brand's YouTube video ads in Germany since September, with countries, impressions and audience:
{"advertisers": ["AR16735076323512287233"],"regions": ["DE"],"adFormat": "VIDEO","platform": "YOUTUBE","startDate": "2026-09-01","includeDetails": true}
Daily new-ad alerts (schedule this):
{"domains": ["competitor.com"],"regions": ["GB"],"onlyNewAds": true}
Political ads in the US with spend:
{"politicalAdsOnly": true,"regions": ["US"],"maxAdsPerSearch": 500}
Pricing
Pay only for the ads you get. No monthly rent, a near-zero start fee.
| What | Price |
|---|---|
| Ad (with ad copy, image, landing page, dates) | $1.00 per 1,000 ads |
| Full details add-on (countries, impressions, audience, topic, variations, advertiser info) | +$2.00 per 1,000 ads |
| Actor start | $0.00005 per run |
Examples: 1,000 competitor ads with ad copy = $1.00. 1,000 ads with full details = $3.00. A daily new-ads check that finds 15 new creatives costs $0.015. Ads that were skipped (already seen, outside your filters) are never charged. Set Maximum cost per run in the run options and the Actor stops cleanly when it is reached.
Use with AI (LangChain / LlamaIndex / CrewAI)
Each ad has a markdown field (advertiser, headline, text, call to action, landing page, dates, countries), so the dataset drops straight into an LLM or vector store:
from langchain_apify import ApifyDatasetLoaderfrom langchain_core.documents import Documentloader = ApifyDatasetLoader(dataset_id="<your run's dataset ID>",dataset_mapping_function=lambda ad: Document(page_content=ad["markdown"],metadata={"advertiser": ad["advertiserName"], "url": ad["adUrl"], "format": ad["format"]},),)docs = loader.load()
Ask your agent "What messages does this competitor test on YouTube?" or "Which landing pages get the most ads?". The Actor also works as a tool in the Apify MCP server (smoldesk/google-ads-transparency-scraper).
Limitations
- Ad copy depends on what Google stores. In our tests (500 US ads, 5 brands) the text fields were filled for ~80% of video ads and ~40% of image/display ads (the rest are HTML5 banners with no readable text). Search text ads are mostly stored by Google as a screenshot: you get that image in
imageUrl(it shows the full ad — headline, URL and text) but the text fields stay empty for ~95% of them. With Full details on, the Actor reads every variation (up to 5) and fills the text from the first one Google keeps as text, which works for some advertisers (e.g. most Nike Search ads) and not others. - Impressions and audience are published by Google only for ads shown in the EU (and for political ads). For other countries you get first/last shown dates per country; impressions are
null. - Dynamic Search Ads have no fixed headline:
dynamicSearchAdistrueandheadlineisnull. - Google's ad count per search is approximate (shown as a range in the log).
- HTML5 banner ads have no readable text; you get their size and the ad page link.
- The Center lists ads from verified advertisers, back to about 2020.
FAQ
Is there a Google Ads Transparency Center API? No public one. This Actor reads the same data the Ads Transparency Center website shows and returns it as structured JSON — effectively a Google Ads Transparency API without an API key.
Is it legal to scrape the Ads Transparency Center? The Center is a public website Google built so anyone can see who is advertising and what. The Actor reads only that public information, without logging in. Check your local laws and the terms of the sites you work with before using the data.
Do I need a Google account or a proxy? No. The Actor needs no login. It sends requests from its own IP and switches IP by itself when Google slows it down — you don't configure anything.
How do I find all ads of a competitor? Search by their domain to get every advertiser sending traffic there, or by advertiser name to get only their own account. Add All advertisers with that name for brands with one account per country.
How do I get alerts for new ads? Turn on Only new ads and schedule the Actor. The first run returns the current ads; each later run returns only ads first shown after the previous run.
Can I get the ad images and videos?
Yes — imageUrl / imageUrls link to the ad image (for many text ads, a screenshot of the full ad), and video ads have youtubeVideoId and youtubeUrl.
Does it scrape the Meta (Facebook) Ad Library? No, Google only. It covers Google Search, YouTube, Shopping, Maps, Play and the Display Network.
Feedback
Missing a field, or an ad that doesn't look right? Open an issue on the Issues tab — fixes usually ship within a day.
More Actors from Smoldesk Studios
- Tennis Scraper: results, fixtures, closing and opening odds from 15 bookmakers, H2H and ATP/WTA rankings
- Weibo Scraper: keyword and hashtag search, posts, comments, profiles and the hot-search board from China's biggest microblog, no login
- Bilibili Scraper: videos, stats, danmaku, comments and creators from China's video site, no login
- Google Hotels Scraper: hotel prices for your dates in any currency, ratings, review aspects and booking-site prices, worldwide
- Google Trends Scraper: interest over time, by region and city, related queries and Trending now — no API key
- Telegram Channel Scraper: public channel posts, views, reactions and subscribers
- Substack Scraper: newsletters, subscriber counts and posts
- Shopify Store Analyzer: apps, contacts and products of any Shopify store
- Career Site Jobs Scraper: live jobs from 13,000+ company career sites (Greenhouse, Lever, Workday, Ashby) with salary and seniority
- SEEK, JobStreet & JobsDB Scraper: jobs and salaries across Australia and Southeast Asia