# Facebook Ad Library search ads

Searches the Meta Ad Library by keyword and returns matching ads. Needs query. Served by ScrapeCreators.

Searches the Meta Ad Library by keyword and returns matching ads. Supports filtering by language with a 2-letter code such as EN or ES. Each result includes ad_archive_id, page_name, is_active, publisher_platform, and a snapshot with body text, images, videos, and cta_text. Both GET and POST are supported. Use GET for normal requests. If the cursor becomes too large after extensive pagination, use POST and send the same parameters in the JSON body.

- Tool ID: `scrapecreators/get-v1-facebook-ad-library-search-ads`
- Name in the catalog: Search
- Provider: [ScrapeCreators](/providers/scrapecreators.md)
- Capability: [Meta Ad Library](/tools/meta-ads/ad-library.md)
- Price: usage based, the maximum is shown before a run
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

Billed at the cost the provider reports for the call, never above $0.00188. Your agent sees the maximum before running.


```json
{
  "model": "reported",
  "costPath": "",
  "costTerms": [
    {
      "path": "credits_charged",
      "usd": 0.00188
    }
  ],
  "requireCost": true,
  "maxUsdDefault": 0.00188,
  "maxUsdCap": 0.00188,
  "multipliers": []
}
```

Pricing source: [https://docs.scrapecreators.com/v1/facebook/adLibrary/search/ads](https://docs.scrapecreators.com/v1/facebook/adLibrary/search/ads). $47 / 25,000 credits = $0.00188/credit; badge 1; actual credits_charged; conditional maximum 1..

Price verification date: 2026-10-05.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Keyword to search for"
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "total_impressions",
        "relevancy_monthly_grouped"
      ],
      "description": "Sort by impressions (high to low), or Most Recent (relevancy_monthly_grouped). Defaults to impressions."
    },
    "search_type": {
      "type": "string",
      "enum": [
        "keyword_unordered",
        "keyword_exact_phrase"
      ],
      "description": "If you want to search by exact phrase or not"
    },
    "ad_type": {
      "type": "string",
      "enum": [
        "all",
        "political_and_issue_ads"
      ],
      "description": "Search for all ads or only political and issue ads"
    },
    "country": {
      "type": "string",
      "description": "This can only be one country. It has to be the 2 letter code for the country. It defaults to ALL."
    },
    "language": {
      "type": "string",
      "description": "Language to filter ads on. Needs to be a 2 letter language code, such as EN, ES, or FR."
    },
    "status": {
      "type": "string",
      "enum": [
        "ALL",
        "ACTIVE",
        "INACTIVE"
      ],
      "description": "Status of the ad. Defaults to ACTIVE."
    },
    "media_type": {
      "type": "string",
      "enum": [
        "ALL",
        "IMAGE",
        "VIDEO",
        "MEME",
        "IMAGE_AND_MEME",
        "NONE"
      ],
      "description": "Media type of the ad. Defaults to ALL. Meme just means the ad has text and an image. No clue why they call it meme."
    },
    "start_date": {
      "type": "string",
      "description": "Impressions start date. Needs to be in YYYY-MM-DD format."
    },
    "end_date": {
      "type": "string",
      "description": "Impressions end date. Needs to be in YYYY-MM-DD format."
    },
    "cursor": {
      "type": "string",
      "description": "Cursor to paginate through results"
    },
    "trim": {
      "type": "boolean",
      "description": "Set to true for a trimmed down version of the response"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
```

## Published example

No example input is published for this tool. Ask for the inputs required by its schema.

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://docs.scrapecreators.com/v1/facebook/adLibrary/search/ads)

[REST inspection](https://api.agentik.cc/v1/tools/scrapecreators/get-v1-facebook-ad-library-search-ads) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/scrapecreators/get-v1-facebook-ad-library-search-ads) · [Agent index](/llms.txt)
