Skip to content
onelayer.
All tools

Tool detail

search

Searches the Facebook Ad Library by keyword and returns matching ad creatives, headline, copy, CTA, media, advertiser and run dates, across Facebook, Instagram, Messenger and Threads.

Categories: SEO marketing

Use when

  • find competitor ads on Facebook or Instagram
  • search political or commercial ads by keyword
  • see what ad creative a brand is currently running

Not for

  • not per-advertiser browsing by name, use the advertiser or page endpoints
  • not TikTok ads, Meta platforms only

Inputs

GET query param: q (keyword, required); optional country, ad_type, media_type, period, platforms, limit (1-60), active_status, sort_by

Admitted input schema

{
  "type": "object",
  "properties": {
    "active_status": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "enum": [
        "all",
        "active",
        "inactive"
      ],
      "description": "Filter by whether the ad is still running."
    },
    "ad_type": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "enum": [
        "all",
        "political_and_issue_ads",
        "housing_ads",
        "employment_ads",
        "credit_ads",
        "financial_products_and_services_ads"
      ],
      "description": "Ad category filter. political_and_issue_ads MAY add spend + impressions ranges when Meta discloses them (often absent)."
    },
    "country": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "description": "Two-letter ISO country (US, GB, DE, BR…) the ads target, or ALL for a bounded multi-region sweep (slower). Default US."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 60,
      "description": "Max ads to return (1-60)."
    },
    "media_type": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "enum": [
        "all",
        "image",
        "video",
        "meme",
        "image_and_meme",
        "none"
      ],
      "description": "Creative format filter."
    },
    "period": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "enum": [
        "",
        "last24h",
        "last7d",
        "last14d",
        "last30d"
      ],
      "description": "Limit to ads active in this window. Blank = all time."
    },
    "platforms": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "description": "Comma-separated publisher filter: FACEBOOK,INSTAGRAM,MESSENGER,AUDIENCE_NETWORK,THREADS,WHATSAPP. Blank = all."
    },
    "q": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "description": "Keyword/phrase to search ads for (e.g. \"running shoes\", \"crypto wallet\"). Defaults to a demo query if omitted."
    },
    "resolve_advertiser": {
      "type": "boolean",
      "description": "Also resolve each advertiser’s page identity (verified status, categories, profile pic). Slower. Default false."
    },
    "sort_by": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "enum": [
        "impressions_desc",
        "most_recent"
      ],
      "description": "most_recent (newest/currently-running first — default) or impressions_desc (all-time highest-impression ads, often older/ended)."
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false
}

Endpoint

Method
GET
URL
https://ads.apitoll.cloud/v1/ads/facebook/search

Payment

Protocol
x402
Listed price
0.03 USDC per call on Base
Payment method
exact
Network
eip155:8453
Asset
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Listed terms are catalog metadata. The caller supplies inputs and calls the tool outside Onelayer. If payment is required, the caller uses a compatible wallet to pay.

Source

Record
GET https://ads.apitoll.cloud/v1/ads/facebook/search
Retrieved
2026-09-30T20:37:07.382Z
Catalog file SHA-256
6837ccddf886f0007cf3727ea9d27faaa5047b51b4f425345c554ce1c271a524
Catalog built
2026-09-30T22:31:58.034Z