Google Ads Analyzer avatar

Google Ads Analyzer

Pricing

$10.00 / 1,000 results

Go to Apify Store
Google Ads Analyzer

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

Traffic Architect

Maintained by Community

Actor stats

1

Bookmarked

23

Total users

7

Monthly active users

6 days ago

Last modified

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

FieldTypeRequiredDefaultDescription
keywordsstringYes-Domain name (e.g. clay.com) or full Google Ads Transparency URL
runModestringNoFULLFULL for detailed ads, OCR for ads + text extraction, LITE for format counts only
dateRangePresetstringNoANYTIMEANYTIME, LAST_7_DAYS, LAST_30_DAYS, or CUSTOM_RANGE
customStartDatestringNo-Start date YYYY-MM-DD (only with CUSTOM_RANGE)
customEndDatestringNo-End date YYYY-MM-DD (only with CUSTOM_RANGE)
countintegerNo10Max number of ad creatives to retrieve
regionstringNoanywhereRegion code to filter by (e.g. US, GB, DE)
proxyConfigobjectNoApify ProxyProxy 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.