# Google Ads Transparency Scraper

> Google Ads Transparency Scraper is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.04/call, status unknown (last checked 2026-10-02).

Retrieves structured ad creatives and advertiser data from Google's Ads Transparency Center by domain, query, or advertiser ID

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/google-ads?utm_source=zero.xyz
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/google-ads-transparency-scraper-7faacb05
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Z8FuR4rukUi8E5sI3RK3o

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability google-ads-transparency-scraper-7faacb05 -d '<json body>'
```

Example prompt: Pull all text and image ads that nike.com has run on Google Search and YouTube in the US since 2024-01-01, up to 200 results, and show me the creative IDs, first and last shown dates, and advertiser name.

## When to prefer this

Use this endpoint when you need structured, machine-readable ad creative data from Google's Ads Transparency Center — especially for competitor research, ad auditing, or brand monitoring across Google Search, YouTube, Shopping, Maps, and Play. Prefer this over manual Transparency Center browsing when you need bulk data, date filtering, or programmatic access. It is pay-per-call with no charge on empty or failed runs, making it cost-safe for exploratory queries.

## Known failure modes

- No ads found for the specified domain or query — empty items array returned but not charged
- Invalid advertiser ID format (must begin with AR) — likely returns error or empty result
- Date range produces no matching activity — empty result
- Region or platform combination yields no data for the target advertiser
- Rate limits or Google Transparency Center unavailability may cause scrape failure — not charged on failure
- Overly broad query with default maxItems may truncate results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count and an array of items, each containing ad creative metadata: domain, format, lastShown, creativeId, firstShown, advertiserId, shownForDays, and advertiserName. Can also return one summary row per advertiser when resultType is set to advertisers.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "region": {
   "enum": [
    "US",
    "GB",
    "CA",
    "AU",
    "DE",
    "FR",
    "IN",
    "BR",
    "JP",
    "IT",
    "ES",
    "NL",
    "MX",
    "SG",
    "ZA",
    "ANYWHERE"
   ],
   "type": "string",
   "default": "US",
   "description": "Country where ads were shown, or ANYWHERE for all available regions."
  },
  "domains": {
   "type": "array",
   "description": "Destination domains to search exactly, such as example.com."
  },
  "endDate": {
   "type": "string",
   "description": "Keep ads whose activity overlaps this YYYY-MM-DD date or earlier."
  },
  "queries": {
   "type": "array",
   "description": "Names or domains to resolve to advertisers and their public ads."
  },
  "adFormat": {
   "enum": [
    "ALL",
    "TEXT",
    "IMAGE",
    "VIDEO"
   ],
   "type": "string",
   "default": "ALL",
   "description": "Return all, text, image, or video creatives."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many dataset rows across all targets. Zero means no total cap."
  },
  "platforms": {
   "type": "array",
   "items": {
    "enum": [
     "SEARCH",
     "YOUTUBE",
     "SHOPPING",
     "MAPS",
     "PLAY"
    ],
    "type": "string"
   },
   "default": [],
   "description": "Limit ads to selected surfaces. Empty means all surfaces."
  },
  "startDate": {
   "type": "string",
   "description": "Keep ads whose activity overlaps this YYYY-MM-DD date or later."
  },
  "startUrls": {
   "type": "array",
   "description": "Transparency Center advertiser or creative URLs, or URLs containing a domain or query parameter."
  },
  "resultType": {
   "enum": [
    "ads",
    "advertisers"
   ],
   "type": "string",
   "default": "ads",
   "description": "Return ad creatives or one summary per advertiser."
  },
  "advertiserIds": {
   "type": "array",
   "description": "Public advertiser IDs beginning with AR."
  },
  "includeDetails": {
   "type": "boolean",
   "default": false,
   "description": "Add all available creative variations and country reach to each ad. This makes an extra request per ad."
  },
  "maxAdsPerSearch": {
   "type": "integer",
   "default": 100,
   "maximum": 50000,
   "minimum": 1,
   "description": "Maximum creatives read for each advertiser or domain and each selected platform."
  },
  "maxAdvertisersPerQuery": {
   "type": "integer",
   "default": 5,
   "maximum": 10,
   "minimum": 1,
   "description": "Maximum s
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "domain": null,
    "format": null,
    "lastShown": null,
    "creativeId": null,
    "firstShown": null,
    "advertiserId": null,
    "shownForDays": null,
    "advertiserName": null
   }
  ],
  "product": "google-ads"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/google-ads-transparency-scraper-7faacb05/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
