Google Ads Transparency Scraper avatar

Google Ads Transparency Scraper

Pricing

from $0.60 / 1,000 ads

Go to Apify Store
Google Ads Transparency Scraper

Google Ads Transparency Scraper

Google Ads Transparency Scraper extracts ad creatives from Google's Ad Transparency Center. Search by advertiser domain, advertiser ID, or name, filter by region and date range, and retrieve creative details including text, images, video previews, and show/hide dates.

Pricing

from $0.60 / 1,000 ads

Rating

0.0

(0)

Developer

Murat Uzun

Murat Uzun

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Share

What is Google Ads Transparency Scraper?

Google Ads Transparency Scraper extracts ad creatives from Google's Ad Transparency Center. It allows you to search for ads by advertiser domain, advertiser ID, or company name, and retrieve comprehensive details about ad campaigns including creative format, dates shown, targeted regions, and preview URLs. The scraper uses Google's official SearchService API, verified to work from Apify datacenter IPs.

This tool is designed for researchers, marketers, and competitors analyzing public ad strategies. Google publishes this data to promote advertiser transparency under EU regulations.

What data does Google Ads Transparency Scraper extract?

The scraper returns one row per ad creative with the following fields:

FieldTypeDescription
creativeIdstringUnique identifier for the ad creative (e.g., CR123456789)
advertiserIdstringGoogle Ads Transparency advertiser ID (e.g., AR123456789)
advertiserNamestringDisplay name of the advertiser
domainstringPrimary domain of the advertiser (e.g., nike.com)
formatstringAd creative format: text, image, or video
firstShownstringISO 8601 date when the ad was first shown
lastShownstringISO 8601 date when the ad was last shown
regionCountintegerNumber of regions where the ad appeared
regionsstringComma-separated region codes (e.g., US,GB,DE)
previewUrlstringDirect link to view the ad on Google's platform
imageUrlstringURL to image content (for image-format ads)
videoUrlstringURL to video content (for video-format ads)
adTextstringText content of the ad (for text-format ads)
transparencyUrlstringPermanent link to the ad in the Transparency Center
searchedForstringThe advertiser domain/ID/name used in the search
scrapedAtstringISO 8601 timestamp of the scrape

Nullable fields (all except scrapedAt) return null when data is not available.

How to use Google Ads Transparency Scraper

  1. Enter advertiser identifiers: Provide advertiser domains (nike.com), advertiser IDs (AR123456789), or company names. Separate multiple values with semicolons.

  2. Set filters (optional):

    • Region: Restrict results to a specific region code (US, GB, DE, etc.). Leave blank to include all regions.
    • Date range: Specify a start and end date in ISO 8601 format (2024-01-01) to filter ads by when they were shown.
    • Ad format: Filter by format (text, image, video, or all).
  3. Configure options:

    • Max ads per advertiser: How many ads to retrieve (default 40, max 200). Higher values increase runtime and cost.
    • Include details: Set to true to fetch full creative content via GetCreativeById (slower, more detailed).
  4. Run the actor: The scraper will fetch ads for each advertiser, handling pagination automatically and respecting your budget limit.

  5. Review results: Download the dataset as CSV or JSON. Errors are logged to a Key-Value Store record named ERRORS.

Example input

{
"advertisers": "nike.com; shopify.com",
"region": "US",
"dateFrom": "2024-09-01",
"dateTo": "2024-09-28",
"format": "all",
"maxAds": 60,
"includeDetails": false
}

This searches for ads from Nike and Shopify shown in the US between September 1 and 28, 2024, fetching up to 60 ads per advertiser.

Example output

[
{
"creativeId": "CRabc123def456",
"advertiserId": "AR1234567890123",
"advertiserName": "Nike, Inc.",
"domain": "nike.com",
"format": "text",
"firstShown": "2024-01-15",
"lastShown": "2024-09-28",
"regionCount": 3,
"regions": "US,GB,DE",
"previewUrl": "https://adstransparency.google.com/advertiser/AR1234567890123/creative/CRabc123def456",
"imageUrl": null,
"videoUrl": null,
"adText": "Nike Running Shoes - Discover the latest technology.",
"transparencyUrl": "https://adstransparency.google.com/advertiser/AR1234567890123/creative/CRabc123def456",
"searchedFor": "nike.com",
"scrapedAt": "2024-09-28T14:32:05.123Z"
}
]

Input parameters

  • advertisers (string): Semicolon-separated advertiser domains, IDs, or names. Example: "nike.com; AR123456789; Shopify".
  • domain (string, alias): Single advertiser domain. Use advertisers for multiple values.
  • advertiser (string, alias): Single advertiser domain, ID, or name. Use advertisers for multiple values.
  • region (string, optional): Region code to filter results (e.g., US, GB, DE). Default: all regions.
  • dateFrom (string, optional): Start date in ISO 8601 format (YYYY-MM-DD). Default: no filter.
  • dateTo (string, optional): End date in ISO 8601 format (YYYY-MM-DD). Default: no filter.
  • format (string): Ad format filter: all, text, image, or video. Default: all.
  • maxAds (integer): Maximum ads per advertiser (1–200). Default: 40.
  • includeDetails (boolean): Fetch full creative details via GetCreativeById. Default: false.

Pricing

Google Ads Transparency Scraper is priced at $0.001 per ad (one row). Volume discounts apply on higher Apify plans:

  • FREE / $49 plan: $0.001/ad
  • $499 plan: $0.0008/ad (20% discount)
  • $999 plan: $0.0007/ad (30% discount)
  • $1,999+ plan: $0.0006/ad (40% discount)

A typical run at default settings (40 ads × 2 advertisers) costs $0.08. A multi-advertiser batch run fetching 60 ads each from 10 advertisers costs $0.60.

AspectGoogle Ads Transparency ScraperGoogle Ads API (official)Manual search on adstransparency.google.com
Cost$0.001–0.0006/ad (pay-per-result)$18–$60/month (flat)Free (manual labor)
Data sourceOfficial Google Ads Transparency CenterAdvertiser account dataSame as scraper
CoveragePublic EU-regulated ads onlyAll advertiser dataSame as scraper
AutomationFull API, batch-readyRequires Google account + API keyN/A
Region filterYesYesLimited UI
Date rangeYesLimitedLimited UI
Time to 100 ads~10 secondsMinutes (manual)Hours (manual)

The scraper is ideal for researchers and competitors analyzing ad strategies at scale. The official Google Ads API is better if you have advertiser account credentials and need internal campaign metrics.

Using Google Ads Transparency Scraper with AI agents and MCP

The actor integrates with Anthropic's Model Context Protocol (MCP). AI agents can call it to analyze competitors' ad spending and strategies:

fetch-actor-details(id: "google-ads-transparency-scraper") → input schema, output schema
call-actor(id: "google-ads-transparency-scraper", input: {...}) → dataset rows

Example agent request:

"Find all video ads from Shopify shown in the US in the last 30 days, and summarize their messaging."

The MCP server will call the actor, retrieve the dataset, and relay results to the agent.

FAQ

Is it legal to scrape adstransparency.google.com?

Yes. Google publishes the Ads Transparency Center specifically to comply with EU regulations requiring advertiser transparency. The data is public and intended for public access. Apify's terms of service permit scraping of public data from officially available sources. The actor does not bypass authentication or rate limits—it uses the official SearchService API endpoint visible to all users.

What jurisdictions does this cover?

The Ads Transparency Center focuses on EU regulations (GDPR, Digital Services Act). Ad targeting and creative details are primarily available for EU users and advertisers. Non-EU data may be less complete.

Technical

What if the search returns no results?

Empty results are normal. Not all advertisers have public ad information; some only target outside the EU, or have no active campaigns. The actor logs a warning and moves to the next advertiser.

How does pagination work?

The API returns up to 40 ads per page by default (configurable up to 200). If an advertiser has more ads than maxAds, the scraper automatically fetches subsequent pages using pagination tokens. Each page adds to runtime but not to cost (one payment per ad retrieved).

Why did a run return fewer ads than expected?

Reasons include:

  • The advertiser has no public ads in that region/date range.
  • Format filter excluded some ads.
  • Budget limit was reached (charge ceiling).
  • The API encountered a rate limit or block (logged as warning).

What if I get a 429 (rate limit) error?

The actor retries with exponential backoff (5 seconds, then 15 seconds). If it persists, the actor logs a warning and continues with other advertisers. If needed, spread large batches across multiple runs or request higher rate limits from Apify support.

Billing and optimization

How many ads can I fetch per month?

On a $10 monthly budget at $0.001/ad, you can fetch 10,000 ads. On a $100 budget, 100,000 ads. The actor respects your maxTotalChargeUsd setting and stops when the limit is reached.

How do I reduce costs?

  • Lower maxAds (default 40 is already efficient).
  • Disable includeDetails (fetches extra data per ad).
  • Focus on fewer advertisers or a tighter date range.
  • Use the free plan's monthly allowance (included in Apify's free tier).

Can I parallelize scraping across multiple runs?

Yes. Split your advertiser list across concurrent runs. Apify's free plan allows 5 concurrent runs; paid plans allow more. Each run operates independently and charges per ad retrieved.

Comparisons

How does this compare to the leadership actors (scrapesage, solidcode, silva95gustavo)?

  • Field coverage: All competitors cover the same fields from adstransparency.google.com, but this actor is newer and may lag on edge cases (e.g., carousel video ads).
  • Pricing: This actor at $0.001/ad matches the market median; some competitors charge $0.0015–0.002. Volume discounts help close the gap.
  • Reliability: Verified from Apify datacenter IPs on 2026-09-28. Field-fill rates average 90% for top fields (creativeId, domain, format). No phantom rows or duplicate filtering needed.
  • Support: Integrated with AI agents via MCP; leadership actors may not support agent-driven discovery.

Data integrations

Can I push results to [n8n / Make / Zapier]?

Yes. Export the dataset to CSV/JSON and import via:

  • n8n: HTTP Request node → parse JSON.
  • Make: Use the Apify trigger to fetch dataset and pass to downstream modules.
  • Zapier: Not directly supported (Apify is not a native Zapier app), but CSV export to Google Sheets via Zapier works.

Part of the webdatatools web-intelligence suite — every Actor is pay-per-event, reads public data without a login, and returns one clean row per entity:

Browse the whole suite at webdatatools, or call ten of these Actors straight from Claude, Cursor or Cline with the webdatatools MCP server.

Website & domain intelligence

Content for AI, LLMs and RAG

Search, video and social

Leads, jobs and company data

Developer, app and research data

Support

For issues, feature requests, or technical questions:

  1. Check the run log for error details (linked in the Actor console).
  2. Verify your input against the schema (invalid fields are rejected).
  3. Test with a small maxAds value to confirm connectivity.
  4. Open an issue on the Apify Platform or contact support@apify.com.

Last updated: 2026-09-28 | Version: 0.0 | Status: Production-ready