limitinteger
Number of results (1-20). Each returned item is billed at about $0.0175, so this caps the cost of one call.
Default: 10
https://api.sandbase.ai/v1/api/foreplay/ad-searchSearch the Foreplay library of live and past social ads from Facebook, Instagram, TikTok, YouTube and more by keyword, format, platform, niche, language and run time, with creative, copy and landing page.
Your output will appear here
Complete the inputs, then click Run.
Search the Foreplay library of live and past social ads from Facebook, Instagram, TikTok, YouTube and more by keyword, format, platform, niche, language and run time, with creative, copy and landing page.
curl -X POST "https://api.sandbase.ai/v1/api/foreplay/ad-search" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "running shoes", "limit": 3}'
The result is returned in outputs[0].data.
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Pagination limit (max 250). Controls the number of ads returned per request. |
query | string | No | Search text for ad name or description. Leave empty to search all ads with filters only. |
cursor | string | No | Cursor for pagination. Use the cursor value from the previous response's metadata to get the next page of results. |
display_format | string | No | Filter by one or more display formats. Available formats (11): carousel, dco, dpa, event, image, multi_images, multi_medias, multi_videos, page_like, text, video Example: ?display_format=video&display_format=carousel |
end_date | string | No | End date (inclusive). Format: 'YYYY-MM-DD', 'YYYY-MM-DDTHH:MM:SS', or 'YYYY-MM-DD HH:MM:SS'. If you provide only the date (e.g. '2024-11-12'), it will be interpreted as '2024-11-12 00:00:00'. To include all results for a |
languages | string | No | Filter by languages. Accepts various language formats: 'french', 'FR', 'romanian', 'ro', 'english', 'en', etc. Example: ?languages=en&languages=fr |
live | string | No | Filter ads by live status. true means currently active ads, false means inactive ads. Leave empty to include both. |
market_target | string | No | Filter by market target. Available targets: b2b (business-to-business), b2c (business-to-consumer) Example: ?market_target=b2b |
niches | string | No | Filter by one or more niches. Available niches: accessories, app/software, beauty, business/professional, education, entertainment, fashion, food/drink, health/wellness, home/garden, jewelry/watches, other, parenting, pe |
order | string | No | Order of results: 'newest' (default), 'oldest', 'longest_running', or 'most_relevant'. Sorts ads by creation date, longest running duration, or relevance to the search query. |
publisher_platform | string | No | Filter by one or more publisher platforms. Available platforms: facebook, instagram, audience_network, messenger, tiktok, youtube, linkedin, threads, whatsapp Example: `?publisher_platform=facebook&publisher_platform=ins |
running_duration_max_days | string | No | Filter ads by maximum running duration in days. Must be a positive integer. |
running_duration_min_days | string | No | Filter ads by minimum running duration in days. Must be a positive integer. |
start_date | string | No | Start date (inclusive). Format: 'YYYY-MM-DD', 'YYYY-MM-DDTHH:MM:SS', or 'YYYY-MM-DD HH:MM:SS'. If you provide only the date (e.g. '2024-11-12'), it will be interpreted as '2024-11-12 00:00:00'. To get all ads from a spec |
video_duration_max | string | No | Filter ads by maximum video duration in seconds. Only applies to video ads. |
video_duration_min | string | No | Filter ads by minimum video duration in seconds. Only applies to video ads. |
Billed at the actual upstream cost of each call (about $0.0525 for the request above). Failed calls are not charged.
Start building
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/foreplay/ad-search" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"limit": 3,
"order": "newest",
"query": "running shoes"
}
SANDBASE_JSON
)
printf '%s\n' "$result"Set your SandBase API key in your server environment. Requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep your key on the server. Do not expose it in browser code.
limitintegerNumber of results (1-20). Each returned item is billed at about $0.0175, so this caps the cost of one call.
Default: 10
querystringSearch text for ad name or description. Leave empty to search all ads with filters only.
cursorstringCursor for pagination. Use the cursor value from the previous response's metadata to get the next page of results.
display_formatstringFilter by one or more display formats. Available formats (11): carousel, dco, dpa, event, image, multi_images, multi_medias, multi_videos, page_like, text, video Example: `?display_format=video&display_format=carousel`
Possible values: carousel, dco, dpa, event, image, multi_images, multi_medias, multi_videos, page_like, text, video
end_datestringEnd date (inclusive). Format: 'YYYY-MM-DD', 'YYYY-MM-DDTHH:MM:SS', or 'YYYY-MM-DD HH:MM:SS'. If you provide only the date (e.g. '2024-11-12'), it will be interpreted as '2024-11-12 00:00:00'. To include all results for a given day, set end_date to 'YYYY-MM-DD 23:59:59' or to the next day at '00:00:00'. Examples: start_date=2024-11-12 00:00:00, end_date=2024-11-12 23:59:59.
languagesstringFilter by languages. Accepts various language formats: 'french', 'FR', 'romanian', 'ro', 'english', 'en', etc. Example: `?languages=en&languages=fr`
livestringFilter ads by live status. `true` means currently active ads, `false` means inactive ads. Leave empty to include both.
market_targetstringFilter by market target. Available targets: b2b (business-to-business), b2c (business-to-consumer) Example: `?market_target=b2b`
nichesstringFilter by one or more niches. Available niches: accessories, app/software, beauty, business/professional, education, entertainment, fashion, food/drink, health/wellness, home/garden, jewelry/watches, other, parenting, pets, real estate, service business, medical, charity/nfp, kids/baby Example: `?niches=travel&niches=fashion`
orderstringOrder of results: 'newest' (default), 'oldest', 'longest_running', or 'most_relevant'. Sorts ads by creation date, longest running duration, or relevance to the search query.
Default: "newest"
Possible values: newest, oldest, longest_running, most_relevant
publisher_platformstringFilter by one or more publisher platforms. Available platforms: facebook, instagram, audience_network, messenger, tiktok, youtube, linkedin, threads, whatsapp Example: `?publisher_platform=facebook&publisher_platform=instagram`
Possible values: facebook, instagram, audience_network, messenger, tiktok, youtube, linkedin, threads, whatsapp
running_duration_max_daysstringFilter ads by maximum running duration in days. Must be a positive integer.
running_duration_min_daysstringFilter ads by minimum running duration in days. Must be a positive integer.
start_datestringStart date (inclusive). Format: 'YYYY-MM-DD', 'YYYY-MM-DDTHH:MM:SS', or 'YYYY-MM-DD HH:MM:SS'. If you provide only the date (e.g. '2024-11-12'), it will be interpreted as '2024-11-12 00:00:00'. To get all ads from a specific day, set end_date to 'YYYY-MM-DD 23:59:59' or to the next day at '00:00:00'. Examples: start_date=2024-11-12 00:00:00, end_date=2024-11-12 23:59:59.
video_duration_maxstringFilter ads by maximum video duration in seconds. Only applies to video ads.
video_duration_minstringFilter ads by minimum video duration in seconds. Only applies to video ads.
Saved example response for this API; no live request is made when viewing it.
No saved response has been published. Run the API in Playground to inspect its response.
Explore more
| API | Price | Response |
|---|---|---|
Foreplay Ad SearchThis API Foreplay | From $0.0525 per call | JSON |
Foreplay | From $0.0525 per call | JSON |
Foreplay | From $0.1225 per call | JSON |
Foreplay | From $0.0175 per call | JSON |
Questions
Send a POST request to https://api.sandbase.ai/v1/api/foreplay/ad-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.
From $0.0525 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.
No parameters are required. Optional: limit (integer), query (string), cursor (string), display_format (one of carousel, dco, dpa, event, image, multi_images, multi_medias, multi_videos, page_like, text, video), end_date (string) and languages (string) and 10 more. The Parameters table and the Playground on this page list every field.
A JSON response returned in the same HTTP request (synchronous).
No. Foreplay 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 Foreplay API access separately.