问答
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。付费的广告情报工具会估算花费、保存长期历史,这些是任何广告库都不公开的。完整流程见广告情报,全部接口价格见价格页。
更新于