Google Ads Scraper - Transparency Monitor
Pricing
$0.50 / 1,000 results
Google Ads Scraper - Transparency Monitor
Competitor ad intelligence for $0.50/1K results. Monitor new and removed Google, YouTube, Search, Display and Shopping ads, build swipe files, download creatives, and inspect copy, CTAs, landing pages, markets, platforms and dates.
Pricing
$0.50 / 1,000 results
Rating
5.0
(1)
Developer
VortexData
Maintained by CommunityActor stats
2
Bookmarked
16
Total users
6
Monthly active users
6 days ago
Last modified
Categories
Share
π― Google Ads Scraper - Competitor Monitor
Scrape public ads from the Google Ads Transparency Center by domain, company name, keyword, advertiser ID, or Transparency Center URL.
Use this Actor to build a clean competitor ads table with ad creatives, copy, CTAs, landing pages, active dates, preview media, downloaded creative files, OCR text, reach stats, and new/removed ad monitoring.
πΈ Price: $0.50 / 1,000 saved ads. No Google Ads account, no Google Ads API key, and no browser setup required.
β What You Can Get
| Data group | Example fields |
|---|---|
| π€ Advertiser | advertiserName, advertiserLegalName, advertiserId, advertiserRegionCode |
| π Creative | creativeId, format, adTransparencyUrl, preview |
| βοΈ Ad copy | headline, description, cta, text, textLines |
| π Landing pages | landingUrl, landingDomain, optional archived HTML in key-value store |
| π Activity dates | firstShown, lastShown, daysActive, isActive |
| π Reach stats | regions, platforms, impressionsMin, impressionsMax, targetingSummary |
| πΌοΈ Media | media, variantUrls, optional downloaded assets in key-value store |
| π OCR | ocrText for image ads, videoOcrText for video ads |
| π Monitoring | status, firstSeenAt, lastSeenAt, removedAt |
The default output is one practical π Ads table. The π Run report gives totals, top formats, top landing domains, long-running ads, performance stats, and next actions.
π― Best For
- Monitoring competitors' Google, YouTube, Search, Display, and Shopping ads.
- Building a swipe file of competitor creatives and landing pages.
- Finding fresh ad copy, CTAs, offers, formats, and active campaigns.
- Tracking new and removed creatives on a daily or weekly Apify Schedule.
- Exporting Google Ads Transparency Center data to CSV, Excel, JSON, Clay, n8n, or your own API workflow.
- Auditing advertisers by region, format, date range, platform, impression range, and targeting signals when Google exposes them.
π Quick Start
For a first run, fill only:
- π― Domains, names, IDs, or URLs - for example
nike.com,Shopify, or anAR...advertiser ID. - π’ Max ads - use
20for a cheap test. - Click Start.
Example input:
{"searchTargets": ["nike.com"],"resultsLimit": 20}
After the run, open π Ads table first. It contains the rows most users need without opening technical storage tabs.
π§ How To Choose Input
| Input type | Example | Best use |
|---|---|---|
| Domain | nike.com | Easy competitor research |
| Company name | Shopify | Quick brand lookup |
| Keyword | running shoes | Broader market discovery |
| Advertiser ID | AR08888592736429539329 | Most reliable for repeat runs and monitoring |
| Transparency Center URL | https://adstransparency.google.com/advertiser/... | Exact advertiser or exact creative |
| Creative URL | https://adstransparency.google.com/advertiser/AR.../creative/CR... | Fetch one known ad |
For scheduled monitoring, use exact AR... advertiser IDs whenever possible. They avoid ambiguity from brand search suggestions.
βοΈ Input Options
The input form is intentionally short. Start with competitors and a result limit, then enable only the extras you need.
| Field | What it does | Recommended use |
|---|---|---|
| π― Domains, names, IDs, or URLs | Competitors or exact Google Transparency targets. | Add one target per line. |
| π’ Max ads | Total saved rows across the whole run. | Use 20 for tests, 100-500 for normal research, 0 only for everything available. |
| π Country | Optional country filter. | Leave All countries for the broadest view. |
| ποΈ Ad format | Text, image, video, or all formats. | Leave All formats unless you need a specific creative type. |
| π Date range | Activity window. | Use Last 30 days for active campaign checks. |
| π¨ Download creative files | Saves direct media files to key-value store. | Enable for swipe files. |
| π Image OCR | Extracts text from image creatives. | Enable when image copy matters. |
| π¬ Video OCR | Extracts text from video frames or thumbnails. | Enable when video overlays matter. |
| π Archive landing pages | Saves HTML copies of decoded landing pages. | Enable when you need evidence or later review. |
| π Reach and targeting stats | Adds regions, platforms, impressions, and targeting flags. | Enable for the fullest competitor-intelligence rows. |
| π Track new and removed ads | Stateful monitoring across scheduled runs. | Enable for daily or weekly competitor watches. |
π Output
Each dataset item is one Google ad creative.
Common fields:
| Field | Meaning |
|---|---|
advertiserName / advertiserId | Google advertiser identity. |
creativeId | Stable Google creative ID. |
format | TEXT, IMAGE, or VIDEO. |
text, headline, description, cta | Decoded ad copy when Google exposes it. |
ocrText, videoOcrText | Optional text extracted from images or videos. |
landingUrl, landingDomain | Decoded destination when available. |
firstShown, lastShown, daysActive | Date range in YYYY-MM-DD format and active duration. |
regions, platforms, impressionsMin, impressionsMax | Optional Google-exposed reach stats. |
preview, media, assetUrl | Preview/media links and optional downloaded creative file. |
status | new, seen, or removed in monitor mode. |
adTransparencyUrl | Direct link to the ad in Google Ads Transparency Center. |
Example output item:
{"advertiserName": "Nike, Inc.","advertiserId": "AR16735076323512287233","creativeId": "CR01753144146295521281","format": "IMAGE","text": "Nike Running | New arrivals are here | Shop now","ocrText": "Run your best mile | New shoes available now","cta": "Shop now","landingUrl": "https://www.nike.com/","landingDomain": "nike.com","regions": ["United States"],"platforms": ["YouTube", "Google Search"],"impressionsMin": 1000,"impressionsMax": 2000,"firstShown": "2026-01-15","lastShown": "2026-03-18","daysActive": 62,"preview": "https://tpc.googlesyndication.com/archive/simgad/...","assetUrl": "https://api.apify.com/v2/key-value-stores/.../records/ASSET_...?signature=...","adTransparencyUrl": "https://adstransparency.google.com/advertiser/AR.../creative/CR..."}
Apify lets you download the dataset as JSON, CSV, Excel, JSONL, XML, RSS, HTML, or through the API.
π¨ Download Creative Files
Enable Download creative files when you need a saved swipe file instead of links that may disappear.
When Google exposes durable direct media URLs, the Actor stores files as ASSET_* records in the default key-value store and adds:
mediaDownloadedassetKeyassetUrlassetKeysassetUrlsassets
YouTube watch URLs and expiring googlevideo.com streams remain as links because they are not durable creative files.
π OCR For Image And Video Ads
Enable Image OCR to extract text baked into image creatives.
Image OCR adds:
ocrTextocrLinesocrSourceUrlsocrImagesCountocrStatus
Enable Video OCR to extract text overlays from video creatives. Direct video assets are sampled with ffmpeg when Google exposes them. YouTube-only video ads use public thumbnail OCR instead of downloading full YouTube videos.
Video OCR adds:
videoOcrTextvideoOcrLinesvideoOcrSourceUrlsvideoOcrFramesCountvideoOcrStatus
OCR is best-effort and adds extra CPU and network work, so leave it off for the fastest bulk exports.
π Archive Landing Pages
Enable Archive landing pages when you need proof of competitor landing pages, not just final URLs.
The Actor saves one HTML archive per unique decoded landing URL and adds:
landingPageDownloadedlandingPageKeylandingPageUrllandingPageStatuslandingPageContentTypelandingPageBytes
Landing-page archiving is optional because it fetches external websites and can slow large runs.
π Monitor New And Removed Ads
Enable Track new and removed ads, keep the same Monitor name, and run the Actor on an Apify Schedule.
Example:
{"searchTargets": ["AR08888592736429539329"],"resultsLimit": 100,"monitorMode": true,"monitorName": "NIKE_US"}
Monitor rows include:
status:new,seen, orremovedfirstSeenAtlastSeenAtremovedAt
With a limited run such as 20, 100, or 500, the Actor labels new and seen inside that sampled window. Accurate removed-ad detection requires a full advertiser scan with resultsLimit: 0 and maxPages: 0, because Google's top-results window can shift between runs.
Monitor state is stored in the named key-value store google-ads-monitor-state and mirrored into the run's default key-value store for visibility.
β‘ Speed Benchmarks
Benchmarked on June 17-18, 2026. Times vary by advertiser, media volume, Google response speed, and enabled extras.
| Mode | Saved ads | Actor processing time | Full Apify run time | Notes |
|---|---|---|---|---|
| Default Ads table | 20 | 3.5s | 14.3s | Preview-rich rows, 0 Google 429s |
| Default Ads table | 100 | 5.3s | 15.8s | Preview-rich rows, direct connection only |
| Default Ads table | 500 | 42.1s | 54.5s | Preview-rich rows, direct connection only |
| Reach and targeting stats | 100 | 21.4s | 23.6s | 100 enriched rows, 0 Google 429s |
| Reach and targeting stats | 500 | 122.3s | 125.2s | 500 enriched rows, 2 Google 429s recovered, 0 Residential traffic |
| All extras + reach stats | 20 | 10.3s | 20.8s | Assets, OCR, video OCR, landing archives, reach stats |
| All extras + reach stats + monitor | 500 | 124.5s | 135.6s | 500/500 enriched rows, 473 assets, 2 Google 429s recovered, 0 Residential traffic |
| Media-heavy all-extras run | 500 | 419.4s | 429.9s | 802 assets, 56 video OCR rows, 10 landing archives |
The default Ads table is the fastest mode. Reach stats, OCR, media downloads, video OCR, and landing-page archives are optional because they add detail lookups, downloads, CPU work, and storage writes.
π API Example
Use this Actor as a Google Ads Transparency Center API alternative.
curl -X POST "https://api.apify.com/v2/acts/vortex_data~google-ads/run-sync-get-dataset-items?format=json&clean=true&timeout=300" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchTargets": ["nike.com"],"resultsLimit": 20,"extractOcrText": true}'
Use the same input fields in API calls as in the Apify Console form.
π Clay And n8n
Clay
Use Clay's Apify integration:
- Add Run Apify Actor.
- Actor:
vortex_data/google-ads. - Input JSON:
{"searchTargets": ["nike.com"],"resultsLimit": 20,"extractOcrText": true}
Map fields such as advertiserName, format, text, ocrText, cta, landingDomain, firstShown, lastShown, preview, and adTransparencyUrl into your Clay table.
n8n
Import integrations/n8n-google-ads-monitor.json from this Actor source, set APIFY_TOKEN, and edit the JSON body in the Run Google Ads Monitor node.
For scheduled alerts, replace Manual Trigger with Schedule Trigger, keep monitorMode: true, and reuse the same monitorName.
{"searchTargets": ["AR08888592736429539329"],"resultsLimit": 100,"monitorMode": true,"monitorName": "COMPETITOR_US"}
β οΈ Notes And Limitations
- Google Ads Transparency Center is a public transparency UI, not an official bulk export API.
- Google does not expose exact impressions for every ad. When available, impressions are returned as ranges.
- Some ads do not expose copy, CTA, targeting, platform stats, media files, or landing URLs.
- Large repeated all-extras runs against the same advertiser can trigger temporary Google 429 responses. The Actor rotates warmed sessions, uses cheaper proxy routes first, and keeps Residential Proxy as a last rescue tier.
- Rich modes do not invent missing data. If Google does not expose a field, the Actor leaves it empty.
- Image and video OCR are best-effort. Video OCR does not transcribe speech.
- Landing-page archiving saves HTML only when the decoded destination returns an HTML page within safety limits.
- Signed
googlevideo.comURLs expire and are kept as links, not downloaded files. - Brand and keyword search depend on Google's advertiser suggestions. Exact
AR...IDs are more stable.
β FAQ
Can I search by domain?
Yes. Paste a domain such as nike.com or shopify.com. The Actor resolves matching Google advertiser accounts and scrapes their public ads.
Can I search by advertiser ID?
Yes. AR... advertiser IDs are the fastest and most reliable input, especially for scheduled monitoring.
Can I scrape one exact ad?
Yes. Paste a Google Ads Transparency Center creative URL containing both AR... and CR....
Does it support text, image, and video ads?
Yes. Leave Ad format set to All formats for normal competitor research, or filter to text, image, or video ads.
Can it download creatives?
Yes. Enable Download creative files. Direct durable images, thumbnails, videos, and HTML5 bundles are stored in the key-value store when Google exposes them.
Does it support OCR?
Yes. Image OCR and video OCR are optional. Leave them off for faster bulk runs.
Does it support landing pages?
Yes. The default table includes decoded landing URLs when available. Enable Archive landing pages to save HTML snapshots.
Do I need a Google Ads account?
No. The Actor uses public Google Ads Transparency Center data.
Is this affiliated with Google?
No. This Actor is not affiliated with Google. Users are responsible for using scraped data lawfully and respecting applicable rules.
π§― Support
If a run returns fewer ads than expected, open the run log and check the target, country, format, date range, and result limit first. For repeatable monitoring, prefer exact AR... advertiser IDs.
Need help with a run? Open the Issues tab and include the run ID, input target, expected result count, and whether optional extras were enabled.