问答

Meta 广告库 API 要钱吗?有哪些限制?

简短回答

Meta 的广告库 API 不收费,但要先用证件完成身份验证;而且对没投到欧盟的广告,它只返回社会议题、选举和政治类广告,也不给图片和视频文件。要查任意国家的普通商业广告,okdata 每次调用返回 30 条,$0.004,1000 条广告共 $0.136。

一个在美国卖便携咖啡机的创业者,想把 Facebook 和 Instagram 上所有提到这个品类的广告连同素材整理成表,交给设计师参考。官方广告库 API 不要钱,看起来是首选。两个小时后,护照传了,开发者应用也建了,一查却是空的:没投到欧盟的广告,API 只返回政治和社会议题类。

Meta 官方 API 给什么

以下是 Meta 文档里 ads_archive 接口的规则,2026 年 11 月 12 日核对:

官方广告库 API
价格 免费
申请条件 在 facebook.com/ID 完成身份和所在地验证,再注册 Meta 开发者账号、建应用;没验证的调用返回错误码 10
商业广告 只有投到欧盟的才返回,保留一年;其他地区只返回社会议题、选举和政治类广告
素材 文字字段,加一个渲染广告的 ad_snapshot_url;没有图片、视频文件地址
花费和曝光 只有政治和社会议题广告有
按主页查 每次最多 10 个主页 ID
频率限制 没有公开的固定配额,按 Graph API 限流,超限返回错误码 613

做政治广告研究,或者要用欧盟广告的定向和触达分布,官方 API 是正确的工具,这里替代不了。

查任意国家的商业广告

okdata 读的是公开的广告库页面,也就是任何人都能打开浏览的那些,返回结构化数据:

  • Meta 广告库搜索:按关键词搜,可设 country、status(在投、已停投或全部)、media(图片或视频)和 sort(按曝光或按最新)。每条广告有广告主、文案、标题、图片和视频地址、落地页、投放平台和开始日期。
  • Meta 广告主的广告:按 Facebook 主页 ID 或品牌名,列出一个广告主在投的广告。
  • Meta 广告详情:按广告库 ID 或链接取一条广告,带首次和最近投放日期,以及是否仍在投放。
任务 调用次数 费用
一个关键词、一个国家,取 300 条广告 10 $0.04
10 个竞品的在投广告,各取 2 页 20 $0.08
检查收藏的 50 条广告是否还在投 50 $0.20

不用建开发者应用,也不用上传证件。新 Key 自带 $0.10 试用额度。

curl -G "https://api.okdata.online/v1/meta/ads/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode "query=portable espresso" \
  -d country=US -d status=active -d media=video

下一页把 page.next_cursor 作为 cursor 传回去,每一页都单独计一次调用。

这边同样有限制

  • 花费和触达要看 Meta 公不公开。 欧盟以外的商业广告,广告库里没有花费、曝光和触达,所以 reach 为 null,并写在 meta.unavailable 里。投到欧盟的广告有 Meta 给的触达数。
  • 停投的广告会消失。 在欧盟以外,只有社会议题、选举和政治类广告停投后还留在广告库,所以 status=inactive 查到的大多是欧盟广告和政治广告。
  • 素材链接指向 Meta 的服务器。 想留存的素材要自己下载,这类链接可能过期。
  • 只有公开数据。 读不到广告账户里的东西,定向信息也只有广告库展示的那些。

怎么选

做政治广告研究、或者欧盟广告研究需要定向和人群触达,又不介意验证身份,用 Meta 官方 API。偶尔看一眼,直接用广告库网页,免费也不用登录。要在脚本或 Agent 里批量拿美国、亚洲等地的商业广告和素材,用 okdata。付费的广告情报工具会估算花费、保存长期历史,这些是任何广告库都不公开的。完整流程见广告情报,全部接口价格见价格页。

更新于