You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Facebook Ads API获取可广告定位城市完整列表及参数

使用Facebook Ads API获取广告定位城市完整列表的方法

一、解决API请求空结果的问题

你之前用search?location_types=["city"]&transport=cors&type=adgeolocation返回空结果,核心原因是城市属于次级地理单元,必须搭配上级地理范围参数才能查询,而国家作为顶级单元可直接查询。

正确的请求参数与示例

要获取指定国家的城市列表,必须添加country参数(传入ISO 3166-1 alpha-2国家代码),同时携带有效的access_token(需具备广告账户相关权限)。示例请求如下:

search?type=adgeolocation&location_types=%5B%22city%22%5D&country=CN&access_token=YOUR_ACCESS_TOKEN&limit=1000

注:%5B%22city%22%5D是["city"]的URL编码形式,在Graph API Explorer中直接输入["city"],工具会自动完成编码。

关键参数说明

  • type=adgeolocation:固定值,指定搜索广告定位专用的地理位置数据
  • location_types=["city"]:明确返回类型为城市,支持同时指定多个类型(如["city", "region"])
  • country:必填参数(当location_types为city/region时),传入国家代码缩小查询范围
  • access_token:必须携带拥有广告账户权限的令牌,否则会出现权限错误或空结果
  • limit:可选,控制每页返回的最大数量,最大值为1000,可减少分页次数
  • after:分页参数,当返回结果包含paging.next时,提取该参数的值传入下一次请求,直到data字段为空,即可获取完整列表

二、获取全量城市列表的思路

Facebook官方没有提供现成的全量地理位置CSV文件,你可以通过以下方式自行生成:

  • 先调用API获取所有国家列表(即你之前成功的请求:search?type=adgeolocation&location_types=["country"]&access_token=YOUR_ACCESS_TOKEN)
  • 遍历每个国家的代码,依次请求该国家下的城市列表
  • 将所有返回的城市数据整理后导出为CSV文件

三、常见注意事项

  • 若需要获取特定地区(如省份)下的城市,可额外添加region_id参数,传入对应地区的Facebook地理ID
  • 确保你的access_token具备ads_management或business_management权限,否则无法获取完整的定位数据
  • 频繁批量请求可能触发API速率限制,建议添加请求间隔或使用批量请求接口优化

内容的提问来源于stack exchange,提问作者Binu Mathew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:09:26