Google Ads Scraper
Pricing
Pay per event
Google Ads Scraper
Scrape Google Ads from the Ads Transparency Center. Search by advertiser name, domain, or ID. Get ad creatives, formats, dates, preview URLs. Pure HTTP, no browser needed. Export to JSON, CSV, Excel.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
1
Bookmarked
80
Total users
51
Monthly active users
13 days ago
Last modified
Categories
Share
Scrape ads from the Google Ads Transparency Center at scale. Search by advertiser name, domain, or advertiser ID. Extract ad creatives, formats, date ranges, preview URLs, and images — all via pure HTTP API with no browser overhead. Export to JSON, CSV, Excel, or feed directly into your tools.
🔍 What does Google Ads Scraper do?
This actor searches the Google Ads Transparency Center and extracts structured data from every ad it finds. It uses Google's internal RPC API directly — no browser, no Playwright, no Puppeteer — making it extremely fast and resource-efficient (256 MB memory, ~10–20 seconds per advertiser).
Search for advertisers by name, look up ads by domain, or pass advertiser IDs directly. The actor returns clean, flat records ready for spreadsheets, databases, or any downstream workflow.
👥 Who is Google Ads Scraper for?
- Digital marketers — Research competitor ad strategies across Google Search, YouTube, and Display Network. See what creatives they run and when.
- Competitive intelligence teams — Monitor which advertisers are active in your market, track new campaigns, and benchmark ad formats.
- Brand protection specialists — Detect unauthorized advertisers using your brand name or domain in Google Ads.
- Media buyers & agencies — Audit competitor ad presence, discover creative inspiration, and report on market activity.
- Researchers & journalists — Analyze advertising transparency data at scale for reporting and academic research.
- Ad verification professionals — Verify advertiser identity, check verification status, and track ad history.
⚡ Why use Google Ads Scraper instead of competitors?
| Feature | This actor | silva95gustavo ($30/mo) | lexis-solutions ($25/mo) |
|---|---|---|---|
| Pricing | $0.001/ad (pay per use) | $30/month flat | $25/month flat |
| Search by name | ✅ | ✅ | ✅ |
| Search by domain | ✅ | ❌ | ❌ |
| Search by advertiser ID | ✅ | ❌ | ❌ |
| Region filtering | ✅ | ❌ | ❌ |
| Memory usage | 256 MB | Unknown | Unknown |
| Technology | Pure HTTP (fastest) | Browser-based | Browser-based |
| Documentation | Full README + examples | None | None |
Key advantages:
- 💰 Pay-per-event pricing — Pay $0.001 per ad scraped instead of $25–30/month. Scrape 100 ads for $0.10. No commitment, no minimums.
- 🚀 Pure HTTP, no browser — Direct API calls mean 256 MB memory, fast execution, and the cheapest possible compute cost.
- 🔎 Three search modes — Search by advertiser name, website domain, or direct advertiser ID for maximum flexibility.
- 🌍 Region filtering — Filter ads shown in a specific country using ISO country codes.
- 📖 Proper documentation — Competitors have zero documentation. This actor has a full README, code examples, and field descriptions.
📊 What data can you extract?
| Field | Type | Description |
|---|---|---|
advertiserId | string | Unique Google Ads advertiser ID |
advertiserName | string | Name of the advertiser |
isVerified | boolean | Whether the advertiser is verified by Google |
creativeId | string | Unique ID for the specific ad creative |
adFormat | string | Format of the ad: Text, Image, or Video |
firstShown | string | Date the ad was first shown (YYYY-MM-DD) |
lastShown | string | Date the ad was last shown (YYYY-MM-DD) |
previewUrl | string | URL to preview the ad on Google Ads Transparency Center |
imageUrl | string | Direct URL to the ad image (for Image format ads) |
region | string | Region/country where the ad was shown |
💰 How much does it cost to scrape Google Ads?
Google Ads Scraper uses pay-per-event pricing. You only pay for what you use — no monthly subscriptions, no minimums.
| Charge event | Price (Bronze) | Description |
|---|---|---|
| Run started | $0.005 | One-time charge per actor run |
| Ad scraped | $0.001/ad | Per ad extracted |
Volume discounts are available on higher Apify plans:
| Plan | Per-ad price | Discount |
|---|---|---|
| Free | $0.00115 | — |
| Bronze (Starter) | $0.001 | Baseline |
| Silver (Scale) | $0.00078 | 22% off |
| Gold (Business) | $0.0006 | 40% off |
| Platinum (Enterprise) | $0.0004 | 60% off |
| Diamond (Enterprise+) | $0.00028 | 72% off |
Cost comparison examples:
| Scenario | This actor | Competitors |
|---|---|---|
| 100 ads/month | $0.11 | $25–30/month |
| 1,000 ads/month | $1.01 | $25–30/month |
| 10,000 ads/month | $10.01 | $25–30/month |
| 25,000 ads/month | $25.01 | $25–30/month |
You only break even with subscription scrapers at ~25,000 ads/month. For most use cases, pay-per-event saves 90%+ compared to flat monthly pricing.
🚀 How to scrape Google Ads
- Go to Google Ads Scraper on Apify Store.
- Click Try for free to open the actor in Apify Console.
- Enter advertiser names (e.g., "Nike", "Apple"), domains (e.g., "nike.com"), or advertiser IDs.
- Optionally set the region filter and max ads per advertiser.
- Click Start and wait for the run to finish.
- Download your data as JSON, CSV, Excel, or connect to any integration.
⚙️ Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchTerms | array of strings | — | Advertiser names to search for (e.g., "Nike", "Apple", "Coca-Cola") |
domains | array of strings | — | Website domains to look up (e.g., "nike.com", "apple.com") |
advertiserIds | array of strings | — | Direct advertiser IDs (e.g., "AR16735076323512287233") |
region | string | "" (all) | ISO country code to filter ads by region (e.g., "US", "GB", "DE") |
maxAds | integer | 100 | Maximum number of ads to scrape per advertiser (1–1,000) |
Tip: You must provide at least one search term, domain, or advertiser ID. You can use all three in a single run — results from all sources are combined into one dataset.
📦 Output example
{"advertiserId": "AR16735076323512287233","advertiserName": "Nike, Inc.","isVerified": true,"creativeId": "CR10938475625184739201","adFormat": "Image","firstShown": "2026-01-15","lastShown": "2026-03-18","previewUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR10938475625184739201","imageUrl": "https://tpc.googlesyndication.com/simgad/...","region": "US"}
💡 Tips for best results
- Use specific names — Searching "Nike" is better than "shoes." Specific advertiser names yield more accurate matches.
- Search by domain for precision — If you know the advertiser's website, domain search gives exact matches without ambiguity.
- Use advertiser IDs for repeat monitoring — Once you know the ID, future runs skip the search step and go directly to ad collection.
- Set region for local insights — Use ISO country codes (US, GB, DE, FR, JP, etc.) to see which ads run in specific markets.
- Start with low maxAds — Use 20–50 for initial exploration, then increase to 500–1,000 for full audits.
- Combine search modes — Use names + domains + IDs in one run to cover all angles of a competitive landscape.
- Schedule regular runs — Set up daily or weekly schedules to track new ad creatives over time.
Use with Claude AI (MCP)
This actor is available as a tool in Claude AI through the Model Context Protocol (MCP). Add it to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/google-ads-scraper"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/google-ads-scraper"}}}
Example prompts
- "Find all Google Ads currently running for Nike in the US and describe their creative formats"
- "Search the Google Ads Transparency Center for ads by apple.com and show me the most recent ones"
- "Which advertisers in the fitness industry are running the most ads on Google right now?"
Learn more in the Apify MCP documentation.
🔗 Integrations
Connect Google Ads Scraper to your existing tools:
- Google Sheets — Automatically export scraped ads to a spreadsheet for team review.
- Slack — Get notifications when new competitor ads are detected.
- Airtable — Build a competitive ad library with images and metadata.
- Zapier / Make / n8n — Trigger downstream workflows when new ads are found.
- Webhooks — Send results to your own API endpoint for custom processing.
- Google BigQuery / Snowflake — Load ad data into your data warehouse for trend analysis.
Example workflows
- Competitor monitoring: Schedule daily runs with competitor advertiser names. Compare new ads against previous runs to spot new campaigns and creative changes.
- Ad creative research: Search for major brands in your industry to build a library of ad inspiration across Text, Image, and Video formats.
- Brand protection: Search for your brand name and domain to detect unauthorized advertisers running ads with your trademarks.
- Market research: Compare the same advertiser's ads across different regions to understand localization strategies.
🤖 Using the Apify API
You can start and retrieve results programmatically using the Apify API.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/google-ads-scraper').call({searchTerms: ['Nike'],region: 'US',maxAds: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('automation-lab/google-ads-scraper').call(run_input={'searchTerms': ['Nike'],'region': 'US','maxAds': 100,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
# Start a runcurl -X POST "https://api.apify.com/v2/acts/automation-lab~google-ads-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"searchTerms": ["Nike"], "region": "US", "maxAds": 100}'# Get results (replace DATASET_ID with the actual dataset ID from the run)curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN"
⚖️ Is it legal to scrape Google Ads Transparency Center?
The Google Ads Transparency Center is a public transparency tool created by Google to provide public access to ads running across Google's advertising platforms. It was launched to meet regulatory requirements and promote ad transparency.
- The Ads Transparency Center is publicly accessible without any login.
- All data is intentionally made public by Google for transparency purposes.
- This actor accesses only publicly available data from the Transparency Center.
Always review and comply with Google's Terms of Service and applicable laws in your jurisdiction before using this actor.
❓ FAQ
Q: How many ads can I scrape per run?
Up to 1,000 ads per advertiser (set via maxAds). You can search for multiple advertisers in a single run — each one can return up to your maxAds limit.
Q: What ad formats are supported? The actor extracts Text, Image, and Video ads from the Google Ads Transparency Center.
Q: Can I search by domain?
Yes. Enter website domains (e.g., "nike.com") in the domains field. The actor looks up the advertiser associated with that domain and scrapes their ads.
Q: Do I need a Google account? No. The Google Ads Transparency Center is publicly accessible. No login or authentication is needed.
Q: What regions are supported? All countries available in the Google Ads Transparency Center. Use ISO country codes (e.g., "US", "GB", "DE", "FR", "JP", "BR", "IN"). Leave empty to get ads from all regions.
Q: How fast is it? Each advertiser takes approximately 10–20 seconds to process. The actor runs on 256 MB memory with pure HTTP calls — no browser startup overhead.
Q: Why are some fields null?
Not all ads have all data. imageUrl is only available for Image format ads. Some newer ads may not yet have lastShown populated.
Q: The actor returned 0 ads. What should I do?
- Verify the advertiser exists on the Google Ads Transparency Center directly.
- Try a different search term or check the spelling.
- If using a domain, make sure the domain is associated with a Google Ads advertiser.
Legality
Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.
How do I monitor competitor Google Ads campaigns automatically?
To set up ongoing competitive ad intelligence, schedule the scraper to run daily or weekly against your competitor list:
- Run the scraper once with competitor names and domains to discover their Google advertiser IDs.
- Save those IDs — future runs using
advertiserIdsskip the search step and go straight to ad collection, making them faster and more reliable. - Schedule daily runs and export results to a database or Google Sheet with a timestamp column.
- On each run, compare new
creativeIdvalues against your previous dataset to identify new ad creatives. - Track
firstShownandlastShowndates to understand campaign cadence — how frequently do competitors rotate creatives? How long do specific ads run?
This workflow reveals competitor ad activity patterns without needing access to their ad accounts. You can detect when a competitor launches a new campaign, tests new messaging, or pulls ads from a region — all from publicly available transparency data.
How can I use Google Ads Transparency data for brand protection?
If competitors or affiliates are running Google Ads using your brand name, trademark, or domain, the Google Ads Transparency Center records those ads publicly. This scraper surfaces them systematically.
Run the scraper with your brand name as a searchTerms entry and your domain in domains. Compare the advertiserName and advertiserId in results against your known authorized partners. Any advertiser not on your approved list that shows ads for your brand terms is a potential trademark violation or unauthorized affiliate.
Set up a weekly scheduled run and configure a Slack or email notification (via Zapier or Make) for any new advertisers that appear in the results. This gives you an automated brand protection monitor without paying for specialized brand safety tools that often charge hundreds of dollars per month.
What is the difference between Google Ads Transparency Center and Google Ads Manager?
The Google Ads Transparency Center is a public-facing tool that shows ads from all advertisers running on Google's network. Anyone can search it without a Google account. It was created for regulatory compliance and public transparency. This is the data source this scraper uses.
Google Ads Manager (formerly Google Ads dashboard) is a private tool for advertisers to manage their own campaigns. It shows your own performance data — impressions, clicks, conversion rates, costs — which is only accessible to the account owner.
Key distinction: the Transparency Center shows you what your competitors' ads look like, but not how they perform. It shows creative content, date ranges, and formats — not click-through rates or spend. For competitor performance data, you would need third-party ad intelligence platforms that estimate metrics from panel data.
How do I research ad creative strategies across an entire industry?
Use the scraper to build a comprehensive ad creative library for your competitive landscape:
- Create a list of 10–20 advertisers in your industry (use competitor names and domains).
- Run the scraper with
maxAds: 500per advertiser to capture a broad creative sample. - In the output, separate results by
adFormat— Text, Image, and Video ads serve different purposes and should be analyzed separately. - For Image ads, download creatives using the
imageUrlfield to build a visual swipe file. - For Text ads, analyze the
previewUrlpages to study headline and description patterns. - Sort by
firstShownandlastShownto identify which creatives have run longest — longevity often signals strong performance.
Filter by region to understand how competitors localize their messaging. Running the same advertiser with region: "US" vs. region: "DE" reveals whether they use different creative strategies in different markets, which can inform your own localization decisions.
Can I track Google Ads activity for advertisers in a specific country?
Yes. Use the region parameter with any ISO country code to filter ads shown in that specific market. For example, region: "GB" returns only ads shown to UK audiences, region: "JP" returns Japan-specific ads.
This is particularly useful for:
- Market entry research — before entering a new country, see which local and global competitors are actively advertising there and what messaging they use.
- Regulatory compliance research — different regions may have different ad disclosure requirements. Check what disclosures appear in ads from your industry in each target market.
- Competitive spend signals — an advertiser who recently expanded ad activity in a new country (visible through
firstShowndates) may be signaling a market entry or expansion.
Leave the region field empty to get ads from all regions, which gives you a global view of an advertiser's creative portfolio.
🔗 Related scrapers from Automation Lab
- Facebook Ads Library Scraper — Scrape ads from Meta's Ad Library across Facebook, Instagram, and Messenger.
- Google Trends Scraper — Extract trending search data and interest over time from Google Trends.
- Google News Scraper — Scrape news articles and headlines from Google News.
- Google Maps Lead Finder — Find local business leads with contact info from Google Maps.
- YouTube Scraper — Extract video metadata, channel info, and comments from YouTube.