关于 meta-ad-scraper
meta-ad-scraper 是用于搜索 Meta 广告资料库的 Python 命令行技能,可按公司、关键词、Facebook 专页 URL 或域名查询。它通过 Apify 的 Facebook 广告抓取 Actor 获取广告,并支持 JSON 或摘要输出及筛选条件。
主要功能
- 01按公司、关键词或专页 URL 搜索
- 02按国家和广告状态筛选
- 03设置结果数量上限
- 04输出 JSON 或可读摘要
- 05通过 Apify Actor 获取广告
适用场景
- 01查看竞争对手的活跃广告
- 02按行业关键词探索广告
- 03比较不同广告主的文案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill meta-ad-scraper安装后在 Claude Code 中输入/meta-ad-scraper确认已加载。
附带文件scripts/search_meta_ads.pyskill.meta.json
详细介绍
Meta 广告库抓取器
使用 Apify apify/facebook-ads-scraper actor 抓取 Meta 广告库中的广告。涵盖 Facebook、Instagram、Messenger、Threads 和 WhatsApp。
快速开始
需要设置 APIFY_API_TOKEN 环境变量(或使用 --token 标志)。安装依赖:pip install requests。
# Search ads by company name
python3 skills/meta-ad-scraper/scripts/search_meta_ads.py \
--company "Nike"
# Search with country filter
python3 skills/meta-ad-scraper/scripts/search_meta_ads.py \
--company "Shopify" --country US
# Search by keyword (broader than company name)
python3 skills/meta-ad-scraper/scripts/search_meta_ads.py \
--company "project management software"
# Limit results
python3 skills/meta-ad-scraper/scripts/search_meta_ads.py \
--company "HubSpot" --max-ads 20
# Search by Facebook Page URL directly
python3 skills/meta-ad-scraper/scripts/search_meta_ads.py \
--page-url "https://www.facebook.com/nike"
# Only active ads (default), or all ads
python3 skills/meta-ad-scraper/scripts/search_meta_ads.py \
--company "Salesforce" --ad-status all
# Human-readable summary
python3 skills/meta-ad-scraper/scripts/search_meta_ads.py \
--company "Stripe" --output summary
工作原理
- 接收公司名称、关键词或 Facebook 公共主页 URL
- 根据搜索查询和筛选条件构造 Meta 广告库 URL
- 通过 REST API 调用 Apify
apify/facebook-ads-scraperactor - 轮询直到运行完成,然后获取数据集
- 解析广告数据,并以 JSON 或易读摘要的形式输出
将公司名称解析为广告
脚本会自动处理广告主查找:
- 公司名称:构造类似
facebook.com/ads/library/?q=CompanyName的搜索 URL,Apify actor 会在 Meta 广告库中搜索匹配的广告主 - 公共主页 URL:如果你有 Facebook 公共主页 URL,可通过
--page-url传入以精确匹配 - 域名:也可以传入域名,脚本会据此进行搜索
无需手动查找公共主页 ID。Apify actor 会在内部解析搜索结果。
CLI 参考
| 标志 | 默认值 | 说明 |
|---|---|---|
--company | 必填* | 要搜索的公司名称或关键词 |
--page-url | 无 | 用于精确匹配广告主的 Facebook 公共主页 URL |
--country | ALL | 2 位国家/地区代码(US、GB、DE 等)或 ALL |
--ad-status | active | active 或 all(包含非活跃广告) |
--max-ads | 50 | 要返回的广告数量上限 |
--output | json | 输出格式:json 或 summary |
--token | 环境变量 | Apify 令牌(建议使用 APIFY_API_TOKEN 环境变量) |
--timeout | 300 | 等待 Apify 运行的最长秒数 |
*必须提供 --company 或 --page-url 其中之一。
输出字段
输出中的每条广告都包含:
{
"ad_id": "123456789",
"page_name": "Nike",
"page_id": "123456789",
"ad_text": "Just Do It. Shop the latest...",
"ad_creative_link_title": "Nike.com",
"ad_creative_link_description": "Free shipping on orders...",
"ad_creative_link_url": "https://nike.com/...",
"image_url": "https://...",
"video_url": "https://...",
"ad_delivery_start_time": "2026-01-15",
"ad_delivery_stop_time": null,
"currency": "USD",
"spend_lower": 100,
"spend_upper": 499,
"impressions_lower": 1000,
"impressions_upper": 4999,
"platforms": ["facebook", "instagram"],
"status": "ACTIVE"
}
费用
Apify Free plan 上每抓取 1,000 条广告约需 $5。付费计划更便宜(每 1,000 条 $3.40–$5)。
常见工作流
1. 竞品广告调研
python3 skills/meta-ad-scraper/scripts/search_meta_ads.py \
--company "Competitor Name" --country US --max-ads 100 --output summary
2. 行业广告概况
# Search by keyword to see all advertisers in a space
python3 skills/meta-ad-scraper/scripts/search_meta_ads.py \
--company "CRM software" --max-ads 50
3. 比较多个竞品
针对每个竞品多次运行脚本,并比较创意方式、文案和支出范围。
重要说明
- 欧盟/英国广告数据最完整:Meta 会存档在欧盟/英国展示的所有广告。对于仅面向美国的广告,覆盖范围可能仅限于政治/议题广告。
- 活跃广告与全部广告:默认仅返回活跃广告。使用
--ad-status all可包含历史广告。 - 速率限制:Apify 会在内部处理速率限制。对于大规模抓取,请增大
--timeout。
配置
详细的 API 配置、令牌设置和速率限制信息,请参阅 references/apify-config.md。
评论
支持 Markdown