Google Ads Analyzer
Pricing
$10.00 / 1,000 results
Google Ads Analyzer
Extract ad data from Google Ads Transparency Center by domain. Three modes: FULL (basic data), OCR (AI text extraction from images - headlines, descriptions, URLs), and LITE (summary counts). Filter by date range and region. Perfect for competitor analysis and ad research.
Pricing
$10.00 / 1,000 results
Rating
1.0
(1)
Developer
Traffic Architect
Actor stats
1
Bookmarked
23
Total users
7
Monthly active users
6 days ago
Last modified
Categories
Share
Google Ads Scraper - Extract Ads from Google Ads Transparency Center
Scrape and extract ad data from the Google Ads Transparency Center by domain name. This Google Ads scraper gives you impression stats, targeting info, platform breakdowns, advertiser details, and optionally extracts ad copy text via OCR - perfect for competitor ad analysis, ad spy research, and market intelligence.
What data does this Google Ads extractor return?
- Impression ranges (min/max) per region and per platform
- Platform breakdown - Google Search, YouTube, Maps, Shopping, Display
- Targeting info - demographics, locations, contextual signals, customer lists, topics of interest
- Advertiser details - legal name, region code, verification info
- Ad metadata - format (TEXT/IMAGE/VIDEO), topic category, first/last shown dates
- Ad copy text (OCR mode) - extract headlines, descriptions, and CTAs from ad creative images
Don't need OCR? amernas/google-ads-transparency-analyzer provides the same data without OCR, using a lighter Docker image.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keywords | string | Yes | - | Domain name (e.g. clay.com) or full Google Ads Transparency URL |
runMode | string | No | FULL | FULL for detailed ads, OCR for ads + text extraction, LITE for format counts only |
dateRangePreset | string | No | ANYTIME | ANYTIME, LAST_7_DAYS, LAST_30_DAYS, or CUSTOM_RANGE |
customStartDate | string | No | - | Start date YYYY-MM-DD (only with CUSTOM_RANGE) |
customEndDate | string | No | - | End date YYYY-MM-DD (only with CUSTOM_RANGE) |
count | integer | No | 10 | Max number of ad creatives to retrieve |
region | string | No | anywhere | Region code to filter by (e.g. US, GB, DE) |
proxyConfig | object | No | Apify Proxy | Proxy configuration |
Example input
{"keywords": "clay.com","runMode": "FULL","dateRangePreset": "LAST_30_DAYS","count": 10,"region": "US"}
Output
FULL mode - ad details with impression data
Each item in the dataset represents one ad creative with full stats:
{"url": "https://adstransparency.google.com/advertiser/AR04896.../creative/CR03301...?region=anywhere","advertiserId": "AR04896179704312102913","creativeId": "CR03301252824532254721","type": "VIDEO","lastShown": "2026-04-02T19:36:54.000Z","topic": 10005,"targeting": {"demographics": { "including": true, "excluding": false },"locations": { "including": true, "excluding": false },"contextualSignals": { "including": true, "excluding": true },"customerLists": { "including": true, "excluding": false },"topicsOfInterest": { "including": true, "excluding": false }},"stats": {"byRegion": [{"name": "Greece","shortCode": "GR","firstShown": "2024-06-15","lastShown": "2026-04-02","impression": { "min": 350000, "max": 400000 },"byPlatform": [{ "name": "Youtube", "impression": { "min": 350000, "max": 400000 } }]}],"byPlatform": [{ "name": "Youtube", "impression": { "min": 350000, "max": 400000 } }]},"advertiser": {"id": "AR04896179704312102913","name": "Michalakou Panagiota-Nikoletta","regionCode": "GR","legalName": "Michalakou Panagiota-Nikoletta"},"variants": [],"originalKeyword": "pharm16.gr"}
OCR mode - ad copy text extraction
Same as FULL mode, with an additional ocrData field containing extracted ad copy:
{"ocrData": {"rawText": "Sponsored\nclay.com\nAutomate Inbound\nScore and route leads automatically.","ocrError": null}}
LITE mode - quick ad format counts
Returns format counts per domain without fetching individual ad details:
{"originalKeyword": "clay.com","keyword": "clay.com","advertisersFound": { "AR123...": "Clay Inc." },"textCreativeCount": 15,"imageCreativeCount": 8,"videoCreativeCount": 3,"unknownFormatCount": 0,"regionSearched": "US","totalCreativesCountedFromSearch": 26}
Use cases
- Competitor ad spy - see what ads competitors are running, where, and how many impressions they get
- Ad copy research - extract headlines, descriptions, and CTAs from ad creatives using OCR mode
- Google Ads market research - discover which platforms and regions a brand focuses on
- Ad monitoring and tracking - track when ads appear and disappear across regions
- Advertiser compliance audit - verify advertiser identity, legal name, and targeting practices
FAQ
How do I scrape Google Ads for a competitor's domain?
Set the keywords field to the competitor's domain (e.g. competitor.com). The scraper searches the Google Ads Transparency Center and returns all active ad creatives, impression counts, and targeting details for that domain.
What is the Google Ads Transparency Center?
The Google Ads Transparency Center is Google's public database of all ads running across Google Search, YouTube, Maps, Shopping, and Display. Anyone can look up ads by advertiser or domain. This scraper automates that lookup and extracts structured data.
Can I get exact impression counts?
Google reports impressions as ranges (e.g. 350,000-400,000), not exact numbers. This is how the Transparency Center works - the scraper returns the min/max range as reported by Google.
Can I extract ad copy text (headlines, descriptions, CTAs)?
Yes - use runMode: "OCR". The scraper captures ad creative preview images and runs OCR to extract visible text. Accuracy depends on image quality. For text ads, Google serves JavaScript-rendered previews that don't always produce clean OCR output.
What platforms are covered?
Google Search, YouTube, Google Maps, Google Shopping, and Google Display Network. The scraper returns impression breakdowns per platform for each ad creative.
Can I filter ads by country or region?
Yes - set the region field to a country code like US, GB, DE, FR, etc. Use anywhere (default) to see ads across all regions.
How is this different from google-ads-transparency-analyzer?
This actor (google-ads-analyzer) includes OCR-based ad copy extraction. If you don't need ad text, use amernas/google-ads-transparency-analyzer - it's a lighter image with the same data minus OCR.
Can I scrape ads for multiple domains?
Currently the actor accepts one domain per run. To scrape multiple domains, trigger separate runs or use the Apify API to orchestrate batch runs.
Limitations
- Ad copy text is extracted via OCR from preview images, so accuracy depends on image quality. Not all creatives have extractable preview images.
- Video URLs are not directly exposed by the Google Ads Transparency Center.
- Impression data is provided as ranges (min/max), not exact numbers - this is how Google reports it.
Feedback
If you have any issues or feature requests, please reach out through the Apify console.