# Google Ads Scraper (`intelscrape/google-ads-scraper`) Actor

Google Ads Scraper Scrapes the Google Ads Transparency Center for active ad creatives. Automatically extract destination URLs, verified emails, and phone numbers from landing pages.

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

## Pricing

from $50.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 & Lead Generator

Scrape the **Google Ads Transparency Center** for active ad creatives and turn advertisers into B2B leads. This Apify actor extracts each advertiser's destination/landing-page URLs and then mines those pages for **verified emails, phone numbers, and social profiles** — ready to import into your CRM.

### What it does

- Pulls **active ad creatives** for any advertiser from the Google Ads Transparency Center
- Follows each ad to its **landing page** and extracts contact data (email, phone, socials)
- Returns the full advertiser profile + every currently-running creative
- Outputs clean **JSON** for direct CRM / outreach import

### Features

- Handles Google Ads rate-limits and anti-bot challenges
- Deep landing-page contact extraction (not just the ad)
- Verified-email filtering to cut bounces
- Works by advertiser ID, advertiser URL, or search keyword

### Output fields

| Field | Description |
|-------|-------------|
| `advertiserName` | The advertiser running the ads |
| `creativeUrl` | Link to the ad creative in the Transparency Center |
| `landingPageUrl` | Destination URL of the ad |
| `emails` | Verified email addresses found on the landing page |
| `phones` | Phone numbers found on the landing page |
| `socialProfiles` | Linked social accounts |

### Input

Provide an advertiser ID/URL from the Google Ads Transparency Center, or a search keyword. See the **Input** tab for all options.

### Pricing

Pay-per-result — **from $50.00 / 1,000 results**. You only pay for leads returned.

### Use cases

- **Marketing agencies** pitching better creative to businesses already spending on ads
- Finding advertisers with **high ad spend but weak landing pages**
- Building **competitor ad + contact** lists for outreach

### Support

Maintained by IntelScrape. Open an issue on the actor's **Issues** tab for help.

# Actor input Schema

## `searchQuery` (type: `string`):

Example: 'Roofing Contractor' or 'example.com'

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

The country to search in (e.g., 'US', 'GB', 'CA', 'AU', 'Anywhere').

## `maxAds` (type: `integer`):

Limit the total number of ads extracted.

## `enrichContactInfo` (type: `boolean`):

Visit the advertiser's website to extract contact information.

## `verifyEmails` (type: `boolean`):

Perform DNS MX record checks to ensure extracted emails are capable of receiving mail.

## `extractSocials` (type: `boolean`):

Hunt for LinkedIn, Twitter, Facebook, and Instagram links on the advertiser's landing page.

## `webhookUrl` (type: `string`):

Automatically POST the fully enriched leads array to this URL when the run finishes.

## Actor input object example

```json
{
  "searchQuery": "Plumbing Contractor",
  "region": "US",
  "maxAds": 100,
  "enrichContactInfo": true,
  "verifyEmails": false
}
```

# Actor output Schema

## `searchQuery` (type: `string`):

The search term used

## `advertiser` (type: `string`):

The verified advertiser name

## `adUrl` (type: `string`):

The URL to the transparency ad creative

## `destinationUrl` (type: `string`):

The website landing page URL

## `emails` (type: `string`):

Extracted email addresses

## `phones` (type: `string`):

Extracted phone numbers

## `error` (type: `string`):

Error message if failed

# 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 = {
    "searchQuery": "Plumbing Contractor"
};

// Run the Actor and wait for it to finish
const run = await client.actor("intelscrape/google-ads-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 = { "searchQuery": "Plumbing Contractor" }

# Run the Actor and wait for it to finish
run = client.actor("intelscrape/google-ads-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 '{
  "searchQuery": "Plumbing Contractor"
}' |
apify call intelscrape/google-ads-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Kr6gUBdjCJUm1XOSP/builds/6grkxLEhk0FHFXILW/openapi.json
