Facebook Ad Search
https://api.sandbase.ai/v1/api/facebook/ads-searchSearch the Meta Ad Library by keyword and get matching ads (advertiser, creative text, CTA, platforms, and run dates) with cursor pagination.
- Price
- $0.0011USD / call
- Method
- POST
- Response
- JSON
- Parameters
- 1 required · 10 optional
Try the model
Playground
Your output will appear here
Complete the inputs, then click Run.
Model card
Specifications
Pricing
- Base price
- $0.0011 / run
Request & response
- Method
- POST
- Request body
- application/json
- Response
- application/json
- Execution
- sync
Parameters
- query
- string · required
- adType
- string (all, political_and_issue_ads) · optional
- cursor
- string · optional
- sortBy
- string (impressions, recent) · optional
- status
- string (ALL, ACTIVE, INACTIVE) · optional
- country
- string · optional
- endDate
- string · optional
- mediaType
- string (ALL, IMAGE, VIDEO, MEME, IMAGE_AND_MEME, NONE) · optional
- startDate
- string · optional
- searchType
- string (keyword_unordered, keyword_exact_phrase) · optional
- requireFields
- array · optional
Access
- Provider
- API
- Platform API
- Base URL
- https://api.sandbase.ai
- Endpoint
- /v1/api/facebook/ads-search
- Authentication
- Bearer API key
API README
Facebook Ad Search API
Search the Meta Ad Library by keyword and get matching ads (advertiser, creative text, CTA, platforms, and run dates) with cursor pagination.
Request
curl -X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "facebook/ads-search", "query": "nike", "country": "US", "searchType": "keyword_exact_phrase"}'
The result is returned in outputs[0].data. A lookup that finds nothing still succeeds and returns found: false.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Keyword to search the Meta Ad Library for (e.g. "protein powder"). |
adType | string | No | Restrict to all ads (default) or only political and issue ads. One of: all, political_and_issue_ads. |
country | string | No | Two-letter country code to scope results. Omit for all countries. |
cursor | string | No | Opaque pagination cursor from a previous response's nextCursor. |
endDate | string | No | Filter to ads with impressions on or before this date, in YYYY-MM-DD format. |
mediaType | string | No | Creative media type filter. One of: ALL, IMAGE, VIDEO, MEME, IMAGE_AND_MEME, NONE. |
requireFields | array | No | Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example totalResults, and it is served only by a source that returns every o |
searchType | string | No | Match mode for the query: loose keyword match (keyword_unordered, the default) or exact phrase (keyword_exact_phrase). One of: keyword_unordered, keyword_exact_phrase. |
sortBy | string | No | Sort order: impressions (highest first, the default) or recent (most recent). One of: impressions, recent. |
startDate | string | No | Filter to ads with impressions on or after this date, in YYYY-MM-DD format. |
status | string | No | Ad status filter. One of: ALL, ACTIVE, INACTIVE. Default "ACTIVE". |
Pricing
Billed at the actual cost of each call, usually $0.0011 per request. A call can cost more when the first data source fails and another one answers. Failed calls are not charged. Lookups that find nothing and searches with no results are billed at their actual cost, which is often lower and can be $0.
Start building
Send your first request
Platform API endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/api/facebook/ads-search" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"query": "nike",
"status": "ACTIVE",
"country": "US",
"searchType": "keyword_exact_phrase"
}
SANDBASE_JSON
)
printf '%s\n' "$result"Explore more
Related APIs
| API | Price | Response | Released |
|---|---|---|---|
Facebook Ad SearchThis API Facebook | From $0.0011 per call | JSON | Oct 31, 2026 |
Facebook | From $0.0012 per call | JSON | Oct 31, 2026 |
Facebook | From $0.0046 per call | JSON | Oct 31, 2026 |
Facebook | From $0.0012 per call | JSON | Oct 31, 2026 |
Facebook | From $0.0011 per call | JSON | Oct 31, 2026 |
Facebook | From $0.0012 per call | JSON | Oct 31, 2026 |
Questions
FAQ
How do I use the Facebook Ad Search API?
Send a POST request to https://api.sandbase.ai/v1/api/facebook/ads-search with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.
How much does the Facebook Ad Search API cost?
From $0.0011 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.
What parameters does the Facebook Ad Search API accept?
Required: query (string). Optional: adType (one of all, political_and_issue_ads), cursor (string), sortBy (one of impressions, recent), status (one of ALL, ACTIVE, INACTIVE), country (string) and endDate (string) and 4 more. The Parameters table and the Playground on this page list every field.
What does the Facebook Ad Search API return?
A JSON response returned in the same HTTP request (synchronous).
Do I need a Facebook developer account or API key?
No. Facebook Ad Search runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Facebook API access separately.
