# Google Ads Transparency Scraper - Creative Intelligence (`techionik9993/google-ads-transparency-scraper`) Actor

Scrape public Google Ads Transparency Center creatives by domain, advertiser, creative URL, or target URL with filters, proxy controls, strict timeouts, and delivered-row billing.

- **URL**: https://apify.com/techionik9993/google-ads-transparency-scraper.md
- **Developed by:** [Techionik](https://apify.com/techionik9993) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 google ad creative rows

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Google Ads Transparency Scraper - Creative Intelligence

Scrape public Google Ads Transparency Center creatives by advertiser domain, advertiser ID, creative URL, search term, or copied Transparency Center URL. Use it for PPC research, competitor creative discovery, landing-page checks, and scheduled ad tracking.

### Built For

- Finding Google advertisers by domain, brand, or Transparency Center ID.
- Collecting public creative URLs, advertiser metadata, last-shown signals, regions, formats, and asset links.
- Comparing competitor messaging across domains and markets.
- Tracking new or changed creatives over scheduled runs.

### Search Modes

- `targetUrl`: run the exact Google Ads Transparency Center URL copied from your browser.
- `domains`: search advertiser domains such as `nike.com`, `shopify.com`, or `allbirds.com`.
- `searchTerms`: search advertiser names or keywords when the domain is not known.
- `advertiserIds`: direct lookup by Google advertiser ID.
- `creativeUrls`: enrich known creative detail URLs.

### Filters And Controls

- `region`: two-letter region code.
- `platform`: search, YouTube, display, shopping, maps, or all.
- `format`: text, image, video, or all.
- `enrichDetails`: open creative detail pages for richer fields.
- `includeAssetUrls`: include public media/image URLs when visible.
- `maxResults`, `maxConcurrency`, `requestHandlerTimeoutSecs`, and `maxRunMinutes`: row cap, speed, and timeout controls.
- `monitorChanges` and `onlyChanges`: scheduled change detection.
- `proxyUrl`, `proxyMode`, and `proxyCountryCode`: custom or Apify proxy routing.

### Data Delivered

- `advertiserId`, `creativeId`, `advertiserName`, `creativeUrl`, source domain/search term, region, and region text.
- `lastShown`, creative format, variation index/count, asset URLs, asset count, and video signals when visible.
- `dataQualityScore`, `signalSummary`, suggested next action, and scrape timestamp.
- Change rows for new or changed creatives when change detection is enabled.

### Example Input

```json
{
  "domains": ["nike.com", "allbirds.com"],
  "region": "US",
  "platform": "all",
  "format": "all",
  "maxResults": 100,
  "enrichDetails": true,
  "includeAssetUrls": true,
  "proxyMode": "auto"
}
````

### Example Output

```json
{
  "advertiserId": "AR16735076323512287233",
  "creativeId": "CR09876543210987654321",
  "advertiserName": "Example Advertiser",
  "creativeUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR09876543210987654321",
  "region": "US",
  "format": "image",
  "lastShown": "Jun 2026",
  "assetCount": 3,
  "dataQualityScore": 90,
  "scrapedAt": "2026-06-24T12:00:00.000Z"
}
```

### Pricing

`$10.00 / 1,000 delivered creatives`

Billing is based only on valid creative rows written to the default dataset. Empty sources, blocked pages, timeouts, and no-data runs are saved as notices outside the paid dataset.

### Reliability

- Direct URL and ID normalization.
- Whole-run and per-source timeout guards.
- Optional detail enrichment for richer rows.
- Duplicate creative IDs removed before output.
- No paid error rows.
- Change snapshots stored outside the customer dataset.

# Actor input Schema

## `targetUrl` (type: `string`):

Full Google Ads Transparency Center URL. When supplied, this exact page is used first.

## `domains` (type: `array`):

Advertiser domains to search, such as nike.com, shopify.com, or allbirds.com.

## `searchTerms` (type: `array`):

Optional advertiser names or keywords. Domains are more reliable when available.

## `advertiserIds` (type: `array`):

Optional Google Ads Transparency advertiser IDs such as AR16735076323512287233.

## `creativeUrls` (type: `array`):

Optional direct Google Ads Transparency creative detail URLs.

## `region` (type: `string`):

Two-letter region code used by Google Ads Transparency Center.

## `platform` (type: `string`):

Optional platform label for your workflow. Google may not expose this on every public page.

## `format` (type: `string`):

Optional creative format label for filtering and output context.

## `maxResults` (type: `integer`):

Maximum useful creative rows to write. Billing should be based on delivered rows, not requested rows.

## `enrichDetails` (type: `boolean`):

Open each creative detail page to collect last shown date, format, region text, variation count, and public media asset URLs.

## `includeAssetUrls` (type: `boolean`):

Include public image/media asset URLs visible on creative detail pages.

## `maxConcurrency` (type: `integer`):

Number of source pages or detail pages to process in parallel.

## `requestHandlerTimeoutSecs` (type: `integer`):

Maximum seconds spent on one source or detail page.

## `maxRunMinutes` (type: `integer`):

Whole-run guard to avoid runaway sessions.

## `monitorChanges` (type: `boolean`):

Save a snapshot and compare creative IDs across scheduled runs.

## `onlyChanges` (type: `boolean`):

When change detection is enabled, output only new creative rows.

## `proxyUrl` (type: `string`):

Optional full HTTP, HTTPS, or SOCKS proxy URL.

## `proxyMode` (type: `string`):

Fallback Apify proxy mode used only when Custom proxy URL is empty.

## `proxyCountryCode` (type: `string`):

Optional two-letter country code for Apify residential proxy mode.

## Actor input object example

```json
{
  "targetUrl": "https://adstransparency.google.com/?region=US&domain=nike.com",
  "domains": [
    "nike.com",
    "allbirds.com"
  ],
  "searchTerms": [
    "Nike",
    "Allbirds"
  ],
  "advertiserIds": [],
  "creativeUrls": [],
  "region": "US",
  "platform": "all",
  "format": "all",
  "maxResults": 100,
  "enrichDetails": true,
  "includeAssetUrls": true,
  "maxConcurrency": 2,
  "requestHandlerTimeoutSecs": 180,
  "maxRunMinutes": 12,
  "monitorChanges": false,
  "onlyChanges": false,
  "proxyUrl": "",
  "proxyMode": "none",
  "proxyCountryCode": ""
}
```

# Actor output Schema

## `results` (type: `string`):

Open the default dataset to view delivered Google Ads Transparency creative rows.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("techionik9993/google-ads-transparency-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("techionik9993/google-ads-transparency-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call techionik9993/google-ads-transparency-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=techionik9993/google-ads-transparency-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Ads Transparency Scraper - Creative Intelligence",
        "description": "Scrape public Google Ads Transparency Center creatives by domain, advertiser, creative URL, or target URL with filters, proxy controls, strict timeouts, and delivered-row billing.",
        "version": "0.1",
        "x-build-id": "mjSDQce9NYHfcPPAD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/techionik9993~google-ads-transparency-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-techionik9993-google-ads-transparency-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/techionik9993~google-ads-transparency-scraper/runs": {
            "post": {
                "operationId": "runs-sync-techionik9993-google-ads-transparency-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/techionik9993~google-ads-transparency-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-techionik9993-google-ads-transparency-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "targetUrl": {
                        "title": "Target URL",
                        "type": "string",
                        "description": "Full Google Ads Transparency Center URL. When supplied, this exact page is used first.",
                        "default": ""
                    },
                    "domains": {
                        "title": "Advertiser domains",
                        "type": "array",
                        "description": "Advertiser domains to search, such as nike.com, shopify.com, or allbirds.com.",
                        "default": [
                            "nike.com"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchTerms": {
                        "title": "Search terms",
                        "type": "array",
                        "description": "Optional advertiser names or keywords. Domains are more reliable when available.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "advertiserIds": {
                        "title": "Advertiser IDs",
                        "type": "array",
                        "description": "Optional Google Ads Transparency advertiser IDs such as AR16735076323512287233.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "creativeUrls": {
                        "title": "Creative URLs",
                        "type": "array",
                        "description": "Optional direct Google Ads Transparency creative detail URLs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "region": {
                        "title": "Region",
                        "type": "string",
                        "description": "Two-letter region code used by Google Ads Transparency Center.",
                        "default": "US"
                    },
                    "platform": {
                        "title": "Platform filter",
                        "enum": [
                            "all",
                            "search",
                            "youtube",
                            "display",
                            "shopping",
                            "maps"
                        ],
                        "type": "string",
                        "description": "Optional platform label for your workflow. Google may not expose this on every public page.",
                        "default": "all"
                    },
                    "format": {
                        "title": "Format filter",
                        "enum": [
                            "all",
                            "text",
                            "image",
                            "video"
                        ],
                        "type": "string",
                        "description": "Optional creative format label for filtering and output context.",
                        "default": "all"
                    },
                    "maxResults": {
                        "title": "Max creatives",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum useful creative rows to write. Billing should be based on delivered rows, not requested rows.",
                        "default": 100
                    },
                    "enrichDetails": {
                        "title": "Open creative detail pages",
                        "type": "boolean",
                        "description": "Open each creative detail page to collect last shown date, format, region text, variation count, and public media asset URLs.",
                        "default": true
                    },
                    "includeAssetUrls": {
                        "title": "Include public asset URLs",
                        "type": "boolean",
                        "description": "Include public image/media asset URLs visible on creative detail pages.",
                        "default": true
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Number of source pages or detail pages to process in parallel.",
                        "default": 2
                    },
                    "requestHandlerTimeoutSecs": {
                        "title": "Timeout per source",
                        "minimum": 45,
                        "maximum": 1200,
                        "type": "integer",
                        "description": "Maximum seconds spent on one source or detail page.",
                        "default": 180
                    },
                    "maxRunMinutes": {
                        "title": "Max run minutes",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Whole-run guard to avoid runaway sessions.",
                        "default": 12
                    },
                    "monitorChanges": {
                        "title": "Detect changes",
                        "type": "boolean",
                        "description": "Save a snapshot and compare creative IDs across scheduled runs.",
                        "default": false
                    },
                    "onlyChanges": {
                        "title": "Output only changes",
                        "type": "boolean",
                        "description": "When change detection is enabled, output only new creative rows.",
                        "default": false
                    },
                    "proxyUrl": {
                        "title": "Custom proxy URL",
                        "type": "string",
                        "description": "Optional full HTTP, HTTPS, or SOCKS proxy URL.",
                        "default": ""
                    },
                    "proxyMode": {
                        "title": "Apify proxy mode",
                        "enum": [
                            "none",
                            "auto",
                            "datacenter",
                            "residential"
                        ],
                        "type": "string",
                        "description": "Fallback Apify proxy mode used only when Custom proxy URL is empty.",
                        "default": "none"
                    },
                    "proxyCountryCode": {
                        "title": "Residential proxy country",
                        "type": "string",
                        "description": "Optional two-letter country code for Apify residential proxy mode.",
                        "default": ""
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
