Google Ads Scraper
Pricing
$0.50 / 1,000 results
Google Ads Scraper
💰$0.50/1K result💰Spy on competitors’ winning Google Ads. Search by keyword or domain with hyper-accurate strict matching. Sort by days-active to instantly find their most profitable ads. Get full data: copy, CTAs, landing pages, YouTube previews, regions, and platforms.
Pricing
$0.50 / 1,000 results
Rating
5.0
(1)
Developer
VortexData
Maintained by CommunityActor stats
2
Bookmarked
12
Total users
5
Monthly active users
5 days ago
Last modified
Categories
Share
🚀 Google Ads Transparency Scraper
Scrape public ads from the Google Ads Transparency Center by brand, domain, advertiser ID, or Transparency Center URL. Use this Actor to monitor competitors, collect ad creatives, analyze messaging, find landing pages, and track what brands are running across Google Search, YouTube, Display, Maps, Shopping, Gmail, Discover, and Google Play.
No Google login is required. Paste a company name, website, advertiser ID, or Transparency Center URL, click Start, and get a clean dataset with one row per ad creative.
✨ What Can This Google Ads Scraper Do?
✅ Search by brand, keyword, website domain, advertiser ID, or full Transparency Center URL
✅ Extract text, image, and video ads from Google Ads Transparency Center
✅ Collect ad copy, CTAs, landing URLs, thumbnails, media URLs, dates, formats, countries, platforms, and impression ranges when Google exposes them
✅ Filter by country, ad format, platform, and date range
✅ Track exact advertisers using stable AR... advertiser IDs
✅ Skip already-seen CR... creative IDs for scheduled monitoring
✅ Export results to JSON, CSV, Excel, API, Make, Zapier, n8n, or your own pipeline
✅ Run on schedule in Apify to monitor new competitor ads automatically
📊 What Data Can You Extract?
| Data point | Example |
|---|---|
| Advertiser name and ID | Nike, Inc., AR16735076323512287233 |
| Creative ID and format | CR01753144146295521281, IMAGE |
| Ad preview | Thumbnail URL shown in Apify Console |
| Ad copy | Headline, description, CTA, full text lines |
| Landing page | Final landing URL and landing domain |
| Dates | First shown, last shown, days active |
| Activity status | Active recently: true / false |
| Countries | United States, Canada, United Kingdom |
| Platforms | Google Search, YouTube, Display, Maps, Shopping |
| Impressions | Overall and per-region ranges when available |
| Targeting | Readable targeting summary when available |
| Source links | Direct Google Ads Transparency creative URL |
🧭 How To Scrape Google Ads Transparency Center Data
1. Search By Brand Or Domain
{"searchTargets": ["nike.com", "shopify"],"resultsLimit": 50}
Use domains for your first run. They are simple, readable, and usually map to the right advertiser suggestions.
2. Track An Exact Advertiser
{"searchTargets": ["AR08888592736429539329"],"resultsLimit": 200}
Advertiser IDs are the best input for repeat monitoring because they skip name matching and go straight to the advertiser.
3. Paste A Google Ads Transparency URL
{"searchTargets": ["https://adstransparency.google.com/advertiser/AR08888592736429539329"]}
URL filters such as ?region=US&format=VIDEO&platform=YouTube are understood and override the global filters for that pasted URL.
4. Filter By Country, Format, Platform, And Date
{"searchTargets": ["nike.com"],"filterRegion": "US","filterFormat": "VIDEO","filterPlatform": "YOUTUBE","timeRangePreset": "LAST_30_DAYS","resultsLimit": 100}
Platform filtering needs creative details, so Fast mode is automatically disabled when you choose a platform. This keeps matching complete instead of stopping after the first non-matching ads.
5. Monitor Only New Ads
{"searchTargets": ["AR08888592736429539329"],"excludeCreativeIds": "CR01129991885394280449\nCR08392736429539329","resultsLimit": 500}
Paste creative IDs from a previous run. The Actor skips them before enrichment, which is useful for daily or weekly schedules.
🧾 Output Example
Each dataset row is one ad creative.
{"advertiserName": "Nike, Inc.","advertiserId": "AR16735076323512287233","creativeId": "CR01753144146295521281","format": "IMAGE","adTransparencyUrl": "https://adstransparency.google.com/advertiser/AR.../creative/CR...","landingUrl": "https://www.nike.com/","landingDomain": "nike.com","isActive": true,"firstShown": "2026-01-15","lastShown": "2026-03-18","daysActive": 62,"regions": ["Canada", "United Kingdom", "United States"],"platforms": ["Google Search", "YouTube"],"impressionsMin": 1000,"impressionsMax": 10000,"headline": "Nike Running","description": "New arrivals are here","cta": "Shop now","text": "Nike Running | New arrivals are here | Shop now","preview": "https://tpc.googlesyndication.com/archive/simgad/...","media": ["https://tpc.googlesyndication.com/archive/simgad/..."],"scrapedAt": "2026-05-29T10:00:00+00:00"}
The Output tab includes:
🖼️ Visual preview - thumbnails, copy, advertiser, format, platforms, dates, and Google link
📦 All fields - every exported field for CSV, Excel, JSON, API, and downstream automation
⚙️ Input Settings
| Field | Default | What it does |
|---|---|---|
searchTargets | required in UI | Brand, keyword, domain, advertiser ID, or Google Ads Transparency Center URL. API aliases such as searchQuery, keywords, domains, and advertiserIds are also accepted. |
resultsLimit | 50 | Max ads to save per advertiser. Use 0 for all available ads. |
maxPages | 0 | Optional Google pagination cap. Each page contains up to 40 candidate ads; 0 means no page cap. |
maxAdvertisersPerQuery | 3 | When searching by brand/domain/keyword, scrape this many matching advertisers. |
filterRegion | ALL | Country filter. Use US, GB, DE, JP, or any ISO-2 country code. Country names such as United States also work. |
filterFormat | ALL | ALL, TEXT, IMAGE, or VIDEO. |
filterPlatform | ALL | ALL, YOUTUBE, SEARCH, DISPLAY, MAPS, SHOPPING, DISCOVER, GMAIL, or PLAY. |
timeRangePreset | ALL_TIME | LAST_7_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_YEAR, or ALL_TIME. |
customStartDate | empty | Optional YYYY-MM-DD; overrides the preset. |
customEndDate | empty | Optional YYYY-MM-DD; overrides the preset. |
skipDetails | false | Fast listing-only mode. Omits ad text, landing URLs, platforms, impressions, and some media. |
excludeCreativeIds | empty | Optional list/text/CSV of CR... IDs to skip in monitoring runs. |
maxConcurrency | 4 | Parallel Google RPC calls. Higher can be faster, but may hit temporary Google limits. |
💰 Pricing And Run Cost
This Actor uses pay-per-result pricing. You pay for saved dataset items, plus normal Apify platform usage. For most brand/domain runs, start with resultsLimit between 20 and 50 so you can confirm the advertiser match before collecting a larger dataset.
For the cheapest run, enable Fast mode (skipDetails=true). For the richest competitive intelligence dataset, leave Fast mode off so the Actor can fetch ad text, landing URLs, platform breakdowns, impressions, targeting summary, and media URLs where available.
🛡️ Proxy Handling
Proxy handling is managed internally and is not user-configurable. Google Transparency RPC traffic uses Apify Proxy automatic mode with US exit country, rotates sessions per request, and applies a global request-rate ceiling to reduce temporary Google rate limits. Public preview CDN assets are fetched directly first with managed fallback on rate limits, which keeps full-enrichment runs faster without adding proxy settings to the input form.
💡 Tips For Better Results
🎯 Use domains first: nike.com, shopify.com, apple.com
🔁 Use advertiser IDs for scheduled monitoring
🧪 Start small, then increase resultsLimit after you confirm the match
📌 Use excludeCreativeIds to collect only new ads over time
🌍 Use a country filter when you care about one market
🎬 Use platform filters when you specifically need YouTube, Search, Display, or Shopping placements
⚠️ Limitations
- Google does not expose exact impression counts for every ad. When available, impressions are ranges.
- Some HTML5 or dynamic creatives do not expose readable text or a landing URL in the public preview.
- Some platform, targeting, or region breakdowns are missing from Google's response. Missing fields are omitted instead of filled with fake values.
- Direct
googlevideo.comstreams are signed and expire, so the dataset keeps durable YouTube watch URLs and image URLs when possible. - Brand and domain searches use Google's advertiser suggestions. For the most stable monitoring, use the exact
AR...advertiser ID.
❓ FAQ
Can I scrape Google Ads by keyword?
Yes. Add a brand name, keyword, domain, advertiser ID, or Transparency Center URL to searchTargets.
Can I scrape YouTube ads?
Yes. Set filterFormat to VIDEO and filterPlatform to YOUTUBE. YouTube/platform matching requires detailed creative data, so it can take longer than listing-only runs.
Can I run this Actor every day?
Yes. Save a task or schedule in Apify Console and use excludeCreativeIds from the previous dataset to return only new ads.
Can I use my own proxies?
No. Proxy handling is internal to keep runs simple and consistent.
Is this an official Google tool?
No. This Actor extracts publicly available data from Google's Ads Transparency Center. It is not affiliated with, endorsed by, or sponsored by Google or Alphabet Inc.
📝 Changelog
See the Changelog tab in Apify Console for recent changes, output updates, and compatibility notes.
⚖️ Legal
This Actor extracts publicly available data from Google's Ads Transparency Center. Use the data responsibly and follow applicable laws, Google terms, and Apify platform rules.