Google Ads Transparency Scraper
Pricing
from $0.02 / 1,000 ad extracteds
Google Ads Transparency Scraper
Scrape public Google Ads Transparency Center ads by advertiser, keyword, country, and date range. Export ad IDs, advertisers, media URLs, and shown dates.
Pricing
from $0.02 / 1,000 ad extracteds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
Extract public ad creatives and metadata from Google Ads Transparency Center.
What does Google Ads Transparency Scraper do?
Google Ads Transparency Scraper collects public ads from the Google Ads Transparency Center for advertisers, brands, domains, or keywords.
It helps you monitor visible Google ad creatives without manually opening the Transparency Center, searching advertisers, scrolling results, and copying dates or media URLs.
Use it to build competitive ad libraries, compliance samples, agency reports, and repeatable brand-monitoring workflows.
Who is it for?
- ๐งโ๐ผ Marketing teams tracking competitors
- ๐ข Agencies preparing creative audits
- ๐ก๏ธ Compliance teams reviewing public ad disclosures
- ๐ Growth teams watching messaging changes
- ๐งช Researchers collecting public ad examples
- ๐งฐ Data teams feeding dashboards and alerts
Why use this actor?
Manual transparency research is slow and inconsistent.
This actor turns searches into structured dataset rows.
You can run it on a schedule, export JSON or CSV, connect it to webhooks, and compare new creatives over time.
What data can it extract?
| Field | Description |
|---|---|
| query | Search query that produced the ad |
| country | Requested country code |
| advertiserName | Public advertiser name |
| advertiserId | Google Ads Transparency advertiser ID |
| adId | Public creative ID |
| adUrl | Transparency Center creative URL |
| adText | Text detected in the public creative metadata |
| headline | First useful text line, when available |
| description | Public description/ad-copy text, when available |
| imageUrls | Creative image or preview URLs |
| videoUrl | Video URL when exposed by the public record |
| landingPageUrl | Landing page URL when exposed by the public record |
| platforms | Platform labels when exposed |
| regions | Regions returned for the run |
| firstShownDate | First public shown date |
| lastShownDate | Last public shown date |
| snapshotUrl | Link to the public ad snapshot |
| scrapedAt | Collection timestamp |
How much does it cost to scrape Google Ads Transparency ads?
The actor uses pay-per-event pricing.
You pay a small run start fee plus a per-ad fee for ads saved to the dataset.
A small sample run with 25 ads is inexpensive.
Larger monitoring jobs scale with the number of ads collected.
Always start with a small maxResultsPerQuery value while testing a new query.
Quick start
- Open the actor on Apify.
- Add one or more advertiser names or keywords.
- Choose a country code such as
US,GB, orCA. - Set
maxResultsPerQuery. - Run the actor.
- Export the dataset as JSON, CSV, Excel, XML, or RSS.
Input options
queries
List of advertisers, domains, brand names, or keywords.
Example values:
Nike, Inc.Appleshopify.comrunning shoes
country
Two-letter country code used as the Transparency Center region.
Common examples:
USGBCAAUDEFRIN
maxResultsPerQuery
Maximum number of ads to save for each query.
Use a small value for tests.
Use a larger value for monitoring.
includeAdDetails
When enabled, the actor fetches each public creative detail record to collect additional media and preview URLs.
Disable it for faster lightweight runs.
dateFrom and dateTo
Optional ISO date filters.
The actor filters ads by the public first/last shown dates returned by the Transparency Center.
Example input
{"queries": ["Nike, Inc.", "Apple"],"country": "US","maxResultsPerQuery": 25,"includeAdDetails": true}
Example output
{"query": "Nike, Inc.","country": "US","advertiserName": "Nike, Inc.","advertiserId": "AR16735076323512287233","adId": "CR18317251634368872449","adUrl": "https://adstransparency.google.com/advertiser/...","imageUrls": ["https://tpc.googlesyndication.com/archive/simgad/..."],"firstShownDate": "2022-11-30T16:07:07.000Z","lastShownDate": "2026-06-18T13:05:05.000Z","scrapedAt": "2026-06-18T13:00:00.000Z"}
Tips for better results
- โ Use exact advertiser names when possible.
- โ Start with the country where the advertiser is most active.
- โ Use low limits for discovery runs.
- โ Schedule recurring runs to spot new ads.
- โ Store previous datasets so you can diff creative changes.
Monitoring workflows
Run the actor daily for your top competitors.
Export the dataset to Google Sheets.
Compare adId values across runs.
Notify your team when a new creative appears.
Archive image URLs for creative review.
Competitive intelligence workflows
Collect ads for several brands in one run.
Group output by advertiser.
Review first and last shown dates.
Track repeated creative themes.
Use images in a swipe-file workflow.
Compliance workflows
Use advertiser IDs and ad IDs as durable references.
Store snapshotUrl for audit trails.
Run consistent country-specific searches.
Export results as CSV for review teams.
Keep run logs and datasets for reproducibility.
Integrations
You can connect this actor to:
- Google Sheets for analyst review
- Slack alerts through Apify webhooks
- BigQuery or Snowflake for historical analysis
- Make or Zapier workflows
- Internal dashboards through the Apify API
- Scheduled Apify tasks for recurring monitoring
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper').call({queries: ['Nike, Inc.'],country: 'US',maxResultsPerQuery: 25});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper').call(run_input={'queries': ['Nike, Inc.'],'country': 'US','maxResultsPerQuery': 25,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/<ANNA_APIFY_USERNAME>~google-ads-transparency-scraper/runs?token=MY-APIFY-TOKEN' \-H 'Content-Type: application/json' \-d '{"queries":["Nike, Inc."],"country":"US","maxResultsPerQuery":25}'
MCP usage
Use Apify MCP with Claude Code or Claude Desktop to run the actor from natural-language prompts.
MCP URL:
https://mcp.apify.com/?tools=<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper
Claude Code setup:
$claude mcp add apify-google-ads-transparency https://mcp.apify.com/?tools=<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper
Claude Desktop JSON config:
{"mcpServers": {"apify-google-ads-transparency": {"url": "https://mcp.apify.com/?tools=<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper"}}}
Example prompts:
- "Run Google Ads Transparency Scraper for Nike in the US and summarize the newest ads."
- "Collect 50 Apple ads in GB and export the image URLs."
- "Compare ad IDs from my last two Google Ads Transparency datasets."
Data freshness
The actor collects data currently exposed by Google Ads Transparency Center.
Availability can vary by advertiser, country, region, ad format, and Google's public retention rules.
Some ads may have images only.
Some text ads may expose more copy than image ads.
Limits
The actor can only collect public data that the Transparency Center returns.
It does not log in.
It does not collect private campaign manager data.
It does not bypass account permissions.
It may return fewer ads than requested when the source has fewer public results.
FAQ
Can I scrape private Google Ads account data?
No. The actor only collects public records exposed by Google Ads Transparency Center.
Does it support multiple countries?
Yes. Run separate tasks for each country code when you need country-specific monitoring.
Should I enable ad details?
Enable details when you want more media URLs. Disable it for faster discovery runs.
Troubleshooting
Why did my query return no ads?
Try the exact advertiser name, a broader brand name, or another country.
Some advertisers do not have public ads in every region.
Why are some text fields empty?
Some public creative records expose only media previews and dates.
Image-only creatives may not include readable ad copy.
Why are platform fields empty?
Google's public response does not always expose stable platform labels for every creative.
The actor preserves requested platform hints and returns platform labels when available.
Legality and ethical use
This actor collects public transparency data.
Use it responsibly.
Respect Apify terms, Google terms, privacy rules, and local laws.
Do not use the data for harassment, discrimination, or misleading claims.
Related scrapers
You may also find these actors useful:
- https://apify.com/<ANNA_APIFY_USERNAME>/google-maps-reviews-scraper
- https://apify.com/<ANNA_APIFY_USERNAME>/google-news-scraper
- https://apify.com/<ANNA_APIFY_USERNAME>/bing-search-results-scraper
- https://apify.com/<ANNA_APIFY_USERNAME>/web-page-to-markdown-extractor
Changelog
Initial version extracts public advertiser ad creatives, IDs, media URLs, shown dates, and snapshot links from Google Ads Transparency Center.
Support
If a run fails, include the run ID, input, and expected advertiser or country in your support request.
Small reproducible inputs are easiest to debug.
Summary
Google Ads Transparency Scraper helps turn public ad-library searches into structured datasets.
Use it for competitor monitoring, creative research, compliance checks, and recurring public-ad intelligence.