Google Ads Transparency Scraper: Ad Copy, Creatives & New Ads
Pricing
from $0.90 / 1,000 ads
Google Ads Transparency Scraper: Ad Copy, Creatives & New Ads
Search Google Ads Transparency Center by advertiser or domain. Export copy and media where available, filter by region/platform/date and monitor unseen ads. Coverage depends on limits and source access.
Pricing
from $0.90 / 1,000 ads
Rating
0.0
(0)
Developer
Datasmithlab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Export ads from the Google Ads Transparency Center with structured copy and media when Google provides them. Headlines, descriptions, sitelinks, CTA, Shopping product titles and YouTube IDs depend on the creative; image-rendered previews may have no copy fields.
Search by advertiser, domain or ID and filter by region, platform, format and date. Limits and source access determine coverage; this is not a guaranteed complete ad archive.
Quick start
Start with one domain, monitoring off and a small limit. Check TARGETS and HEALTH for access, pages and copy availability. Monitoring identifies previously unseen IDs, not necessarily newly published ads. Older ads missed by a limited first run can appear as new later.
{"queries": ["nike.com"],"region": "US","resultType": "ads","includeAdContent": true,"includeDetails": false,"onlyNewAds": false,"maxAdsPerTarget": 10,"maxItems": 10}
Track competitor ads in Google Sheets with n8n
Keep a daily creative log without duplicating saved ad IDs. Use the Sheets-only n8n starter with your own Apify and Google accounts; no Slack account is required.
Download the n8n starter ZIP · View the walkthrough · Read the setup guide
- Import the inactive workflow and create an Ads tab using the supplied headers.
- Set your competitor domain and spreadsheet ID, then select your Apify Header Auth and Google Sheets credentials.
- Run a small manual baseline and repeat test; then enable the daily schedule if the results are correct.
The starter launches one Actor run per execution, validates HEALTH/TARGETS and merges rows using scope + advertiser ID + ad ID. Defaults are a 20-ad snapshot, copy on, details off, Actor-side onlyNewAds=false and maxTotalChargeUsd=0.10. First-seen IDs are not verified newly published ads; older ads can appear later. This is not a complete inventory or a total-invoice guarantee. Self-hosted n8n must stay running, and executions should not overlap.
Fresh scraping, live Sheets delivery and actual scheduled execution were tested on local n8n 2.26.4. The final read-back contained 34 unique saved keys and zero duplicates. The walkthrough uses synthetic examples. The GitHub starter is not an approved n8n template-directory listing.
What you get
- Ad copy as fields. Search ads:
headline,description,displayUrl,businessNameandsitelinks(title + description). Image and video ads:headline,description,longHeadline,callToAction,displayUrl. Google Maps ads:headline,address. Shopping ads:productTitle,merchant,productImageUrl. YouTube ads:youtubeVideoId. - Core fields on returned ads (where available): advertiser name and ID, landing domain, format (TEXT / IMAGE / VIDEO), first and last shown dates, Google's days shown count, image or preview URL and a link to the ad on the Transparency Center. The
adTemplatefield says which kind of ad it is (search_text,local,shopping,rich_media,youtube,image). - Regions and variations (optional): the countries an ad was shown in with the last date, plus every variation of the creative.
- Filters: country (or anywhere), platform (YouTube, Google Maps), format (text, image, video), shown-from / shown-until dates.
- Only new ads. Turn on Only new ads since last run and schedule the Actor daily to get a feed of your competitors' new creatives. Make the first run large enough to cover the advertiser's current ads; anything the first run did not reach still counts as new later.
- Advertisers mode. One row per domain: is it advertising, how many ads Google reports and under which advertiser names. Or one row per advertiser matching a name, with country and ad count. Useful for lead lists and market maps.
- Reports in the run's key-value store:
TARGETS(status, pages and Google's total ad count per advertiser/domain) andHEALTH(requests, Google blocks, IP changes, ad types found, empty-field ratios).
How to search
| You want | Set |
|---|---|
| Ads landing on a site within your limits | Advertiser names, domains or IDs hubspot.com |
| A brand's ads | Nike (matched to the advertisers Google suggests; the ones with the most ads are used first) |
| One exact advertiser | Its ID, e.g. AR16735076323512287233, or paste its Transparency Center page |
| Only YouTube video ads in the UK | Platforms YouTube, Ad format Video, Region GB |
| Ads shown last month | Shown from / Shown until |
| Which of 500 domains advertise | Put them in Domains, set What to return to Advertisers |
Output example
{"adId": "CR01858916718210973697","advertiserId": "AR16735076323512287233","advertiserName": "Nike, Inc.","domain": "nike.com","format": "TEXT","firstShown": "2023-11-17T03:30:48Z","lastShown": "2026-10-07T07:45:42Z","daysShown": 799,"adTemplate": "search_text","headline": "The Latest Fleece Sweatpants - Browse Men's Bottoms","displayUrl": "www.nike.com/shop/fleece-sweats","description": "Be comfortable and confident in whatever you wear. Fleece sweats made to move with you. ...","businessName": "Nike","adUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR01858916718210973697?region=US","region": "US"}
Good to know
- Ad copy is available when Google publishes a preview. For many text ads Google only publishes a ready-made image of the ad, with no text behind it. Those rows come with
imageUrland no copy fields, and they are charged at the lower Ad price. How many ads have copy depends a lot on the advertiser: in our tests it ranged from about 5% (brands running mostly image-rendered search ads) to over 90% (Shopping-heavy retailers). TheHEALTHreport shows the split for every run. - Shopping prices are not available. Google shows
[Price]placeholders in its own previews, so no tool can read prices from the Transparency Center. Product title, merchant and product image are returned. - Text is returned as Google shows it, including dynamic keyword placeholders such as
{__PLACEHOLDER__}and descriptions Google already cut with.... - A proxy is required. Google shows a CAPTCHA to any single IP after a few dozen requests. The Actor uses Apify's residential proxy by default and, when that happens, waits a few seconds and switches to a new IP. It never solves CAPTCHAs; if Google keeps blocking after 5 IP changes, the run stops, keeps everything already collected (row charges apply to returned rows; start and applicable run costs still apply), and reports the target as
blocked. Datacenter proxies are cheaper but get blocked quickly on this site; keep the default unless you know your proxy works. - Advertiser names are published by Google. Google verifies advertisers and lists their legal names, which for some small advertisers is a person's name. The Actor returns ad data as Google publishes it; it is not a people-search tool and collects no contact details.
- Pasted URLs: only the advertiser or domain is taken from a Transparency Center URL. Use the Region, Platforms and date fields for filters.
Pricing
FREE-tier event rates checked on 11 October 2026 (FREE is the tier name, not a free run):
apify-actor-start: $0.001 per event.ad: $0.0015 per event.ad-with-content: $0.0025 per event.advertiser: $0.002 per event.
Start event count depends on memory: one per GB, minimum one. Zero output can still incur start and applicable run costs. Row prices do not guarantee the total invoice. Store pricing is authoritative; rates and tier discounts may change.
The content event replaces the basic ad event for that row; they are not added together.
Pay per row, plus a small start fee per run:
- Ad: an ad without extracted copy (for example an image-only ad).
- Ad with copy or details: an ad where real copy (headline, description, address, product title, CTA, sitelinks or YouTube ID) or regions/variations were found. A merchant name or URL alone does not count.
- Advertiser or domain check: one row in Advertisers mode.
Turn off Extract ad copy if you only need IDs, dates and images.
Feedback
Missing a field, a filter or an ad type? Open an issue on this Actor's page. We read every one and reply.
Not affiliated with or endorsed by Google. Google Ads is a trademark of Google LLC.