Google Ads Transparency Scraper avatar

Google Ads Transparency Scraper

Pricing

from $0.02 / 1,000 ad extracteds

Go to Apify Store
Google Ads Transparency Scraper

Google Ads Transparency Scraper

Scrape public Google Ads Transparency Center ads by advertiser, keyword, country, and date range. Export ad IDs, advertisers, media URLs, and shown dates.

Pricing

from $0.02 / 1,000 ad extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

Extract public ad creatives and metadata from Google Ads Transparency Center.

What does Google Ads Transparency Scraper do?

Google Ads Transparency Scraper collects public ads from the Google Ads Transparency Center for advertisers, brands, domains, or keywords.

It helps you monitor visible Google ad creatives without manually opening the Transparency Center, searching advertisers, scrolling results, and copying dates or media URLs.

Use it to build competitive ad libraries, compliance samples, agency reports, and repeatable brand-monitoring workflows.

Who is it for?

  • ๐Ÿง‘โ€๐Ÿ’ผ Marketing teams tracking competitors
  • ๐Ÿข Agencies preparing creative audits
  • ๐Ÿ›ก๏ธ Compliance teams reviewing public ad disclosures
  • ๐Ÿ“ˆ Growth teams watching messaging changes
  • ๐Ÿงช Researchers collecting public ad examples
  • ๐Ÿงฐ Data teams feeding dashboards and alerts

Why use this actor?

Manual transparency research is slow and inconsistent.

This actor turns searches into structured dataset rows.

You can run it on a schedule, export JSON or CSV, connect it to webhooks, and compare new creatives over time.

What data can it extract?

FieldDescription
querySearch query that produced the ad
countryRequested country code
advertiserNamePublic advertiser name
advertiserIdGoogle Ads Transparency advertiser ID
adIdPublic creative ID
adUrlTransparency Center creative URL
adTextText detected in the public creative metadata
headlineFirst useful text line, when available
descriptionPublic description/ad-copy text, when available
imageUrlsCreative image or preview URLs
videoUrlVideo URL when exposed by the public record
landingPageUrlLanding page URL when exposed by the public record
platformsPlatform labels when exposed
regionsRegions returned for the run
firstShownDateFirst public shown date
lastShownDateLast public shown date
snapshotUrlLink to the public ad snapshot
scrapedAtCollection timestamp

How much does it cost to scrape Google Ads Transparency ads?

The actor uses pay-per-event pricing.

You pay a small run start fee plus a per-ad fee for ads saved to the dataset.

A small sample run with 25 ads is inexpensive.

Larger monitoring jobs scale with the number of ads collected.

Always start with a small maxResultsPerQuery value while testing a new query.

Quick start

  1. Open the actor on Apify.
  2. Add one or more advertiser names or keywords.
  3. Choose a country code such as US, GB, or CA.
  4. Set maxResultsPerQuery.
  5. Run the actor.
  6. Export the dataset as JSON, CSV, Excel, XML, or RSS.

Input options

queries

List of advertisers, domains, brand names, or keywords.

Example values:

  • Nike, Inc.
  • Apple
  • shopify.com
  • running shoes

country

Two-letter country code used as the Transparency Center region.

Common examples:

  • US
  • GB
  • CA
  • AU
  • DE
  • FR
  • IN

maxResultsPerQuery

Maximum number of ads to save for each query.

Use a small value for tests.

Use a larger value for monitoring.

includeAdDetails

When enabled, the actor fetches each public creative detail record to collect additional media and preview URLs.

Disable it for faster lightweight runs.

dateFrom and dateTo

Optional ISO date filters.

The actor filters ads by the public first/last shown dates returned by the Transparency Center.

Example input

{
"queries": ["Nike, Inc.", "Apple"],
"country": "US",
"maxResultsPerQuery": 25,
"includeAdDetails": true
}

Example output

{
"query": "Nike, Inc.",
"country": "US",
"advertiserName": "Nike, Inc.",
"advertiserId": "AR16735076323512287233",
"adId": "CR18317251634368872449",
"adUrl": "https://adstransparency.google.com/advertiser/...",
"imageUrls": ["https://tpc.googlesyndication.com/archive/simgad/..."],
"firstShownDate": "2022-11-30T16:07:07.000Z",
"lastShownDate": "2026-06-18T13:05:05.000Z",
"scrapedAt": "2026-06-18T13:00:00.000Z"
}

Tips for better results

  • โœ… Use exact advertiser names when possible.
  • โœ… Start with the country where the advertiser is most active.
  • โœ… Use low limits for discovery runs.
  • โœ… Schedule recurring runs to spot new ads.
  • โœ… Store previous datasets so you can diff creative changes.

Monitoring workflows

Run the actor daily for your top competitors.

Export the dataset to Google Sheets.

Compare adId values across runs.

Notify your team when a new creative appears.

Archive image URLs for creative review.

Competitive intelligence workflows

Collect ads for several brands in one run.

Group output by advertiser.

Review first and last shown dates.

Track repeated creative themes.

Use images in a swipe-file workflow.

Compliance workflows

Use advertiser IDs and ad IDs as durable references.

Store snapshotUrl for audit trails.

Run consistent country-specific searches.

Export results as CSV for review teams.

Keep run logs and datasets for reproducibility.

Integrations

You can connect this actor to:

  • Google Sheets for analyst review
  • Slack alerts through Apify webhooks
  • BigQuery or Snowflake for historical analysis
  • Make or Zapier workflows
  • Internal dashboards through the Apify API
  • Scheduled Apify tasks for recurring monitoring

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper').call({
queries: ['Nike, Inc.'],
country: 'US',
maxResultsPerQuery: 25
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper').call(run_input={
'queries': ['Nike, Inc.'],
'country': 'US',
'maxResultsPerQuery': 25,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/<ANNA_APIFY_USERNAME>~google-ads-transparency-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"queries":["Nike, Inc."],"country":"US","maxResultsPerQuery":25}'

MCP usage

Use Apify MCP with Claude Code or Claude Desktop to run the actor from natural-language prompts.

MCP URL:

https://mcp.apify.com/?tools=<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper

Claude Code setup:

$claude mcp add apify-google-ads-transparency https://mcp.apify.com/?tools=<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper

Claude Desktop JSON config:

{
"mcpServers": {
"apify-google-ads-transparency": {
"url": "https://mcp.apify.com/?tools=<ANNA_APIFY_USERNAME>/google-ads-transparency-scraper"
}
}
}

Example prompts:

  • "Run Google Ads Transparency Scraper for Nike in the US and summarize the newest ads."
  • "Collect 50 Apple ads in GB and export the image URLs."
  • "Compare ad IDs from my last two Google Ads Transparency datasets."

Data freshness

The actor collects data currently exposed by Google Ads Transparency Center.

Availability can vary by advertiser, country, region, ad format, and Google's public retention rules.

Some ads may have images only.

Some text ads may expose more copy than image ads.

Limits

The actor can only collect public data that the Transparency Center returns.

It does not log in.

It does not collect private campaign manager data.

It does not bypass account permissions.

It may return fewer ads than requested when the source has fewer public results.

FAQ

Can I scrape private Google Ads account data?

No. The actor only collects public records exposed by Google Ads Transparency Center.

Does it support multiple countries?

Yes. Run separate tasks for each country code when you need country-specific monitoring.

Should I enable ad details?

Enable details when you want more media URLs. Disable it for faster discovery runs.

Troubleshooting

Why did my query return no ads?

Try the exact advertiser name, a broader brand name, or another country.

Some advertisers do not have public ads in every region.

Why are some text fields empty?

Some public creative records expose only media previews and dates.

Image-only creatives may not include readable ad copy.

Why are platform fields empty?

Google's public response does not always expose stable platform labels for every creative.

The actor preserves requested platform hints and returns platform labels when available.

Legality and ethical use

This actor collects public transparency data.

Use it responsibly.

Respect Apify terms, Google terms, privacy rules, and local laws.

Do not use the data for harassment, discrimination, or misleading claims.

You may also find these actors useful:

Changelog

Initial version extracts public advertiser ad creatives, IDs, media URLs, shown dates, and snapshot links from Google Ads Transparency Center.

Support

If a run fails, include the run ID, input, and expected advertiser or country in your support request.

Small reproducible inputs are easiest to debug.

Summary

Google Ads Transparency Scraper helps turn public ad-library searches into structured datasets.

Use it for competitor monitoring, creative research, compliance checks, and recurring public-ad intelligence.