# Google Ads Transparency Scraper (No Login) (`scrapemint/google-ads-transparency-scraper`) Actor

See every Google ad any brand is running. Search advertisers by name, pull their ad creatives from the Ads Transparency Center with format, preview asset, first and last shown dates, and filter by country. Search, Display, YouTube. No login, no API key. Pay per ad.

- **URL**: https://apify.com/scrapemint/google-ads-transparency-scraper.md
- **Developed by:** [Ken M](https://apify.com/scrapemint) (community)
- **Categories:** Marketing, Business, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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 (No Login)

See every Google ad any brand is running right now. This actor pulls ad creatives straight from the Google Ads Transparency Center: advertiser search by name, ad format, preview asset, first and last shown dates, and a per country filter. Covers ads served on Google Search, Display, YouTube, Shopping, and Maps.

No login. No API key. No browser rendering. Just structured JSON rows, priced per ad.

### Why people use it

- **Competitor ad monitoring.** Pull a competitor's full live creative set and diff it week over week to spot new campaigns, formats, and messaging the day they launch.
- **Creative research.** Collect image and video ad examples from any set of brands to study hooks, offers, and seasonal pushes.
- **Brand protection.** Watch which advertisers run ads under your brand name and collect evidence with creative IDs and transparency URLs.
- **Agency reporting.** Snapshot a client's competitors monthly and turn the rows into share of voice reports.

### Input

```json
{
    "queries": ["Nike, Inc."],
    "region": "ANYWHERE",
    "maxCreativesPerAdvertiser": 30
}
````

- `queries`: brand or company names. The top matching verified advertiser is used for each (raise `maxAdvertisersPerQuery` to include more matches).
- `advertiserIds`: exact IDs like `AR04119126533128323073` if you already know them (they are in every adstransparency.google.com advertiser URL). Skips name search.
- `region`: ISO country code (US, GB, DE, IN, ...) to only return ads shown there, or `ANYWHERE`.
- `maxCreativesPerAdvertiser`, `maxRows`: volume controls.

### Output

One row per ad creative:

```json
{
    "advertiserId": "AR04119126533128323073",
    "advertiserName": "Nike, Inc.",
    "creativeId": "CR15598031569242030081",
    "format": "image",
    "previewAssetUrl": "https://tpc.googlesyndication.com/archive/simgad/2825519928098707509",
    "firstShown": "2026-05-14T09:39:10.000Z",
    "lastShown": "2026-07-01T02:36:40.000Z",
    "totalCreativesForAdvertiser": 48,
    "transparencyUrl": "https://adstransparency.google.com/advertiser/AR04119126533128323073/creative/CR15598031569242030081?region=anywhere",
    "searchRegion": "ANYWHERE"
}
```

`format` is derived from the creative markup (text, image, or video) and the raw format code is included as `formatRaw`. `previewAssetUrl` points at the ad's image or video asset. `transparencyUrl` opens the exact creative in the Ads Transparency Center for a full interactive preview.

### Pricing

Pay per ad creative row. The first 2 rows per run are free so you can validate the output shape. After that each row is charged. A 100 ad competitor snapshot lands under $1.

### FAQ

**Where does the data come from?** The public Google Ads Transparency Center, which lists ads from verified advertisers. Data is the same as what you see at adstransparency.google.com.

**Do I get spend or impression numbers?** No. Google only publishes spend ranges for political ads. This actor focuses on the creative sets that all verified advertisers must disclose.

**Can I get the ads of any company?** Any advertiser verified by Google that has served ads recently. Small advertisers with no recent ads return zero rows.

**How fresh is the data?** It is read live at run time, so rows reflect what the Transparency Center shows at that moment. Schedule the actor to build a time series.

# Actor input Schema

## `queries` (type: `array`):

Brand or company names to look up in the Ads Transparency Center, e.g. \["Nike, Inc.", "Shopify"]. The top matching verified advertisers are used for each query.

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

Exact Ads Transparency advertiser IDs (start with AR, e.g. AR04119126533128323073). Skips name search. Find them in any adstransparency.google.com advertiser URL.

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

Only return ads shown in this country (ISO code like US, GB, DE, IN), or ANYWHERE for all regions.

## `maxAdvertisersPerQuery` (type: `integer`):

How many matching advertisers to include per name query (1 to 10). Keep 1 to get only the best match.

## `maxCreativesPerAdvertiser` (type: `integer`):

How many ad creatives to pull per advertiser.

## `maxRows` (type: `integer`):

Overall cap on rows pushed in one run.

## `proxyConfiguration` (type: `object`):

Usually not needed. Enable Apify proxy only if direct requests get blocked from your region.

## Actor input object example

```json
{
  "queries": [
    "Nike, Inc."
  ],
  "region": "ANYWHERE",
  "maxAdvertisersPerQuery": 1,
  "maxCreativesPerAdvertiser": 30,
  "maxRows": 100
}
```

# 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 = {
    "queries": [
        "Nike, Inc."
    ],
    "region": "ANYWHERE",
    "maxCreativesPerAdvertiser": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapemint/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 = {
    "queries": ["Nike, Inc."],
    "region": "ANYWHERE",
    "maxCreativesPerAdvertiser": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapemint/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 '{
  "queries": [
    "Nike, Inc."
  ],
  "region": "ANYWHERE",
  "maxCreativesPerAdvertiser": 30
}' |
apify call scrapemint/google-ads-transparency-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Ads Transparency Scraper (No Login)",
        "description": "See every Google ad any brand is running. Search advertisers by name, pull their ad creatives from the Ads Transparency Center with format, preview asset, first and last shown dates, and filter by country. Search, Display, YouTube. No login, no API key. Pay per ad.",
        "version": "0.1",
        "x-build-id": "X11zPOQQ9iU0l3mki"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapemint~google-ads-transparency-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapemint-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/scrapemint~google-ads-transparency-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapemint-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/scrapemint~google-ads-transparency-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapemint-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": {
                    "queries": {
                        "title": "Advertiser names",
                        "type": "array",
                        "description": "Brand or company names to look up in the Ads Transparency Center, e.g. [\"Nike, Inc.\", \"Shopify\"]. The top matching verified advertisers are used for each query.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "advertiserIds": {
                        "title": "Advertiser IDs (optional)",
                        "type": "array",
                        "description": "Exact Ads Transparency advertiser IDs (start with AR, e.g. AR04119126533128323073). Skips name search. Find them in any adstransparency.google.com advertiser URL.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "region": {
                        "title": "Region",
                        "type": "string",
                        "description": "Only return ads shown in this country (ISO code like US, GB, DE, IN), or ANYWHERE for all regions.",
                        "default": "ANYWHERE"
                    },
                    "maxAdvertisersPerQuery": {
                        "title": "Max advertisers per query",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "How many matching advertisers to include per name query (1 to 10). Keep 1 to get only the best match.",
                        "default": 1
                    },
                    "maxCreativesPerAdvertiser": {
                        "title": "Max ads per advertiser",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "How many ad creatives to pull per advertiser.",
                        "default": 30
                    },
                    "maxRows": {
                        "title": "Max total rows",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Overall cap on rows pushed in one run.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy (optional)",
                        "type": "object",
                        "description": "Usually not needed. Enable Apify proxy only if direct requests get blocked from your region."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
