meta-ads-library

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Meta Ads Library

Meta广告库

Guide for searching the Meta Ads Library and producing structured competitor ad intelligence.
The skill's job is to turn raw scraped ads into useful summaries: top advertisers, common CTAs, recurring hooks, recently launched creatives, and (optionally) enriched lead lists. All output is presented inline in chat — there is no database or persistence layer.
搜索Meta广告库并生成结构化竞品广告情报的指南。
本Skill的作用是将抓取的原始广告转化为实用总结:顶级广告主、常见CTA、高频钩子、近期上线的创意,以及(可选)补充后的线索列表。所有输出均在聊天中直接展示——无数据库或持久化层。

Out of scope — defer to other skills

超出范围——转至其他Skill

RequestSend them to
Multi-source competitor research (site, social, search rank, etc., not just ads)
competitor-intel
Generating new ad creative based on what you found
ad-creative-generation
请求转至
多来源竞品研究(网站、社交平台、搜索排名等,不仅限于广告)
competitor-intel
根据研究结果生成广告创意
ad-creative-generation

Requirements

要求

If
search_facebook_ads
is not in the tool list, stop and tell the user to enable Hyper MCP and connect Apify.
如果工具列表中没有
search_facebook_ads
,请停止操作并告知用户启用Hyper MCP并连接Apify。

Tool surface

工具概览

ToolPurpose
search_facebook_ads
Search the Meta Ads Library by keyword. Returns compact results (title, body, CTA, link, page name, dates, platforms). Max 40 per call.
get_facebook_ad_details
Get full details for a specific ad. Requires both
ad_archive_id
and
page_id
— both come from
search_facebook_ads
results.
search_facebook_ads_enriched
Search + enrich each result with page contact info (email, phone, website). Slower (multiple API calls per result). Max 20 per call.
search_facebook_pages
Search Facebook pages by category + location (not by keyword). Useful for building a lead list from a vertical.
scrape_facebook_pages
Scrape detailed data from specific Facebook page URLs.
工具用途
search_facebook_ads
按关键词搜索Meta广告库。返回精简结果(标题、正文、CTA、链接、页面名称、日期、平台)。每次调用最多返回40条。
get_facebook_ad_details
获取特定广告的完整详情。需要
ad_archive_id
page_id
——两者均来自
search_facebook_ads
的结果。
search_facebook_ads_enriched
搜索并为每个结果补充页面联系信息(邮箱、电话、网站)。速度较慢(每个结果需多次API调用)。每次调用最多返回20条。
search_facebook_pages
按类别+地点搜索Facebook页面(不按关键词)。适用于从垂直领域构建线索列表。
scrape_facebook_pages
从特定Facebook页面URL抓取详细数据。

Critical rules

关键规则

  1. Public-only data. The Meta Ads Library is public. Don't attempt to bypass any access control or scrape private content.
  2. Count limits differ between tools.
    search_facebook_ads
    allows
    count
    up to 40.
    search_facebook_ads_enriched
    caps at 20 — exceeding this returns an error.
  3. get_facebook_ad_details
    needs two IDs.
    Both
    ad_archive_id
    and
    page_id
    are required. Both are returned in every
    search_facebook_ads
    result row — pass them through together.
  4. Enriched search is slow. It makes a Facebook page scrape per ad and optionally a website scrape. Only use it when contact info matters (lead-gen workflows). For pure ad intelligence, use the regular
    search_facebook_ads
    .
  5. Apify-backed tools fail intermittently. Expect occasional
    "fetch failed"
    responses. Retry once after a short delay before reporting the source as missing.
  6. Don't over-interpret a single ad. "Brand X is running a discount" is noise. "5 of the top 10 advertisers in this query are running discounts" is signal. Always aggregate before drawing conclusions.
  1. 仅公开数据。Meta广告库是公开的。请勿尝试绕过任何访问控制或抓取私有内容。
  2. 不同工具的数量限制不同
    search_facebook_ads
    允许
    count
    最多为40。
    search_facebook_ads_enriched
    上限为20——超过此限制会返回错误。
  3. get_facebook_ad_details
    需要两个ID
    。必须同时提供
    ad_archive_id
    page_id
    。两者均在
    search_facebook_ads
    的每条结果中返回——需同时传入。
  4. 补充搜索速度慢。它会为每个广告抓取Facebook页面,还可选择抓取网站。仅在需要联系信息(线索生成流程)时使用。若仅需广告情报,请使用常规的
    search_facebook_ads
  5. 基于Apify的工具可能间歇性失败。偶尔会出现
    "fetch failed"
    响应。在报告资源缺失前,先短暂延迟后重试一次。
  6. 不要过度解读单个广告。“X品牌正在推出折扣”属于噪音。“此查询中排名前10的广告主中有5家正在推出折扣”才是有效信号。得出结论前务必先进行汇总分析。

Workflow

工作流程

Phase 1 — Define the query

阶段1——定义查询条件

Before running anything, agree on:
  1. The search query — keyword(s) competitors would target. Examples:
    "meal kit delivery"
    ,
    "AI marketing tools"
    ,
    "skincare for sensitive skin"
    .
  2. Country — ISO code (e.g.
    "US"
    ,
    "GB"
    ,
    "AU"
    ). Default to
    "ALL"
    only if the user explicitly wants global.
  3. Active vs all
    active_status="active"
    is usually what you want. Inactive ads are historical and noisier.
  4. Time window
    period
    accepts
    "last24h"
    ,
    "last7d"
    ,
    "last14d"
    ,
    "last30d"
    , or
    "all_time"
    . Match the window to the user's intent (weekly digest →
    "last7d"
    , trend research →
    "last30d"
    ).
  5. The job — what is this for?
    • Creative trend report → use
      search_facebook_ads
      , summarize patterns across hooks, CTAs, formats.
    • Top advertiser snapshot → use
      search_facebook_ads
      , group by
      page_name
      .
    • Lead list → use
      search_facebook_ads_enriched
      , filter for rows with
      contact_email
      or
      contact_website
      .
在运行任何操作前,需确认以下内容:
  1. 搜索关键词——竞品可能瞄准的关键词。示例:
    "meal kit delivery"
    "AI marketing tools"
    "skincare for sensitive skin"
  2. 国家——ISO代码(例如
    "US"
    "GB"
    "AU"
    )。仅当用户明确需要全球范围时,默认设为
    "ALL"
  3. 活跃广告vs全部广告——通常选择
    active_status="active"
    。非活跃广告为历史数据,噪音较多。
  4. 时间范围——
    period
    接受
    "last24h"
    "last7d"
    "last14d"
    "last30d"
    "all_time"
    。根据用户意图匹配时间范围(每周摘要→
    "last7d"
    ,趋势研究→
    "last30d"
    )。
  5. 用途——本次操作的目的是什么?
    • 创意趋势报告→使用
      search_facebook_ads
      ,总结钩子、CTA、格式的模式。
    • 顶级广告主快照→使用
      search_facebook_ads
      ,按
      page_name
      分组。
    • 线索列表→使用
      search_facebook_ads_enriched
      ,筛选包含
      contact_email
      contact_website
      的条目。

Phase 2 — Pull the ads

阶段2——抓取广告

search_facebook_ads(
    query="meal kit delivery",
    country="US",
    active_status="active",
    count=40,                # max for this tool
    period="last30d"
)
Each result row includes:
ad_archive_id
,
page_id
,
page_name
,
is_active
,
start_date_formatted
,
end_date_formatted
,
title
,
body
,
cta_text
,
link_url
,
caption
,
ad_library_url
,
page_categories
,
publisher_platform
.
For more than 40 ads, paginate by re-calling with
offset=40
,
offset=80
, etc.
For lead-gen with contact info:
search_facebook_ads_enriched(
    query="meal kit delivery",
    country="US",
    active_status="active",
    count=20,                # max for the enriched tool
    scrape_websites=True,
    filter_spam=False
)
Enriched rows add:
contact_email
,
contact_phone
,
contact_website
,
page_followers
,
page_rating
, address, business hours.
search_facebook_ads(
    query="meal kit delivery",
    country="US",
    active_status="active",
    count=40,                # 此工具的最大值
    period="last30d"
)
每条结果包含:
ad_archive_id
page_id
page_name
is_active
start_date_formatted
end_date_formatted
title
body
cta_text
link_url
caption
ad_library_url
page_categories
publisher_platform
若需获取超过40条广告,可通过重新调用并设置
offset=40
offset=80
等参数进行分页。
如需带联系信息的线索生成:
search_facebook_ads_enriched(
    query="meal kit delivery",
    country="US",
    active_status="active",
    count=20,                # 补充工具的最大值
    scrape_websites=True,
    filter_spam=False
)
补充后的条目新增:
contact_email
contact_phone
contact_website
page_followers
page_rating
、地址、营业时间。

Phase 3 — Get full creative for the most interesting ads (optional)

阶段3——获取最具价值广告的完整创意(可选)

search_facebook_ads
returns truncated bodies for some ads. To get the complete creative — including video URLs and images — call
get_facebook_ad_details
on the specific ads worth a deeper look:
get_facebook_ad_details(
    ad_archive_id="559220927273823",      # from search results
    page_id="328127803978438"             # from search results
)
Both args come from the same row in
search_facebook_ads
. Do this for the top 3–5 ads, not all 40 — each detail call is a separate Apify run.
search_facebook_ads
对部分广告返回截断的正文。如需获取完整创意——包括视频URL和图片——可对值得深入研究的特定广告调用
get_facebook_ad_details
get_facebook_ad_details(
    ad_archive_id="559220927273823",      # 来自搜索结果
    page_id="328127803978438"             # 来自搜索结果
)
两个参数均来自
search_facebook_ads
的同一条结果。仅对排名前3-5的广告执行此操作,而非全部40条——每次详情调用都是独立的Apify任务。

Phase 4 — Surface the intelligence

阶段4——展示情报

Present the findings inline in chat. Pick the format that matches the user's job from Phase 1.
Top advertisers (group by page):
PageActive adsCategoriesNotable angle
Brand A12Restaurant, Meal Kit"Skip the grocery store" hook in 8/12 ads
Brand B7Software, SubscriptionHeavy on UGC video, "$1 first week" offer
Common CTAs and hooks:
PatternCountExamples
Sign up
CTA
18
Shop now
CTA
12
Price-anchor opener ("From $X/week")9
Founder-story opener4
Recently launched ads (last 7 days):
PageStartedCTAHookLibrary URL
Brand A2026-04-28Sign up"Skip the grocery run this week"<ad_library_url>
Lead list (enriched only):
PageEmailWebsiteFollowersActive ads
Brand Ahello@a.coma.com12K7
在聊天中直接展示研究结果。选择与阶段1中用户用途匹配的格式。
顶级广告主(按页面分组):
页面活跃广告数类别显著角度
Brand A12Restaurant, Meal Kit12条广告中有8条使用“跳过杂货店采购”钩子
Brand B7Software, Subscription大量使用UGC视频,主打“首周1美元”优惠
常见CTA和钩子:
模式数量示例
Sign up
CTA
18
Shop now
CTA
12
价格锚点开头(“每周仅X美元起”)9
创始人故事开头4
近期上线广告(过去7天):
页面上线时间CTA钩子广告库URL
Brand A2026-04-28Sign up“本周跳过杂货店采购”<ad_library_url>
线索列表(仅补充版):
页面邮箱网站粉丝数活跃广告数
Brand Ahello@a.coma.com12K7

Phase 5 — Recurring monitoring (optional)

阶段5——定期监控(可选)

If the user wants ongoing tracking:
  1. Save the query, country, and
    active_status
    settings.
  2. Re-run weekly with
    period="last7d"
    .
  3. Brief becomes a delta report — new ads since the last run, advertisers that changed posting cadence, CTA / offer shifts.
This is when
competitor-intel
becomes the better skill — it handles multi-source diffing across many surfaces, not just Meta ads.
如果用户需要持续追踪:
  1. 保存查询关键词、国家和
    active_status
    设置。
  2. 每周重新运行,设置
    period="last7d"
  3. 简报变为增量报告——自上次运行以来的广告、发布节奏变化的广告主、CTA/优惠的变动。
此时
competitor-intel
是更合适的Skill——它可处理多来源的差异对比,不仅限于Meta广告。

Output standards

输出标准

  • Always cite the
    ad_library_url
    for any specific ad referenced in the brief — the user can click through to verify.
  • Aggregate before quoting. Don't paste raw ad bodies; extract the pattern and quote 1–2 representative examples.
  • Mark interpretation explicitly. "Observation: 8 of 10 top advertisers use a 'first week free' offer. Possible interpretation: …".
  • Note the time window. Every brief should state the search query, country, and date range it was generated from.
  • 始终引用
    ad_library_url
    ——简报中提及的任何特定广告都需附上该链接,用户可点击验证。
  • 汇总后再引用。不要粘贴原始广告正文;提取模式并引用1-2个代表性示例。
  • 明确标注解读内容。“观察:排名前10的广告主中有8家使用‘首周免费’优惠。可能的解读:……”。
  • 注明时间范围。每份简报都应说明生成时使用的搜索关键词、国家和日期范围。