mcpField
M
meta-ad-scraper

meta-ad-scraper

github.com/gooseworks-ai营销与增长1.3k63 次安装3 天前更新
代码仓库

关于 meta-ad-scraper

meta-ad-scraper 是用于搜索 Meta 广告资料库的 Python 命令行技能,可按公司、关键词、Facebook 专页 URL 或域名查询。它通过 Apify 的 Facebook 广告抓取 Actor 获取广告,并支持 JSON 或摘要输出及筛选条件。

主要功能

  1. 01按公司、关键词或专页 URL 搜索
  2. 02按国家和广告状态筛选
  3. 03设置结果数量上限
  4. 04输出 JSON 或可读摘要
  5. 05通过 Apify Actor 获取广告

适用场景

  1. 01查看竞争对手的活跃广告
  2. 02按行业关键词探索广告
  3. 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

工作原理

  1. 接收公司名称、关键词或 Facebook 公共主页 URL
  2. 根据搜索查询和筛选条件构造 Meta 广告库 URL
  3. 通过 REST API 调用 Apify apify/facebook-ads-scraper actor
  4. 轮询直到运行完成,然后获取数据集
  5. 解析广告数据,并以 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
--countryALL2 位国家/地区代码(US、GB、DE 等)或 ALL
--ad-statusactiveactive 或 all(包含非活跃广告)
--max-ads50要返回的广告数量上限
--outputjson输出格式:json 或 summary
--token环境变量Apify 令牌(建议使用 APIFY_API_TOKEN 环境变量)
--timeout300等待 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