Facebook API

Facebook 广告搜索 API

按关键词搜索 Meta 广告资料库,返回匹配的广告(广告主、创意文案、CTA、投放平台和投放日期),支持游标分页。

POST/v1/run/facebook.ads_search
可用率
99.78%
30d · 4,514 次调用
请求数
4,515
30d · 按周,近 12 周
响应时间
2.8s
中位数 · 30d

试一试

发出你的第一个请求

requireFieldsarray
可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `totalResults`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某条广告确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。
打开于
获取免费密钥
示例响应
免费运行只返回前 3 条结果。为密钥充值即可获得完整响应。
{
  "data": {
    "ads": [
      {
        "active": true,
        "adCount": 12500,
        "caption": "A short example description of this item.",
        "categories": [
          "example"
        ],
        "ctaText": "A short example description of this item.",
        "ctaType": "general",
        "displayFormat": "example",
        "endDate": 42,
        "id": "a1b2c3d4",
        "isReshared": true,
        "linkDescription": "https://example.com/page",
        "linkUrl": "https://example.com/page",
        "media": [
          {
            "height": 42,
            "type": "general",
            "url": "https://example.com/page",
            "videoUrl": "https://example.com/page",
            "width": 1024
          }
        ],
        "pageCategories": [
          "example"
        ],
        "pageDeleted": false,
        "pageId": "a1b2c3d4",
        "pageLikes": 12500,
        "pageName": "Example title",
        "pageProfilePicture": "https://example.com/image.jpg",
        "pageUrl": "https://example.com/page",
        "platforms": [
          "example"
        ],
        "sourceUrl": "https://example.com/page",
        "startDate": 42,
        "text": "A short example description of this item.",
        "title": "Example title"
      }
    ],
    "nextCursor": "example",
    "totalResults": 12500
  },
  "found": true,
  "reason": "not_found"
}
响应类型定义
interface FacebookAdsSearchResponse {
  data: {
    ads: {
      active: boolean;
      adCount: number | null;
      caption?: string;
      categories?: string[];
      ctaText: string;
      ctaType: string;
      displayFormat: string;
      endDate: number;
      id: string;
      isReshared?: boolean;
      linkDescription?: string;
      linkUrl: string;
      media?: {
        height?: number;
        type: string;
        url: string;
        videoUrl?: string;
        width?: number;
      }[];
      pageCategories?: string[];
      pageDeleted?: boolean;
      pageId: string;
      pageLikes?: number;
      pageName: string;
      pageProfilePicture?: string;
      pageUrl?: string;
      platforms: string[];
      sourceUrl: string;
      startDate: number;
      text: string;
      title: string;
    }[];
    nextCursor: string | null;
    totalResults: number | null;
  } | null;
  found: boolean;
  reason?: "not_found";
}

完整的参数与响应参考:这个接口的每个字段、类型和示例。

参考

请求、响应与价格

最近验证于 2026-09-29 · 可用率和延迟按 30d 统计
POST /v1/run/facebook.ads_search
curl -X POST https://api.getanyapi.com/v1/run/facebook.ads_search \
  -H "Authorization: Bearer $ANYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country":"US","query":"nike","searchType":"keyword_exact_phrase"}'
字段类型示例值
请求体
querystring"nike"在 Meta 广告资料库中搜索的关键词(例如 "protein powder")。
adTypeenum限定为全部广告(默认)或仅政治和社会议题广告。
countrystring"US"用于限定结果范围的两字母国家代码。省略则包含所有国家。
cursorstring上一次响应的 nextCursor 返回的不透明分页游标。
endDatestring筛选在此日期或之前有展示的广告,格式为 YYYY-MM-DD。
mediaTypeenum创意媒体类型筛选。
requireFieldsarray可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `totalResults`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某条广告确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。
searchTypeenum"keyword_exact_phrase"查询的匹配方式:宽松关键词匹配(keyword_unordered,默认)或精确短语匹配(keyword_exact_phrase)。
sortByenum排序方式:impressions(展示量从高到低,默认)或 recent(最新)。
startDatestring筛选在此日期或之后有展示的广告,格式为 YYYY-MM-DD。
statusenum广告状态筛选。
响应
dataobject
data.adsobject[]
data.ads[].activeboolean
data.ads[].adCountintegerNumber of ads in this campaign (collation count). Null when the source does not report it.
data.ads[].captionstringCaption line of the ad creative, usually the advertiser's display domain.
data.ads[].categoriesstring[]Ad Library categories the ad is filed under.
data.ads[].ctaTextstringPopulated whenever the provider has data for the entity.
data.ads[].ctaTypestringPopulated whenever the provider has data for the entity.
data.ads[].displayFormatstringPopulated whenever the provider has data for the entity.
data.ads[].endDateintegerEpoch seconds.
data.ads[].idstringAd Library archive ID. Populated whenever the provider has data for the entity.
data.ads[].isResharedbooleanWhether the ad creative is a reshare of another post.
data.ads[].linkDescriptionstringDescription text shown under the ad's link.
data.ads[].linkUrlstringPopulated whenever the provider has data for the entity.
data.ads[].mediaobject[]Creative attached to the ad: one element per image, video, or carousel card, in the order the ad presents them. Empty when the ad has none.
data.ads[].media[].heightintegerPixel height of the media item, when the lane reports it.
data.ads[].media[].typestringOne of photo, video, or gif.
data.ads[].media[].urlstringImage URL. For a video or GIF this is the poster/thumbnail frame.
data.ads[].media[].videoUrlstringPlayable video file URL. Present only for video and gif items.
data.ads[].media[].widthintegerPixel width of the media item, when the lane reports it.
data.ads[].pageCategoriesstring[]Categories Facebook lists the advertising page under.
data.ads[].pageDeletedbooleanWhether the advertising page has been deleted.
data.ads[].pageIdstringPopulated whenever the provider has data for the entity.
data.ads[].pageLikesintegerLike count of the advertising page.
data.ads[].pageNamestringPopulated whenever the provider has data for the entity.
data.ads[].pageProfilePicturestringProfile picture of the advertising page. This is the advertiser's identity image, not ad creative.
data.ads[].pageUrlstringCanonical Facebook URL of the advertising page.
data.ads[].platformsstring[]Populated whenever the provider has data for the entity.
data.ads[].sourceUrlstringInspectable Meta Ad Library URL for this ad. Populated whenever the provider has data for the entity.
data.ads[].startDateintegerEpoch seconds. Populated whenever the provider has data for the entity.
data.ads[].textstringAd body text. Populated whenever the provider has data for the entity.
data.ads[].titlestringPopulated whenever the provider has data for the entity.
data.nextCursorstringOpaque cursor for the next page of ads, or null when this lane has no more. Pass it back as cursor to continue.
data.totalResults可设为必填integerTotal number of ads matching the search. Null when the source cannot report an exact count.
foundboolean
reason"not_found"Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
价格
每次请求价格USDUS$0.0012
价格(/千次请求)USDUS$1.20

常见问题

关于 Facebook 广告搜索 API

AnyAPI 的 Facebook 广告搜索 API 只需一次 POST 请求 /v1/run/facebook.ads_search,就以统一格式的 JSON 返回 Facebook 数据。按关键词搜索 Meta 广告资料库,返回匹配的广告(广告主、创意文案、CTA、投放平台和投放日期),支持游标分页。AnyAPI 会在 3 个数据源之间路由每个请求,某个数据源失败时自动切换。费用:每千次请求 US$1.20 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 Facebook 广告搜索 API 调用中有 99.8% 成功,响应时间中位数为 2.8 秒,共测量 4,514 次调用。

费用:每千次请求 US$1.20 起,以美元计价,无需订阅,也没有每月最低消费。你只需为一个美元钱包充值,每次调用从中扣费。部分由钱包付费的失败请求会产生处理费用,我们按成本原价转嫁,不加价;错误响应会显示收取的金额。

按关键词搜索 Meta 广告资料库,返回匹配的广告(广告主、创意文案、CTA、投放平台和投放日期),支持游标分页。响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。

过去 30 天,通过 AnyAPI 发起的 Facebook 广告搜索 API 调用中有 99.8% 成功,响应时间中位数为 2.8 秒,共测量 4,514 次调用。这些是 AnyAPI 对经过网关的流量的自有测量,持续重新计算,并非公开承诺的服务等级目标。