Google Ads Scraper avatar

Google Ads Scraper

Pricing

$0.50 / 1,000 results

Go to Apify Store
Google Ads Scraper

Google Ads Scraper

💰$0.50/1K result💰Spy on competitors’ winning Google Ads. Search by keyword or domain with hyper-accurate strict matching. Sort by days-active to instantly find their most profitable ads. Get full data: copy, CTAs, landing pages, YouTube previews, regions, and platforms.

Pricing

$0.50 / 1,000 results

Rating

5.0

(1)

Developer

VortexData

VortexData

Maintained by Community

Actor stats

2

Bookmarked

12

Total users

5

Monthly active users

5 days ago

Last modified

Share

Scrape public ads from the Google Ads Transparency Center by brand, domain, advertiser ID, or Transparency Center URL. Use this Actor to monitor competitors, collect ad creatives, analyze messaging, find landing pages, and track what brands are running across Google Search, YouTube, Display, Maps, Shopping, Gmail, Discover, and Google Play.

No Google login is required. Paste a company name, website, advertiser ID, or Transparency Center URL, click Start, and get a clean dataset with one row per ad creative.

✨ What Can This Google Ads Scraper Do?

✅ Search by brand, keyword, website domain, advertiser ID, or full Transparency Center URL
✅ Extract text, image, and video ads from Google Ads Transparency Center
✅ Collect ad copy, CTAs, landing URLs, thumbnails, media URLs, dates, formats, countries, platforms, and impression ranges when Google exposes them
✅ Filter by country, ad format, platform, and date range
✅ Track exact advertisers using stable AR... advertiser IDs
✅ Skip already-seen CR... creative IDs for scheduled monitoring
✅ Export results to JSON, CSV, Excel, API, Make, Zapier, n8n, or your own pipeline
✅ Run on schedule in Apify to monitor new competitor ads automatically

📊 What Data Can You Extract?

Data pointExample
Advertiser name and IDNike, Inc., AR16735076323512287233
Creative ID and formatCR01753144146295521281, IMAGE
Ad previewThumbnail URL shown in Apify Console
Ad copyHeadline, description, CTA, full text lines
Landing pageFinal landing URL and landing domain
DatesFirst shown, last shown, days active
Activity statusActive recently: true / false
CountriesUnited States, Canada, United Kingdom
PlatformsGoogle Search, YouTube, Display, Maps, Shopping
ImpressionsOverall and per-region ranges when available
TargetingReadable targeting summary when available
Source linksDirect Google Ads Transparency creative URL

🧭 How To Scrape Google Ads Transparency Center Data

1. Search By Brand Or Domain

{
"searchTargets": ["nike.com", "shopify"],
"resultsLimit": 50
}

Use domains for your first run. They are simple, readable, and usually map to the right advertiser suggestions.

2. Track An Exact Advertiser

{
"searchTargets": ["AR08888592736429539329"],
"resultsLimit": 200
}

Advertiser IDs are the best input for repeat monitoring because they skip name matching and go straight to the advertiser.

3. Paste A Google Ads Transparency URL

{
"searchTargets": [
"https://adstransparency.google.com/advertiser/AR08888592736429539329"
]
}

URL filters such as ?region=US&format=VIDEO&platform=YouTube are understood and override the global filters for that pasted URL.

4. Filter By Country, Format, Platform, And Date

{
"searchTargets": ["nike.com"],
"filterRegion": "US",
"filterFormat": "VIDEO",
"filterPlatform": "YOUTUBE",
"timeRangePreset": "LAST_30_DAYS",
"resultsLimit": 100
}

Platform filtering needs creative details, so Fast mode is automatically disabled when you choose a platform. This keeps matching complete instead of stopping after the first non-matching ads.

5. Monitor Only New Ads

{
"searchTargets": ["AR08888592736429539329"],
"excludeCreativeIds": "CR01129991885394280449\nCR08392736429539329",
"resultsLimit": 500
}

Paste creative IDs from a previous run. The Actor skips them before enrichment, which is useful for daily or weekly schedules.

🧾 Output Example

Each dataset row is one ad creative.

{
"advertiserName": "Nike, Inc.",
"advertiserId": "AR16735076323512287233",
"creativeId": "CR01753144146295521281",
"format": "IMAGE",
"adTransparencyUrl": "https://adstransparency.google.com/advertiser/AR.../creative/CR...",
"landingUrl": "https://www.nike.com/",
"landingDomain": "nike.com",
"isActive": true,
"firstShown": "2026-01-15",
"lastShown": "2026-03-18",
"daysActive": 62,
"regions": ["Canada", "United Kingdom", "United States"],
"platforms": ["Google Search", "YouTube"],
"impressionsMin": 1000,
"impressionsMax": 10000,
"headline": "Nike Running",
"description": "New arrivals are here",
"cta": "Shop now",
"text": "Nike Running | New arrivals are here | Shop now",
"preview": "https://tpc.googlesyndication.com/archive/simgad/...",
"media": ["https://tpc.googlesyndication.com/archive/simgad/..."],
"scrapedAt": "2026-05-29T10:00:00+00:00"
}

The Output tab includes:

🖼️ Visual preview - thumbnails, copy, advertiser, format, platforms, dates, and Google link
📦 All fields - every exported field for CSV, Excel, JSON, API, and downstream automation

⚙️ Input Settings

FieldDefaultWhat it does
searchTargetsrequired in UIBrand, keyword, domain, advertiser ID, or Google Ads Transparency Center URL. API aliases such as searchQuery, keywords, domains, and advertiserIds are also accepted.
resultsLimit50Max ads to save per advertiser. Use 0 for all available ads.
maxPages0Optional Google pagination cap. Each page contains up to 40 candidate ads; 0 means no page cap.
maxAdvertisersPerQuery3When searching by brand/domain/keyword, scrape this many matching advertisers.
filterRegionALLCountry filter. Use US, GB, DE, JP, or any ISO-2 country code. Country names such as United States also work.
filterFormatALLALL, TEXT, IMAGE, or VIDEO.
filterPlatformALLALL, YOUTUBE, SEARCH, DISPLAY, MAPS, SHOPPING, DISCOVER, GMAIL, or PLAY.
timeRangePresetALL_TIMELAST_7_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_YEAR, or ALL_TIME.
customStartDateemptyOptional YYYY-MM-DD; overrides the preset.
customEndDateemptyOptional YYYY-MM-DD; overrides the preset.
skipDetailsfalseFast listing-only mode. Omits ad text, landing URLs, platforms, impressions, and some media.
excludeCreativeIdsemptyOptional list/text/CSV of CR... IDs to skip in monitoring runs.
maxConcurrency4Parallel Google RPC calls. Higher can be faster, but may hit temporary Google limits.

💰 Pricing And Run Cost

This Actor uses pay-per-result pricing. You pay for saved dataset items, plus normal Apify platform usage. For most brand/domain runs, start with resultsLimit between 20 and 50 so you can confirm the advertiser match before collecting a larger dataset.

For the cheapest run, enable Fast mode (skipDetails=true). For the richest competitive intelligence dataset, leave Fast mode off so the Actor can fetch ad text, landing URLs, platform breakdowns, impressions, targeting summary, and media URLs where available.

🛡️ Proxy Handling

Proxy handling is managed internally and is not user-configurable. Google Transparency RPC traffic uses Apify Proxy automatic mode with US exit country, rotates sessions per request, and applies a global request-rate ceiling to reduce temporary Google rate limits. Public preview CDN assets are fetched directly first with managed fallback on rate limits, which keeps full-enrichment runs faster without adding proxy settings to the input form.

💡 Tips For Better Results

🎯 Use domains first: nike.com, shopify.com, apple.com
🔁 Use advertiser IDs for scheduled monitoring
🧪 Start small, then increase resultsLimit after you confirm the match
📌 Use excludeCreativeIds to collect only new ads over time
🌍 Use a country filter when you care about one market
🎬 Use platform filters when you specifically need YouTube, Search, Display, or Shopping placements

⚠️ Limitations

  • Google does not expose exact impression counts for every ad. When available, impressions are ranges.
  • Some HTML5 or dynamic creatives do not expose readable text or a landing URL in the public preview.
  • Some platform, targeting, or region breakdowns are missing from Google's response. Missing fields are omitted instead of filled with fake values.
  • Direct googlevideo.com streams are signed and expire, so the dataset keeps durable YouTube watch URLs and image URLs when possible.
  • Brand and domain searches use Google's advertiser suggestions. For the most stable monitoring, use the exact AR... advertiser ID.

❓ FAQ

Can I scrape Google Ads by keyword?

Yes. Add a brand name, keyword, domain, advertiser ID, or Transparency Center URL to searchTargets.

Can I scrape YouTube ads?

Yes. Set filterFormat to VIDEO and filterPlatform to YOUTUBE. YouTube/platform matching requires detailed creative data, so it can take longer than listing-only runs.

Can I run this Actor every day?

Yes. Save a task or schedule in Apify Console and use excludeCreativeIds from the previous dataset to return only new ads.

Can I use my own proxies?

No. Proxy handling is internal to keep runs simple and consistent.

Is this an official Google tool?

No. This Actor extracts publicly available data from Google's Ads Transparency Center. It is not affiliated with, endorsed by, or sponsored by Google or Alphabet Inc.

📝 Changelog

See the Changelog tab in Apify Console for recent changes, output updates, and compatibility notes.

This Actor extracts publicly available data from Google's Ads Transparency Center. Use the data responsibly and follow applicable laws, Google terms, and Apify platform rules.