Google Ads Transparency Scraper — Creatives & Run Dates
DeprecatedPricing
from $3.00 / 1,000 scraped ads
Google Ads Transparency Scraper — Creatives & Run Dates
DeprecatedScrape Google Ads Transparency Center ads by domain or advertiser name, with advertiser, ad ID, format, preview image, regions and first and last shown dates. Works with Apify MCP and the API.
Pricing
from $3.00 / 1,000 scraped ads
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
57
Total users
8
Monthly active users
6 hours ago
Last modified
Categories
Share
What is Google Ads Transparency Scraper?
Google Ads Transparency Scraper turns a company domain, an advertiser name or an advertiser page link into one row per ad from the Google Ads Transparency Center. Each row contains the source advertiser and creative IDs, format, and available preview/date fields. Missing fields remain absent. A source page lets you check each creative. Marketers, agencies, competitive-intelligence teams and AI agents use it to see which ads a competitor runs on Google Search, YouTube and display, with no Google account or API key.
Why marketers use it for competitor ad research
- Any competitor, three ways in. Search by domain like
hubspot.com, by advertiser name likeCoca-Cola, or paste an advertiser page link. - Reported date ranges.
first_shown_dateandlast_shown_datepreserve dates returned by the source. Availability varies by route, region and creative variation; duration alone does not establish performance. - Format and market filters. Narrow to text, image or video ads, and to a country such as
US,GB,DEorANY. - Verified advertiser identity.
advertiser_nameandadvertiser_idcome from Google's own verification, so related brands stay separate. - Pay per ad. One charge per ad saved.
How to use it
All recent ads for a competitor's domain in the US:
{"searchQuery": "hubspot.com","searchType": "domain","countryCode": "US","maxResults": 50}
Image ads by advertiser name, worldwide:
{"searchQuery": "Shopify","searchType": "advertiserName","countryCode": "ANY","adFormat": "IMAGE","maxResults": 25}
| Input | What it controls |
|---|---|
searchQuery | A domain such as nike.com, or a brand name such as Nike |
searchType | domain for a website, advertiserName for a brand name |
startUrls | Advertiser page links, such as https://adstransparency.google.com/advertiser/AR16735076323512287233?region=US |
countryCode | Two-letter country code, or ANY for all regions (default US) |
adFormat | ALL, TEXT, IMAGE or VIDEO |
maxResults | Ads to save (default 50) |
enrichDetails | Visit each ad's page for extra detail (default on) |
Want the ads running on Google Search right now for a keyword? Continue with Google Ads Scraper linked below.
Output: Google ads data you receive
A real row from a nike.com search in the US:
{"advertiser_name": "Nike, Inc.","advertiser_id": "AR16735076323512287233","advertiser_domain": "nike.com","ad_id": "CR17050812151263920129","ad_format": "TEXT","ad_image_url": "https://tpc.googlesyndication.com/archive/simgad/10633112158864726501","regions_shown": ["US"],"first_shown_date": "2022-11-30","last_shown_date": "2026-10-01","is_political_ad": false,"scraped_at": "2026-10-01T06:12:34.809Z","source_url": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR17050812151263920129"}
| Field | What it contains |
|---|---|
advertiser_name, advertiser_id | Google-verified advertiser and its ID |
advertiser_domain | The domain you searched, in domain mode |
ad_id, ad_format | Creative ID and format: TEXT, IMAGE or VIDEO |
ad_image_url | Preview image of the ad, when Google provides one |
regions_shown | Regions explicitly exposed by the detail page; empty when unavailable. The requested country filter is reported in OUTPUT.countryCode. |
first_shown_date, last_shown_date | Valid source-reported dates in YYYY-MM-DD form, when available. Public detail pages may expose only last shown. |
is_political_ad | Whether Google lists it as a political ad |
source_url, scraped_at | The ad's Transparency Center page and collection time |
Preview images are optional. A missing image does not establish that an ad is invalid; text/video creatives and preview-only renderers may not expose a direct image. The native fallback associates media only with that creative’s own card. Headline/body copy, landing pages and platform values remain absent unless the source supplies them.
OUTPUT in the default key-value store reports the run outcome, ads saved and the advertiser matched for name searches.
Example workflow: a quarterly competitor ad review
A SaaS marketing team reviews four competitors each quarter. They run each domain with maxResults at 100 and sort by first_shown_date to see which ads have run the longest. They open the long-running source_url pages to read the copy and note the angles that stick. They compare ad_format counts to see who is investing in video. Then they check Google Ads Scraper for their core keywords to see which of those ads appear in live search results.
Pricing
This Actor uses Pay per event plus Apify platform usage. You pay one event per ad saved, plus a start event and the platform usage of the run. The live Pricing tab on this page shows the current price.
- 4 competitors × 25 ads = 100 ad events + platform usage.
maxResultscaps each run, so it doubles as a cost ceiling.- Format filters inspect a bounded source sample of up to five times the remaining result limit (maximum 1,000 source records per provider call). A partial outcome identifies a scan cap. The provider bills its retrieved source records, including records excluded by your format filter.
- One combined provider charge budget covers the run. Each child call reserves its full cap; remaining sources stop with a partial outcome if that budget is exhausted. The parent Max charge setting applies to the parent run; child charges are separate and bounded by
OUTPUT.providerBudgetUsd. - Searches are fulfilled through a specialist Ads Transparency Actor on Apify, which runs in your account with its own small per-ad charge shown in your usage.
Ad research with AI agents (MCP)
Connect this Actor to an AI agent through Apify MCP and ask in plain language:
Show me the video ads Salesforce has run in the US, and which ones have been running the longest.
Agent checklist:
- Use
searchType: "domain"for a website, or"advertiserName"for a brand name. - Set
countryCodeandadFormatto match the question; keepmaxResultssmall for quick answers. - Read rows with
get-dataset-items; sort byfirst_shown_datefor long-running ads. - Share
source_urlso the user can view each ad.
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~google-ads-transparency-scraper/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQuery": "canva.com", "searchType": "domain", "countryCode": "US", "adFormat": "VIDEO", "maxResults": 20}'
Related ad intelligence tools from the same developer
| Your next step | Use | Why |
|---|---|---|
| When you then want live search ads for a keyword | Google Ads Scraper | Sponsored results with copy and position |
| When you research Facebook and Instagram ads | Meta Ad Library Scraper | Meta ad creatives and run dates |
| When you research TikTok ads | TikTok Ads Scraper | Top TikTok ads with performance signals |
| When you research Pinterest ads | Pinterest Ads Library Scraper | Pinterest ad creatives and disclosed targeting |
Best results
| Starting situation | Helpful action | Expected outcome |
|---|---|---|
| You know the competitor's website | Use searchType: "domain" | Every ad tied to that domain |
| A brand with many local entities | Use searchType: "advertiserName" | Ads from the best-matching advertiser and its related accounts |
| A known advertiser page | Paste it into startUrls | Ads from exactly that advertiser |
| Researching one market | Set countryCode | Ads shown in that country |
Builder's note
I found that the most useful signal in a competitor's ads is how long each one keeps running, so every row carries first_shown_date and last_shown_date. I learned that brand names often map to several verified advertisers, so name searches pick the advertiser with the most ads and keep each advertiser's own name on its rows.
FAQ
Do I need a Google Ads account?
No. The Transparency Center is public, and the Actor needs no login or API key.
Does it show ad text and headlines?
Rows include the ad's preview image when Google provides one, plus a source_url that opens the full ad in the Transparency Center.
Which countries can I filter by?
Any two-letter country code Google supports, such as US, GB, DE, FR or IN, or ANY for all regions.
What happens if an advertiser has no ads?
You get zero rows and an outcome of VALID_EMPTY, at no ad charge.
Can I track a competitor every week?
Yes. Save your input as a task and schedule it; compare ad_id values between runs to spot new ads.
Responsible use
This Actor collects public ad information from the Google Ads Transparency Center. Use it for competitive research and follow Google's terms. Read Apify's guide on whether web scraping is legal for more context. Google is a trademark of Google LLC. This independent Actor is not affiliated with, associated with, or endorsed by Google. For questions or bugs, open a ticket in the Issues tab.