Google Ads Transparency Center Scraper avatar

Google Ads Transparency Center Scraper

Pricing

from $1.00 / 1,000 result items

Go to Apify Store
Google Ads Transparency Center Scraper

Google Ads Transparency Center Scraper

Collect Google Ads Transparency Center records for advertiser research and ad creative monitoring. Export structured transparency data for supported regions and queries.

Pricing

from $1.00 / 1,000 result items

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Scrape structured ad creative data from the Google Ads Transparency Center by advertiser or domain.

This Actor is built for researchers, marketers, and competitive intelligence teams that need Google ad transparency data in a clean dataset instead of manually searching the Transparency Center UI.

  • Search Google Ads Transparency Center by domain or advertiser
  • Collect advertiser names, advertiser IDs, creative IDs, formats, preview URLs, detail URLs, first/last shown dates, and destination fields when available
  • Choose a target region such as VN, US, DE, JP, or SG
  • Optionally fetch creative details and parse variant content
  • Use Apify Proxy or custom proxy settings for live requests
  • Export results as JSON, CSV, Excel, XML, or connect them to automations and AI workflows

Why this Actor exists

Google Ads Transparency Center is useful for competitor research, ad monitoring, brand safety checks, and market analysis, but the browser interface is not designed for repeatable exports.

This Actor turns Transparency Center lookups into structured rows that can be scheduled, compared, filtered, and sent into downstream tools.

The current production scope is:

  • Source: Google Ads Transparency Center
  • Search modes: domain and advertiser
  • Default region: VN
  • Other supported region input: any two-letter region code accepted by the live Transparency Center flow
  • Output: creative-level dataset rows with advertiser, creative, preview, detail, variant, and summary fields
  • Pricing event: charged per final dataset item written by the Actor

What you can do with it

1. Monitor ads for a domain

Search a domain and collect the available Google Ads Transparency Center creatives for that target.

Example input:

{
"runMode": "real",
"region": "VN",
"targets": [
{
"searchMode": "domain",
"searchValue": "nike.com",
"targetLabel": "Nike domain"
}
],
"maxCreativesPerTarget": 20,
"includeCreativeDetails": true,
"includeVariantContent": true
}

Example output item:

{
"runId": "abc123",
"region": "VN",
"searchMode": "domain",
"searchValue": "nike.com",
"targetLabel": "Nike domain",
"advertiserId": "AR03132760982632267777",
"advertiserName": "Nike",
"advertiserCountryRaw": "US",
"creativeId": "CR17251863590479069185",
"detailUrl": "https://adstransparency.google.com/advertiser/AR03132760982632267777/creative/CR17251863590479069185",
"dedupeKey": "VN:domain:nike.com:CR17251863590479069185",
"previewUrl": "https://adstransparency.google.com/...",
"formatCode": "text",
"firstShownRaw": "2026-06-01",
"lastShownRaw": "2026-07-01",
"resultCountLower": 1,
"resultCountUpper": 100,
"variantCount": 1,
"headline": "Example ad headline",
"description": "Example ad description",
"destinationUrl": "https://www.nike.com/",
"visibleUrl": "nike.com",
"redirectUrl": null,
"videoId": null,
"channelName": null,
"channelIcon": null,
"variantParseSource": "https://...",
"warnings": [],
"scrapedAt": "2026-07-11T01:00:00Z"
}

2. Research advertiser activity

Use advertiser mode when you already know the advertiser value you want to investigate.

Example input:

{
"runMode": "real",
"region": "US",
"targets": [
{
"searchMode": "advertiser",
"searchValue": "Nike",
"targetLabel": "Nike advertiser search"
}
],
"maxCreativesPerTarget": 30,
"includeCreativeDetails": true,
"includeVariantContent": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Typical use cases:

  • Google Ads competitor monitoring
  • advertiser discovery
  • ad creative research
  • market-entry research
  • regulated advertising checks
  • brand safety and transparency reviews
  • tracking advertiser messaging over time

3. Compare ad transparency data across regions

Run the same domain or advertiser lookup with different region values to compare what the Transparency Center returns for each market.

Example scheduled input:

{
"runMode": "real",
"region": "SG",
"targets": [
{
"searchMode": "domain",
"searchValue": "example.com",
"targetLabel": "Example Singapore check"
}
],
"maxCreativesPerTarget": 50
}

This is useful for:

  • country-level ad monitoring
  • international competitor research
  • compliance review by market
  • detecting differences in advertiser presence across regions

4. Feed Google Ads transparency data into automation or AI workflows

You can run this Actor from:

  • Apify schedules
  • Apify API
  • Make
  • Zapier
  • n8n
  • Google Sheets pipelines
  • MCP-connected AI assistants such as Claude, ChatGPT, or Cursor

Input

FieldTypeDefaultDescription
runModestringfixtureUse fixture for deterministic smoke tests or real for live Google Ads Transparency Center requests.
regionstringVNTwo-letter Transparency Center region code. Examples: VN, US, DE, JP, SG.
targetsarrayrequiredOne or more search targets. Each target uses searchMode, searchValue, and optional targetLabel.
targets[].searchModestringrequiredSupported values: domain or advertiser.
targets[].searchValuestringrequiredDomain or advertiser value sent to the Transparency Center.
targets[].targetLabelstringoptionalFriendly reporting label copied into output rows.
maxCreativesPerTargetinteger30Maximum creatives emitted per target. Current maximum is 100.
includeCreativeDetailsbooleantrueFetch and merge GetCreativeById detail payloads when available.
includeVariantContentbooleantrueFetch and parse creative variant content when available.
includeRawJsonbooleanfalsePreserve raw RPC payload fragments in nullable dataset fields.
fixturesobjectoptionalOptional fixture override for deterministic validation. When omitted in fixture mode, built-in smoke payloads are used.
proxyConfigurationobjectApify residential proxyApify Proxy or custom proxy configuration for live requests.
sessionobjectoptionalOptional live-mode session material such as cookies, headers, and user agent.
rpcIdsobjectoptionalOptional RPC ID overrides for Transparency Center endpoints.
baseUrlstringhttps://adstransparency.google.comOptional origin override. Leave unchanged for production.
requestTimeoutSecsnumber30HTTP timeout for live requests.
debugbooleanfalseEnable extra debug logging.
keepDebugArtifactsbooleanfalseKeep intermediate artifacts instead of cleaning them after the run.

Output

Each dataset item represents one Google Ads Transparency Center creative row.

Main fields:

  • runId
  • region
  • searchMode
  • searchValue
  • targetLabel
  • advertiserId
  • advertiserName
  • advertiserCountryRaw
  • creativeId
  • detailUrl
  • dedupeKey
  • previewUrl
  • formatCode
  • firstShownRaw
  • lastShownRaw
  • resultCountLower
  • resultCountUpper
  • variantCount
  • headline
  • description
  • destinationUrl
  • visibleUrl
  • redirectUrl
  • videoId
  • channelName
  • channelIcon
  • variantParseSource
  • warnings
  • scrapedAt

Optional raw fields are available when includeRawJson=true:

  • rawSearchCreativesJson
  • rawCreativeJson
  • rawAdvertiserJson

The Actor also writes a key-value store record:

  • RUN_SUMMARY - item count, run mode, region, search target, proxy metadata for live runs, warning count, and charge event information

Fixture mode vs real mode

This Actor supports two run modes.

Fixture mode

fixture mode is the default. It uses built-in smoke payloads packaged with the Actor and is useful for:

  • quick schema checks
  • deterministic validation
  • verifying output format
  • low-risk release testing

Fixture mode does not prove that the live Google endpoint is currently returning data for your target.

Real mode

real mode sends live requests to Google Ads Transparency Center.

Use real mode when you need current ad transparency data:

{
"runMode": "real",
"region": "VN",
"targets": [
{
"searchMode": "domain",
"searchValue": "nike.com"
}
],
"maxCreativesPerTarget": 10
}

Proxy and session settings

The default input uses Apify Proxy with the RESIDENTIAL group for live-mode resilience.

Recommended live run with country routing:

{
"runMode": "real",
"region": "VN",
"targets": [
{
"searchMode": "domain",
"searchValue": "nike.com",
"targetLabel": "Nike Vietnam check"
}
],
"maxCreativesPerTarget": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "VN"
}
}

If you already have valid session material, you can pass cookies, headers, or a user agent in the session object. Leave baseUrl unchanged unless you are testing a controlled environment.

Live-view web server OpenAPI schema

This Actor includes a real Actor Standby / Live-view web server schema at:

.actor/openapi.json

The schema is published and validated through .actor/actor.json:

{
"usesStandbyMode": true,
"webServerSchema": "./openapi.json"
}

Documented Standby endpoints:

  • GET / - service information and Apify readiness-probe response
  • GET /health - health check
  • GET /input-example - fixture and live request examples
  • GET /openapi.json - returns the OpenAPI document packaged with the Actor
  • POST /search - runs a bounded Google Ads Transparency creative search from an HTTP request body
  • POST /run - runs the Actor with the full Google Ads Transparency Center input contract

For deterministic low-cost validation, use POST /search with runMode: "fixture". For live Google Ads Transparency Center data, use a small maxCreativesPerTarget value and a residential proxy region matching the selected country.

How to use on Apify

  1. Open the Actor on Apify.
  2. Click Try for free.
  3. Set runMode to real for live Google Ads Transparency Center data.
  4. Choose the region you want to query.
  5. Add one or more targets with searchMode set to domain or advertiser.
  6. Keep maxCreativesPerTarget low for a small first run.
  7. Run the Actor.
  8. Download the dataset as JSON, CSV, Excel, or connect it to another tool.

Example automation input

Low-cost live domain check:

{
"runMode": "real",
"region": "VN",
"targets": [
{
"searchMode": "domain",
"searchValue": "nike.com",
"targetLabel": "Nike domain"
}
],
"maxCreativesPerTarget": 5,
"includeCreativeDetails": true,
"includeVariantContent": true
}

Advertiser search:

{
"runMode": "real",
"region": "US",
"targets": [
{
"searchMode": "advertiser",
"searchValue": "Nike",
"targetLabel": "Nike advertiser"
}
],
"maxCreativesPerTarget": 20
}

Deterministic smoke test:

{
"runMode": "fixture",
"region": "VN",
"targets": [
{
"searchMode": "domain",
"searchValue": "example.com",
"targetLabel": "Fixture smoke"
}
],
"maxCreativesPerTarget": 2
}

Data source

This Actor collects data from the public Google Ads Transparency Center surface at:

https://adstransparency.google.com

It is intended for current ad transparency research and monitoring. It does not provide private Google Ads account data, campaign spend, conversion metrics, targeting settings, or historical data outside what the Transparency Center returns.

Notes and limits

  • Google can change Transparency Center RPC endpoints, response shapes, or anti-bot behavior.
  • Some domains or advertisers may return no creatives for a selected region.
  • Result counts are best interpreted as Transparency Center response bounds, not a complete billing or campaign report.
  • Variant parsing is best-effort and depends on the preview/detail payloads returned for each creative.
  • Live output can vary by region, proxy, time, and Google-side availability.
  • Use fixture mode for release validation and real mode for current data.
  • Start with a low maxCreativesPerTarget, then scale after confirming the target returns useful results.

Developer usage

Apify API

curl "https://api.apify.com/v2/acts/lentic_clockss~google-ads-transparency-center-vn/runs?token=YOUR_TOKEN" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"runMode": "real",
"region": "VN",
"targets": [
{
"searchMode": "domain",
"searchValue": "nike.com",
"targetLabel": "Nike domain"
}
],
"maxCreativesPerTarget": 10
}'

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("lentic_clockss/google-ads-transparency-center-vn").call(run_input={
"runMode": "real",
"region": "VN",
"targets": [
{
"searchMode": "domain",
"searchValue": "nike.com",
"targetLabel": "Nike domain",
}
],
"maxCreativesPerTarget": 10,
})
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(items[:2])

MCP / AI assistants

Use the Actor ID:

lentic_clockss/google-ads-transparency-center-vn

Example tool input:

{
"runMode": "real",
"region": "VN",
"targets": [
{
"searchMode": "domain",
"searchValue": "nike.com"
}
],
"maxCreativesPerTarget": 5
}

Summary

Use this Actor when you need a Google Ads Transparency Center scraper that turns domain or advertiser lookups into structured creative-level data.

It is optimized for:

  • Google Ads Transparency Center scraping
  • domain-based ad monitoring
  • advertiser research
  • competitor ad creative analysis
  • regional ad transparency checks
  • structured export for analytics, compliance review, and automation