Google Ads Scraper avatar

Google Ads Scraper

Pricing

from $0.70 / 1,000 scraped ads

Go to Apify Store
Google Ads Scraper

Google Ads Scraper

Scrape Google Ads Transparency Center creatives from domains, keywords, advertiser IDs, or URLs. Export dates, formats, media URLs, copy, targeting, impressions, and platform filters for competitor research.

Pricing

from $0.70 / 1,000 scraped ads

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

22

Total users

10

Monthly active users

9 days ago

Last modified

Share

Google Ads Scraper extracts public ad creatives from the Google Ads Transparency Center. Add a domain, keyword, advertiser ID, creative ID, or Transparency Center URL, then export structured ad rows with advertiser IDs, creative IDs, formats, shown dates, media URLs, source URLs, and optional full ad details.

📦 Data you can export

Each item represents one Google Ads Transparency Center creative. Base rows and full-detail rows use the same shape, so downstream systems can read one stable schema.

Common fields include:

  • submittedTarget
  • advertiserId
  • advertiserName
  • advertiserLegalName
  • advertiserRegionCode
  • creativeId
  • format
  • adUrl
  • creativePreviewUrl
  • firstShown
  • lastShown
  • totalDaysShown
  • headline
  • body
  • displayUrl
  • destinationUrl
  • imageUrls
  • videoUrls
  • storedMedia
  • impressions
  • targeting
  • regionStats
  • platformStats
  • variants

Base rows include the monitoring fields that are available from search results. Full ad details try to add source-extractable copy, media arrays, targeting, impression bounds, variants, and region or platform stats when Google exposes them. Missing source fields stay null or empty arrays instead of being guessed.

🚀 How to run it

  1. Add one or more values in Targets. You can use domains such as nike.com, keywords, advertiser IDs, creative IDs with advertiser IDs, or Google Ads Transparency Center URLs.
  2. Set Maximum ads to cap saved creatives across all targets.
  3. Choose a Region or leave it worldwide.
  4. Optionally choose a Platform, Ad format, Start date, or End date.
  5. Keep Data to return set to Base rows for broad monitoring, or switch to Full ad details when you need copy, media, targeting, impressions, and variants.
  6. Leave Save media files off unless you need Apify-hosted copies of discovered images or videos.
  7. Run the Actor and export the dataset or use the results through the Apify API.

For a simple first run, keep the default nike.com target, region US, and Data to return set to Base rows.

⚙️ Input options

Targets is the only required input. Accepted values include:

[
"nike.com",
"AR16735076323512287233",
"AR16735076323512287233 CR03144551174665928705",
"https://adstransparency.google.com/?region=US&domain=nike.com"
]

Maximum ads limits the number of creative rows saved across the whole run.

Region filters ads by where Google reports they were shown. The default is US, and worldwide is also available.

Platform filters source results to all platforms, Google Search, YouTube, Google Shopping, Google Maps, or Google Play.

Ad format filters results to text, image, video, or shopping formats when the source distinguishes them.

Start date and End date keep ads whose shown date range overlaps your selected window.

Data to return controls cost and detail level. Base rows are for broad monitoring. Full ad details add an enrichment charge per creative when details are added.

Save media files stores discovered ad images and videos in Apify storage and returns stored links in storedMedia. Keep it off when source URLs are enough.

🧾 Output example

{
"submittedTarget": "nike.com",
"advertiserId": "AR16735076323512287233",
"advertiserName": "Nike, Inc.",
"advertiserLegalName": "Nike, Inc.",
"advertiserRegionCode": "US",
"creativeId": "CR06922336513384513537",
"format": "video",
"adUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR06922336513384513537",
"creativePreviewUrl": "https://displayads-formats.googleusercontent.com/ads/preview/content.html",
"firstShown": "2026-04-10",
"lastShown": "2026-06-17",
"totalDaysShown": 69,
"headline": "Nike summer running shoes",
"body": "Built for warm-weather miles.",
"displayUrl": "nike.com",
"destinationUrl": "https://www.nike.com/running",
"imageUrls": ["https://tpc.googlesyndication.com/archive/simgad/123456789"],
"videoUrls": ["https://rr1---sn.googlevideo.com/videoplayback/example"],
"storedMedia": [],
"impressions": {
"lowerBound": 1000,
"upperBound": 2000
},
"targeting": null,
"regionStats": [],
"platformStats": [],
"variants": []
}

💳 Pricing

This Actor uses pay-per-event pricing.

  • Scraped ad: charged for each Google Ads creative saved from the run.
  • Added ad detail: charged only when Data to return is set to Full ad details and enrichment is added for a creative.

Base rows are useful for broad monitoring. Full details are better when you need deeper analysis fields such as copy, media arrays, targeting, impressions, and variants.

🔌 Integrations

  • Use the Apify API to send Google Ads creative rows to your own app or data warehouse.
  • Schedule recurring runs to monitor brands, domains, or advertiser IDs.
  • Export results as JSON, CSV, Excel, XML, RSS, or HTML.
  • Connect webhooks to alert your team when a run finishes.
  • Send rows to BI tools, spreadsheets, CRM workflows, or internal reporting systems.

❓ FAQ

Do I need a Google Ads account?

No. The Actor works with public Google Ads Transparency Center data and does not need a Google Ads account, Google cookies, or a Google API key.

Is this a Google Ads library scraper?

Yes. It scrapes the public Google Ads Transparency Center, which many users call the Google Ads library. It does not scrape private Google Ads account data.

Can I search by advertiser ID or creative ID?

Yes. Add an advertiser ID such as AR16735076323512287233, or add an advertiser ID and creative ID pair when you know both IDs.

What is the difference between base rows and full ad details?

Base rows return monitoring fields such as IDs, advertiser name, format, shown dates, source URL, and preview or media URLs when available. Full ad details try to add source-extractable copy, richer media arrays, variants, targeting, impressions, and region or platform stats.

Are media files saved by default?

No. By default, the Actor returns source media URLs. Turn on Save media files only when you want discovered images or videos copied to Apify storage for the run.

Why are some fields empty?

Google Ads Transparency Center does not expose every field for every creative. Text copy, destination URLs, impression bounds, targeting, region stats, platform stats, and media links can be missing on some ads.

Can it scrape live Google Search ads?

No. This Actor scrapes the Google Ads Transparency Center archive. For live paid Shopping ads on Google Search result pages, use Google Shopping Ads Scraper from the related actors below.

Why not use the Google Ads API?

The Google Ads API is for account and campaign data you are authorized to access. This Actor is for public Transparency Center creative research across domains, advertisers, keywords, and Google Ads Transparency URLs.

What are Google Ads Transparency Center alternatives?

For live Shopping ads, use a Google Shopping ads scraper. For other ad libraries, use source-specific tools such as Facebook, TikTok, or LinkedIn ad scrapers when those sources match your research goal.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré