Google Ads Transparency Center Scraper
Pricing
from $1.14 / 1,000 ad creative records
Google Ads Transparency Center Scraper
Scraper for public Google Ads Transparency Center creatives by domain or advertiser, with a detail lookup mode. No API key or login.
Pricing
from $1.14 / 1,000 ad creative records
Rating
0.0
(0)
Developer
Leonardo Santos
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
Search Google's public Ads Transparency Center by advertiser domain, company name, or AR advertiser id. Each ad becomes a typed row with advertiser and creative ids, preview URL, format, first/last shown dates, region and a stable detail URL. Detail mode resolves one AR/CR creative URL and counts its variants. No Google API key or login is required.
Why this actor?
- Direct public-data transport — calls the same JSON RPC surface as the Transparency Center instead of running a browser.
- Two useful modes — discover creatives with
search, then resolve one creative withdetail. - Typed, null-safe rows — optional fields are explicit
null; IDs and dates are normalized for data pipelines and agents. - Bounded billing —
maxResultsis enforced locally. Every successful row is pushed before its event is charged; errors and empty searches are free.
Input
{"mode": "search","query": "nike.com","region": "US","maxResults": 20}
query accepts a domain, advertiser name, or AR… id. In detail mode, pass
creativeUrl containing both the AR… advertiser id and CR… creative id.
Supported region presets are US, GB, CA, AU, DE, FR, BR, IN and JP; anywhere
removes the region filter. The hard result cap is 100 rows.
Output
One row per public ad creative:
{"recordType": "ad","mode": "search","query": "nike.com","advertiser_id": "AR16735076323512287233","advertiser_name": "Nike, Inc.","advertiser_domain": "nike.com","creative_id": "CR09057905879155736577","format": "image","preview_url": "https://tpc.googlesyndication.com/archive/simgad/…","preview_width": 348,"preview_height": 282,"first_shown": "2023-11-17T…Z","last_shown": "2026-09-07T…Z","advertiser_total_ads_min": 100000,"advertiser_total_ads_max": 200000,"variation_count": null,"region": "US","detail_url": "https://adstransparency.google.com/advertiser/AR…/creative/CR…?region=US","error": null,"scraped_at": "2026-09-07T…Z"}
Detail rows populate variation_count; fields Google does not return on that
RPC remain explicit null.
| Field | Meaning |
|---|---|
recordType | ad on successful rows; null on free error rows. |
mode | Requested search or detail mode. |
query | Search query, or the detail URL in detail mode. |
advertiser_id | Google's public AR… advertiser identifier. |
advertiser_name | Public advertiser name returned by Google. |
advertiser_domain | Normalized advertiser domain when available. |
creative_id | Google's public CR… creative identifier. |
format | image, text, video, or unknown. |
preview_url | Public creative preview or media URL. |
preview_width | Preview width in pixels when supplied upstream. |
preview_height | Preview height in pixels when supplied upstream. |
first_shown | Earliest public display timestamp when available. |
last_shown | Latest public display timestamp when available. |
advertiser_total_ads_min | Lower bound of Google's advertiser-result estimate. |
advertiser_total_ads_max | Upper bound of Google's advertiser-result estimate. |
variation_count | Number of creative variants in detail mode. |
region | Requested region code or anywhere. |
detail_url | Stable Transparency Center URL for the creative. |
error | Free per-run error message; null on successful rows. |
scraped_at | ISO 8601 time when the row was assembled. |
Pricing
Pricing
Pay per event, and the platform usage is on us — the price you see is the price you pay, with no compute bill on top.
| Event | Price | What one charge buys |
|---|---|---|
| Ad creative record | $0.00175 | Charged once per delivered public ad creative row. Rows are pushed before charging. Missing or invalid input, no-match searches, unsupported regions, upstream blocks, 5xx responses and timeouts are free error items and never charged. |
| Actor Start | $0.002 | One run, whatever it returns. |
Higher Apify subscription tiers pay less on every event (Silver −20%, Gold −35%).
Use cases
- Monitor when a competitor launches or retires creative variants.
- Build an image/text creative swipe file with stable advertiser and creative IDs.
- Compare ad formats and activity dates across regions.
- Feed normalized public-ad metadata into an LLM, MCP tool or warehouse.
FAQ
Does this use the Google Ads API? No. It reads the public Ads Transparency Center. No Google account, API key, or advertiser access is used.
What happens when no ads match? The actor delivers one free error row. A missing field, malformed creative URL, unsupported region, upstream block, server error or timeout is also free and never charged.
Does it download media or scrape personal data? No. It returns public advertiser and creative metadata plus preview links; it does not download ad media, collect contacts, log in, or access private campaign performance.
Independent tool; not affiliated with, endorsed by, or sponsored by Google LLC.