Google Ads Scraper
Pricing
Pay per usage
Google Ads Scraper
Monitor competitor Google Ads in real-time. Extract ad copy, headlines, descriptions, landing pages, keywords & creatives across industries. Perfect for competitive intelligence, ad benchmarking, keyword research & market analysis. Structured JSON output, ready to integrate.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Shahid Irfan
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
11 days ago
Last modified
Categories
Share
Google Ads Transparency Scraper
Extract Google Ads Transparency Center creatives in a clean, structured dataset. Collect advertiser identifiers, creative formats, shown dates, media preview URLs, and source links for advertiser pages or domain searches. Useful for competitor monitoring, compliance review, and ad-library research.
Features
- Advertiser lookups — Collect creatives for a specific advertiser ID
- Domain searches — Gather creatives tied to a brand or website domain
- Filtered start URLs — Reuse a working Transparency Center URL as your input
- Clean datasets — Duplicate records, null values, and empty fields are handled automatically
- Media extraction — Capture preview image or video URLs when available
- Extended collection — Large domain searches are expanded with date-window queries to go beyond a single
100-result window
Use Cases
Competitive Monitoring
Track which creatives a competitor is running and how long they stay active. Use the dataset to compare messaging, formats, and launch timing across advertisers.
Brand Safety Review
Inspect ads associated with a domain or advertiser before partnership, placement, or compliance decisions. Review public creative assets without manual browsing.
Market Research
Build a dataset of active ad creatives for category analysis. Compare how brands vary their formats and refresh campaigns over time.
Creative Audits
Export preview assets and shown dates for internal review. This is useful when you need a structured archive of ads instead of screenshots and manual notes.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | — | Full Transparency Center URL. Useful for advertiser pages or domain searches with built-in filters. |
advertiserId | String | No | — | Google advertiser ID such as AR03056092225806008321. |
domain | String | No | — | Domain search such as nike.com. |
results_wanted | Integer | No | 20 | Maximum number of records to collect for the run. Domain searches can extend beyond 100 by querying additional date windows. |
max_pages | Integer | No | 5 | Retained for compatibility. It is ignored by the current implementation. |
proxyConfiguration | Object | No | Residential | Optional proxy settings for network routing. |
Output Data
Each item in the dataset contains:
| Field | Type | Description |
|---|---|---|
creative_id | String | Unique identifier for the ad creative |
advertiser_id | String | Google advertiser ID |
advertiser_name | String | Advertiser name when available in the source data |
format | String | Creative format such as Text, Image, Video, or HTML5 |
first_shown_date | String | First observed shown date in YYYY-MM-DD format |
last_shown_date | String | Most recent shown date in YYYY-MM-DD format |
landing_domain | String | Destination domain associated with the creative when available |
image_url | String | Preview image URL when the creative exposes one |
video_url | String | Preview video URL when the creative exposes one |
details_link | String | Direct link to the creative details page |
region_filter | String | Region code used for the query when applicable |
source_url | String | Transparency Center URL used as the source for the result |
Usage Examples
Advertiser Run
Collect creatives for one advertiser:
{"advertiserId": "AR03056092225806008321","results_wanted": 20}
Domain Run
Collect creatives associated with a domain:
{"domain": "nike.com","results_wanted": 50}
Start URL Run
Reuse a working Transparency Center URL directly:
{"startUrl": "https://adstransparency.google.com/advertiser/AR03056092225806008321?region=anywhere","results_wanted": 20}
Sample Output
{"creative_id": "CR17653238703880929281","advertiser_id": "AR03056092225806008321","advertiser_name": "SoftwareOne","format": "Video","first_shown_date": "2026-05-17","last_shown_date": "2026-06-25","video_url": "https://displayads-formats.googleusercontent.com/ads/preview/content.js?client=ads-integrity-transparency","details_link": "https://adstransparency.google.com/advertiser/AR03056092225806008321/creative/CR17653238703880929281","source_url": "https://adstransparency.google.com/advertiser/AR03056092225806008321?region=anywhere"}
Tips for Best Results
Start With Working Inputs
- Use a confirmed advertiser page or domain search first
- Keep
results_wantedat20while validating a new target
Increase Coverage Carefully
- Raise
results_wantedonly after confirming data quality - Large domain searches may require multiple internal date windows to reach the requested count
Expect Field Variation
- Some creatives only expose
image_url - Some creatives only expose
video_url - Text-heavy creatives may not provide preview media
Integrations
Connect your data with:
- Google Sheets — Review creatives in a spreadsheet
- Airtable — Build a searchable ad archive
- Make — Automate monitoring workflows
- Zapier — Trigger alerts when new data appears
- Webhooks — Send results into your own systems
Export Formats
- JSON — For APIs and structured pipelines
- CSV — For spreadsheet analysis
- Excel — For reporting
- XML — For broader system integration
Frequently Asked Questions
What inputs are supported?
You can run the actor with a full Transparency Center URL, an advertiser ID, or a domain.
How many records can I collect?
The currently verified response window returns up to 100 records per query.
Why is image_url or video_url missing on some items?
Preview media depends on the creative type. Some records expose only one media format, and some expose neither.
Does the actor remove duplicates?
Yes. Records are deduplicated by creative_id before they are written.
Why are some fields missing from certain records?
The Transparency Center does not expose the same fields for every creative. Empty and null values are omitted from output.
Support
For issues or feature requests, use the Apify Console issue tracker or contact support.
Resources
Legal Notice
This actor is intended for legitimate research, monitoring, and compliance use cases. Users are responsible for ensuring their use complies with platform terms and applicable law.