Google Ads Transparency Scraper: Ads and Creatives
Pricing
from $1.50 / 1,000 ads
Google Ads Transparency Scraper: Ads and Creatives
Scrape ads from the Google Ads Transparency Center by website domain, advertiser ID or advertiser name, with the ad content itself (headline, text, images, video links, display URL), ISO dates, exact limits and a monitoring mode for new creatives.
Pricing
from $1.50 / 1,000 ads
Rating
0.0
(0)
Developer
Aniruddha Garje
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Share
Export ads from the Google Ads Transparency Center by website domain, advertiser ID or advertiser name. You get the ad content itself where Google provides it. I built it on the same public endpoints the Transparency Center website uses, with plain HTTP requests and no login.
At a glance
| Use it when | You need the ads a website or advertiser runs on Google, from the Google Ads Transparency Center. |
| Input you need | At least one of domains, advertiserIds or searchTerms (advertiser names); optionally region, dateFrom, dateTo, onlyNewSince and exact limits. |
| What you get | One row per ad with advertiser, format, first and last shown dates, image and video links, and a contentStatus. |
| Cost | $1.50 per 1,000 ads; $3 per 1,000 downloaded images. |
| Limits | Most text ads come back as images, not separate words; the Actor does not read text out of images. |
I built this Actor and test it against what the live site shows. The check runs again every week.
What you get
One row per ad (creative):
| Field | Example |
|---|---|
advertiserId, advertiserName | AR16735076323512287233, Nike, Inc. |
creativeId, adUrl | CR00485485175946346497, link to the ad in the Transparency Center |
format | text, image or video, as the Transparency Center classifies it |
firstShown, lastShown, daysShown | ISO 8601 UTC timestamps, for example 2026-07-16T14:20:10Z |
firstShownDate, lastShownDate | The calendar dates exactly as the Transparency Center displays them (US Pacific time), for example 2026-07-16 |
targetDomain, region | nike.com, US |
searchTerm, matchScore | nike, 1.0 |
platform | youtube (the platform filter that found the ad, when you select specific platforms) |
headline, description, texts | The words shown in the ad |
displayUrl | www.nike.com/ |
imageUrl, imageUrls | The ad images (most text ads are published as one rendered image) |
videoIds, videoUrls | YouTube links for video ads |
contentStatus | ok, imageOnly, externallyHosted, notAvailable, previewFailed or none, so you always know what content came back |
assetKeys | Keys of saved images in the run's storage, when Download images is on |
What content to expect
Most text ads come back as images. Google publishes most text ads in the Transparency Center as one rendered image, not as separate words. For those ads the Actor returns the image URL and sets contentStatus to imageOnly. In a measured run of 4,578 ads on 7 October 2026:
| contentStatus | Share of ads |
|---|---|
imageOnly | 79.6% |
ok (text, images or video links read from the preview) | 14.3% |
notAvailable (a preview type the Actor does not read yet) | 6.1% |
externallyHosted (served by an outside ad server; preview link returned) | under 0.1% |
Of the 2,958 text ads in that run, 2,866 (96.9%) came back as images. Headline or ad text came back for about 7% of all ads (303 of 4,578), and image URLs for 83%. The Actor does not read text out of images.
Dates by region
firstShown, lastShown and daysShown came back for every ad in the regions we measured (US and anywhere, 8 October 2026). The Transparency Center
also shows, for each region separately, a first-shown date and impression ranges, but only for EU countries; outside
the EU it shows a per-region last-shown date only (checked on 8 October 2026). This Actor does not return those
per-region figures.
What this Actor handles for you
- Ad content, not only metadata. With Include creative content on (the default), each ad's preview is read and the headline, text, images, video links and display URL are returned in plain fields.
- No silent gaps. Content is read from the rendered preview Google itself shows. When an ad's content is a single image, the image URL is returned and
contentStatussaysimageOnly, so nothing is silently null. - Exact limits.
maxAdsPerAdvertiseris enforced exactly per advertiser, andmaxAdsPerDomainexactly per domain, including across several domains in one run. - Checked inputs and retried pages. Inputs are checked before any request, with a clear message. Rate-limit pages are detected and retried on a new IP rather than saved as empty data, and a failed page is reported in
RUN_STATSwhile the run continues with the rest. - Several domains, ISO dates and the site's own formats. Give several domains in one run; each domain has its own limit. Every date is ISO 8601.
formatis the value the Transparency Center's own format filter uses.
Input
| Field | Default | What it does |
|---|---|---|
domains | [] | Website domains, several per run |
advertiserIds | [] | Direct AR... IDs |
searchTerms | [] | Advertiser names. Every advertiser Google suggests is scored and saved in the SEARCH_MATCHES record |
minMatchScore | 1 | Score needed to scrape a suggested advertiser; 1 means the name matches exactly, ignoring legal forms such as Inc. or GmbH |
maxAdvertisersPerTerm | 3 | Best-scoring advertisers scraped per name, the one with the most ads first |
region | anywhere | Two-letter country code or anywhere |
dateFrom, dateTo | last 30 days | Shown window |
formats | all | text, image, video |
platforms | all | search, youtube, shopping, maps, play, using the Transparency Center's own platform filter |
includeCreativeContent | true | Headline, text, image and video URLs, display URL |
downloadAssets | false | Saves up to 3 images per ad to storage, as a separate paid event |
maxAdsPerAdvertiser | 100 | Enforced exactly; 0 means no limit |
maxAdsPerDomain | 200 | Enforced exactly per domain, across all advertisers of that domain; 0 means no limit |
onlyNewSince | Monitoring mode: only ads first shown after this time |
Pricing
Pay per result: $1.50 per 1,000 ads and $3 per 1,000 downloaded images. You pay only for rows and files actually saved, never for errors, retries or duplicates. If you set a maximum cost per run, the Actor stops cleanly when it is reached.
Monitoring competitors
Schedule a daily run for your competitors' domains with onlyNewSince set to the previous run's time, so each run returns only ads first shown after it.
Reliability
A restarted or migrated run resumes where it stopped and does not deliver or charge the same ad twice.
Use cases
Each one is a ready task you can open, run and copy:
- All Google ads for a company domain: every advertiser of one website, with format and first and last shown dates.
- Google ads with image and video links: the creatives themselves, with image URLs and YouTube links.
- Weekly monitor of new Google ads: only ads first shown after a date. Schedule it weekly and move the date forward.
You can also find long-running ads by sorting on daysShown, or look up a brand by name: every candidate advertiser is scored in SEARCH_MATCHES.
Read more
I write up what the data shows, with the run ID behind every number: