google-ad-scraper
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGoogle Ads Transparency Scraper
Google Ads 透明度中心爬虫
Scrape ads from Google's Ads Transparency Center using the Apify actor. Covers Search, YouTube, Display, and Gmail ads.
xtech/google-ad-transparency-scraper使用Apify的 Actor从Google Ads透明度中心抓取广告,涵盖搜索、YouTube、展示和Gmail广告。
xtech/google-ad-transparency-scraperQuick Start
快速开始
Requires env var (or flag). Install dependency: .
APIFY_API_TOKEN--tokenpip install requestsbash
undefined需要设置环境变量(或使用参数)。安装依赖:。
APIFY_API_TOKEN--tokenpip install requestsbash
undefinedSearch by company name (auto-resolves advertiser ID)
按公司名称搜索(自动解析广告主ID)
python3 skills/google-ad-scraper/scripts/search_google_ads.py
--company "Nike"
--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"
--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"
--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
--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
--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
--company "Stripe" --output summary
undefinedpython3 skills/google-ad-scraper/scripts/search_google_ads.py \
--company "Stripe" --output summary
undefinedHow It Works
工作原理
- Advertiser Resolution (if no provided):
--advertiser-id- Takes company name or domain
- Searches Google Ads Transparency Center using Apify's web-scraper (Puppeteer)
- Extracts advertiser ID(s) from search results (format: + 20 digits)
AR
- Ad Scraping:
- Constructs transparency center URL for the advertiser
- Calls the Apify actor
xtech/google-ad-transparency-scraper - Polls until complete, fetches dataset
- Output: Returns ads as JSON or human-readable summary
- 广告主解析(未提供时):
--advertiser-id- 接收公司名称或域名
- 使用Apify的网页爬虫(Puppeteer)搜索Google Ads透明度中心
- 从搜索结果中提取广告主ID(格式:+ 20位数字)
AR
- 广告抓取:
- 为广告主构建透明度中心URL
- 调用Apify的Actor
xtech/google-ad-transparency-scraper - 轮询直到任务完成,获取数据集
- 输出:以JSON格式或人类可读的摘要形式返回广告数据
Advertiser ID Resolution
广告主ID解析
The script handles the name → ID lookup automatically:
- By domain (): Searches
--domain nike.com. Most reliable method.adstransparency.google.com/?domain=nike.com - By name (): Searches
--company "Nike". May return multiple matches.adstransparency.google.com/?text=Nike - Direct ID (): Skips lookup entirely. Use when you already have the ID.
--advertiser-id AR...
脚本会自动处理名称到ID的查找:
- 按域名():搜索
--domain nike.com,这是最可靠的方式。adstransparency.google.com/?domain=nike.com - 按名称():搜索
--company "Nike",可能返回多个匹配结果。adstransparency.google.com/?text=Nike - 直接使用ID():完全跳过查找步骤,适用于已获取ID的情况。
--advertiser-id AR...
Finding the Advertiser ID Manually
手动查找广告主ID
If auto-resolution fails:
- Go to https://adstransparency.google.com
- Search for the company
- Click on the advertiser
- Copy the ID from the URL:
https://adstransparency.google.com/advertiser/AR17828074650563772417 - Pass it via
--advertiser-id AR17828074650563772417
如果自动解析失败:
- 访问https://adstransparency.google.com
- 搜索目标公司
- 点击广告主条目
- 从URL中复制ID:
https://adstransparency.google.com/advertiser/AR17828074650563772417 - 通过参数传入
--advertiser-id AR17828074650563772417
CLI Reference
CLI参考
| Flag | Default | Description |
|---|---|---|
| none | Company name to search |
| none | Company domain (e.g. nike.com) — more precise |
| none | Google Ads advertiser ID(s), comma-separated (skips lookup) |
| anywhere | Region filter (US, GB, DE, etc. or "anywhere") |
| 50 | Maximum number of ads to return |
| json | Output format: |
| env var | Apify token (prefer |
| 300 | Max seconds to wait for Apify run |
At least one of , , or is required.
--company--domain--advertiser-id| 参数 | 默认值 | 描述 |
|---|---|---|
| 无 | 要搜索的公司名称 |
| 无 | 公司域名(例如nike.com)——精度更高 |
| 无 | Google Ads广告主ID,可逗号分隔多个(跳过查找步骤) |
| anywhere | 区域过滤(US、GB、DE等,或"anywhere") |
| 50 | 返回的最大广告数量 |
| json | 输出格式: |
| 环境变量 | Apify令牌(优先使用环境变量 |
| 300 | 等待Apify任务完成的最长秒数 |
必须提供、或中的至少一个参数。
--company--domain--advertiser-idOutput 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 summarybash
python3 skills/google-ad-scraper/scripts/search_google_ads.py \\
--domain "competitor.com" --max-ads 100 --output summary2. Compare Multiple Competitors
2. 对比多个竞品
bash
undefinedbash
undefinedGet 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
--advertiser-id "AR111,AR222,AR333" --max-ads 50
undefinedpython3 skills/google-ad-scraper/scripts/search_google_ads.py \
--advertiser-id "AR111,AR222,AR333" --max-ads 50
undefined3. Regional Ad Targeting Analysis
3. 区域广告投放分析
bash
undefinedbash
undefinedSee what ads run in specific regions
查看特定区域投放的广告
python3 skills/google-ad-scraper/scripts/search_google_ads.py
--domain "shopify.com" --region US --output summary
--domain "shopify.com" --region US --output summary
python3 skills/google-ad-scraper/scripts/search_google_ads.py
--domain "shopify.com" --region GB --output summary
--domain "shopify.com" --region GB --output summary
undefinedpython3 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
undefinedLimitations
局限性
- Advertiser ID lookup uses Puppeteer-based web scraping of Google's SPA. It may occasionally fail — use for best results or provide
--domaindirectly.--advertiser-id - 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 for detailed API configuration, token setup, and rate limits.
references/apify-config.md详见获取详细的API配置、令牌设置和速率限制说明。",
references/apify-config.md