google-ad-scraper

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Google Ads Transparency Scraper

Google Ads 透明度中心爬虫

Scrape ads from Google's Ads Transparency Center using the Apify
xtech/google-ad-transparency-scraper
actor. Covers Search, YouTube, Display, and Gmail ads.
使用Apify的
xtech/google-ad-transparency-scraper
Actor从Google Ads透明度中心抓取广告,涵盖搜索、YouTube、展示和Gmail广告。

Quick Start

快速开始

Requires
APIFY_API_TOKEN
env var (or
--token
flag). Install dependency:
pip install requests
.
bash
undefined
需要设置环境变量
APIFY_API_TOKEN
(或使用
--token
参数)。安装依赖:
pip install requests
bash
undefined

Search by company name (auto-resolves advertiser ID)

按公司名称搜索(自动解析广告主ID)

python3 skills/google-ad-scraper/scripts/search_google_ads.py
--company "Nike"
python3 skills/google-ad-scraper/scripts/search_google_ads.py \ --company "Nike"

Search by domain (more precise)

按域名搜索(精度更高)

python3 skills/google-ad-scraper/scripts/search_google_ads.py
--domain "nike.com"
python3 skills/google-ad-scraper/scripts/search_google_ads.py \ --domain "nike.com"

Direct advertiser ID (skip lookup step)

直接使用广告主ID(跳过查找步骤)

python3 skills/google-ad-scraper/scripts/search_google_ads.py
--advertiser-id "AR13129532367502835713"
python3 skills/google-ad-scraper/scripts/search_google_ads.py \ --advertiser-id "AR13129532367502835713"

With region filter

带区域过滤

python3 skills/google-ad-scraper/scripts/search_google_ads.py
--company "Shopify" --region US
python3 skills/google-ad-scraper/scripts/search_google_ads.py \ --company "Shopify" --region US

Limit results

限制结果数量

python3 skills/google-ad-scraper/scripts/search_google_ads.py
--domain "hubspot.com" --max-ads 30
python3 skills/google-ad-scraper/scripts/search_google_ads.py \ --domain "hubspot.com" --max-ads 30

Human-readable summary

人类可读格式摘要

python3 skills/google-ad-scraper/scripts/search_google_ads.py
--company "Stripe" --output summary
undefined
python3 skills/google-ad-scraper/scripts/search_google_ads.py \ --company "Stripe" --output summary
undefined

How It Works

工作原理

  1. Advertiser Resolution (if no
    --advertiser-id
    provided):
    • Takes company name or domain
    • Searches Google Ads Transparency Center using Apify's web-scraper (Puppeteer)
    • Extracts advertiser ID(s) from search results (format:
      AR
      + 20 digits)
  2. Ad Scraping:
    • Constructs transparency center URL for the advertiser
    • Calls the Apify
      xtech/google-ad-transparency-scraper
      actor
    • Polls until complete, fetches dataset
  3. Output: Returns ads as JSON or human-readable summary
  1. 广告主解析(未提供
    --advertiser-id
    时):
    • 接收公司名称或域名
    • 使用Apify的网页爬虫(Puppeteer)搜索Google Ads透明度中心
    • 从搜索结果中提取广告主ID(格式:
      AR
      + 20位数字)
  2. 广告抓取
    • 为广告主构建透明度中心URL
    • 调用Apify的
      xtech/google-ad-transparency-scraper
      Actor
    • 轮询直到任务完成,获取数据集
  3. 输出:以JSON格式或人类可读的摘要形式返回广告数据

Advertiser ID Resolution

广告主ID解析

The script handles the name → ID lookup automatically:
  • By domain (
    --domain nike.com
    ): Searches
    adstransparency.google.com/?domain=nike.com
    . Most reliable method.
  • By name (
    --company "Nike"
    ): Searches
    adstransparency.google.com/?text=Nike
    . May return multiple matches.
  • Direct ID (
    --advertiser-id AR...
    ): Skips lookup entirely. Use when you already have the ID.
脚本会自动处理名称到ID的查找:
  • 按域名
    --domain nike.com
    ):搜索
    adstransparency.google.com/?domain=nike.com
    ,这是最可靠的方式。
  • 按名称
    --company "Nike"
    ):搜索
    adstransparency.google.com/?text=Nike
    ,可能返回多个匹配结果。
  • 直接使用ID
    --advertiser-id AR...
    ):完全跳过查找步骤,适用于已获取ID的情况。

Finding the Advertiser ID Manually

手动查找广告主ID

If auto-resolution fails:
  1. Go to https://adstransparency.google.com
  2. Search for the company
  3. Click on the advertiser
  4. Copy the ID from the URL:
    https://adstransparency.google.com/advertiser/AR17828074650563772417
  5. Pass it via
    --advertiser-id AR17828074650563772417
如果自动解析失败:
  1. 访问https://adstransparency.google.com
  2. 搜索目标公司
  3. 点击广告主条目
  4. 从URL中复制ID:
    https://adstransparency.google.com/advertiser/AR17828074650563772417
  5. 通过
    --advertiser-id AR17828074650563772417
    参数传入

CLI Reference

CLI参考

FlagDefaultDescription
--company
noneCompany name to search
--domain
noneCompany domain (e.g. nike.com) — more precise
--advertiser-id
noneGoogle Ads advertiser ID(s), comma-separated (skips lookup)
--region
anywhereRegion filter (US, GB, DE, etc. or "anywhere")
--max-ads
50Maximum number of ads to return
--output
jsonOutput format:
json
or
summary
--token
env varApify token (prefer
APIFY_API_TOKEN
env var)
--timeout
300Max seconds to wait for Apify run
At least one of
--company
,
--domain
, or
--advertiser-id
is required.
参数默认值描述
--company
要搜索的公司名称
--domain
公司域名(例如nike.com)——精度更高
--advertiser-id
Google Ads广告主ID,可逗号分隔多个(跳过查找步骤)
--region
anywhere区域过滤(US、GB、DE等,或"anywhere")
--max-ads
50返回的最大广告数量
--output
json输出格式:
json
summary
--token
环境变量Apify令牌(优先使用环境变量
APIFY_API_TOKEN
--timeout
300等待Apify任务完成的最长秒数
必须提供
--company
--domain
--advertiser-id
中的至少一个参数。

Output Fields

输出字段

Each ad in the output may contain (varies by ad format):
json
{
  "advertiser_name": "Nike, Inc.",
  "advertiser_id": "AR13129532367502835713",
  "ad_format": "TEXT",
  "headline": "Nike.com - Official Site",
  "description": "Shop the latest Nike shoes, clothing...",
  "display_url": "nike.com",
  "destination_url": "https://www.nike.com/",
  "region": "United States",
  "last_shown": "2026-02-20",
  "first_shown": "2026-01-15",
  "image_url": "https://...",
  "video_url": "https://..."
}
输出中的每条广告可能包含以下字段(因广告格式而异):
json
{
  "advertiser_name": "Nike, Inc.",
  "advertiser_id": "AR13129532367502835713",
  "ad_format": "TEXT",
  "headline": "Nike.com - Official Site",
  "description": "Shop the latest Nike shoes, clothing...",
  "display_url": "nike.com",
  "destination_url": "https://www.nike.com/",
  "region": "United States",
  "last_shown": "2026-02-20",
  "first_shown": "2026-01-15",
  "image_url": "https://...",
  "video_url": "https://..."
}

Cost

成本

  • Advertiser lookup: ~$0.05 (one web-scraper page)
  • Ad scraping: Varies by actor pricing, typically a few cents per advertiser
  • 广告主查找:约0.05美元(一个网页爬虫页面)
  • 广告抓取:根据Actor定价而异,通常每个广告主仅需几美分

Common Workflows

常见工作流

1. Competitor Ad Research

1. 竞品广告调研

bash
python3 skills/google-ad-scraper/scripts/search_google_ads.py \
  --domain "competitor.com" --max-ads 100 --output summary
bash
python3 skills/google-ad-scraper/scripts/search_google_ads.py \\
  --domain "competitor.com" --max-ads 100 --output summary

2. Compare Multiple Competitors

2. 对比多个竞品

bash
undefined
bash
undefined

Get IDs first, then scrape in one run

先获取ID,再一次性抓取

python3 skills/google-ad-scraper/scripts/search_google_ads.py
--advertiser-id "AR111,AR222,AR333" --max-ads 50
undefined
python3 skills/google-ad-scraper/scripts/search_google_ads.py \ --advertiser-id "AR111,AR222,AR333" --max-ads 50
undefined

3. Regional Ad Targeting Analysis

3. 区域广告投放分析

bash
undefined
bash
undefined

See what ads run in specific regions

查看特定区域投放的广告

python3 skills/google-ad-scraper/scripts/search_google_ads.py
--domain "shopify.com" --region US --output summary
python3 skills/google-ad-scraper/scripts/search_google_ads.py
--domain "shopify.com" --region GB --output summary
undefined
python3 skills/google-ad-scraper/scripts/search_google_ads.py \ --domain "shopify.com" --region US --output summary
python3 skills/google-ad-scraper/scripts/search_google_ads.py \ --domain "shopify.com" --region GB --output summary
undefined

Limitations

局限性

  • Advertiser ID lookup uses Puppeteer-based web scraping of Google's SPA. It may occasionally fail — use
    --domain
    for best results or provide
    --advertiser-id
    directly.
  • Ad coverage: Google only shows ads from verified advertisers. Some smaller advertisers may not appear.
  • Historical data: The Transparency Center primarily shows recently active ads.
  • 广告主ID查找使用基于Puppeteer的网页爬虫抓取Google的单页应用,偶尔可能失败——建议使用
    --domain
    参数以获得最佳效果,或直接提供
    --advertiser-id
  • 广告覆盖范围:Google仅展示已验证广告主的广告,部分小型广告主可能不会显示。
  • 历史数据:透明度中心主要展示近期活跃的广告。

Configuration

配置

See
references/apify-config.md
for detailed API configuration, token setup, and rate limits.
详见
references/apify-config.md
获取详细的API配置、令牌设置和速率限制说明。",