ToolAssay

Facebook Ad Library search by keyword — every live and recent ad matching a sear

Facebook Ad Library search by keyword — every live and recent ad matching a search term across all advertisers on Facebook, Instagram, Messenger and Threads. Returns the full ad creative (headline, body copy, CTA button + destination link, image and video URLs), the advertiser, run dates and days-running, and platform mix. Commercial and political ads, no Meta API or login. Competitor ad intelligence, ad spy, and creative research for AI agents.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
938 msmedian answer time
$0.03listed price per call
$0.03price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

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

CategoryImage and media
Provider hostads.apitoll.cloud
Networkseip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days9 from 4 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.03 938 ms

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "country": "US",
    "q": "running shoes"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "active_status": {
              "description": "Filter by whether the ad is still running.",
              "enum": [
                "all",
                "active",
                "inactive"
              ],
              "type": "string"
            },
            "ad_type": {
              "description": "Ad category filter. political_and_issue_ads MAY add spend + impressions ranges when Meta discloses them (often absent).",
              "enum": [
                "all",
                "political_and_issue_ads",
                "housing_ads",
                "employment_ads",
                "credit_ads",
                "financial_products_and_services_ads"
              ],
              "type": "string"
            },
            "country": {
              "description": "Two-letter ISO country (US, GB, DE, BR\u2026) the ads target, or ALL for a bounded multi-region sweep (slower). Default US.",
              "type": "string"
            },
            "limit": {
              "description": "Max ads to return (1-60).",
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            "media_type": {
              "description": "Creative format filter.",
              "enum": [
                "all",
                "image",
                "video",
                "meme",
                "image_and_meme",
                "none"
              ],
              "type": "string"
            },
            "period": {
              "description": "Limit to ads active in this window. Blank = all time.",
              "enum": [
                "",
                "last24h",
                "last7d",
                "last14d",
                "last30d"
              ],
              "type": "string"
            },
            "platforms": {
              "description": "Comma-separated publisher filter: FACEBOOK,INSTAGRAM,MESSENGER,AUDIENCE_NETWORK,THREADS,WHATSAPP. Blank = all.",
              "type": "string"
            },
            "q": {
              "description": "Keyword/phrase to search ads for (e.g. \"running shoes\", \"crypto wallet\"). Defaults to a demo query if omitted.",
              "type": "string"
            },
            "resolve_advertiser": {
              "description": "Also resolve each advertiser\u2019s page identity (verified status, categories, profile pic). Slower. Default false.",
              "type": "boolean"
            },
            "sort_by": {
              "description": "most_recent (newest/currently-running first \u2014 default) or impressions_desc (all-time highest-impression ads, often older/ended).",
              "enum": [
                "impressions_desc",
                "most_recent"
              ],
              "type": "string"
            }
          },
          "required": [
            "q"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "ads": {
              "items": {
                "properties": {
                  "adArchiveId": {
                    "type": "string"
                  },
                  "bodyText": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "ctaText": {
                    "type": "string"
                  },
                  "ctaType": {
                    "type": "string"
                  },
                  "daysRunning": {
                    "type": "number"
                  },
                  "displayFormat": {
                    "type": "string"
                  },
                  "imageUrls": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "linkUrl": {
                    "type": "string"
                  },
                  "linkUrlType": {
                    "type": "string"
                  },
                  "mediaExpiresAt": {
                    "type": "string"
                  },
                  "pageId": {
                    "type": "string"
                  },
                  "pageName": {
                    "type": "string"
                  },
                  "pageVerified": {
                    "type": "boolean"
                  },
                  "publisherPlatform": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "scrapedAt": {
                    "type": "string"
                  },
                  "sourceUrl": {
                    "type": "string"
                  },
                  "startDate": {
                    "type": "number"
                  },
                  "templatedText": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "string"
                  },
                  "videoUrl": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "asOf": {
              "type": "string"
            },
            "count": {
              "type"

This page as JSON