curl --request POST \
--url https://api.tryfuse.ai/api/v1/business/saved-searches \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>"
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/saved-searches"
payload = { "title": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({title: '<string>'})
};
fetch('https://api.tryfuse.ai/api/v1/business/saved-searches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"savedSearch": {
"id": "6a8de3161ea5e58766c32c88",
"title": "CoStar Group CXOs (US)",
"createdAt": "2026-08-25T18:46:46.159Z",
"updatedAt": "2026-08-25T18:46:46.159Z",
"filters": {
"job_title_levels": [
{
"status": "include",
"value": "cxo"
}
],
"location_country": [
{
"status": "include",
"value": "united states"
}
],
"job_company_name": [
{
"status": "include",
"value": "costar group"
}
]
},
"ignoredFilterKeys": [],
"searchType": "people"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Create a saved search
Store a search under a name. type picks the kind — people (the default) or company — and decides which language filters must speak: people filters are the keys POST /prospects/search takes, company filters the keys POST /companies/search takes. Either way the search opens identically in the product UI, and the created row comes back with its filters in that same search vocabulary, ready to re-send.
Exactly two of the 46 people filter fields cannot round-trip through the product’s filter rail — first_name and last_name — and are rejected with 422 SAVED_SEARCH_FILTERS_UNSUPPORTED naming the field, rather than stored in a form the app cannot reopen. Every other field stores, work_email, mobile_phone, personal_emails, linkedin_url, github_url and facebook_url included. type is immutable: PATCH can change the title and the filters, never the kind. Titles need not be unique, but a title shared by two searches can no longer be used as savedSearchName.
Errors:
422VALIDATION_FAILED— The request failed the declared schema;paramnames the offending key andmessagequotes the rule it broke.422SAVED_SEARCH_FILTERS_UNSUPPORTED—filtersnamesfirst_nameorlast_name— the only two people filter fields with no saved-search equivalent;paramnames the field.429RATE_LIMITED— Per-token rate limit for this bucket exhausted; retry after the window in the RateLimit-Reset header.500UNEXPECTED_ERROR— The request failed inside the service; nothing was billed and the request_id identifies the failure.
Requires one of the following token scopes: search.
curl --request POST \
--url https://api.tryfuse.ai/api/v1/business/saved-searches \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>"
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/saved-searches"
payload = { "title": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({title: '<string>'})
};
fetch('https://api.tryfuse.ai/api/v1/business/saved-searches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"savedSearch": {
"id": "6a8de3161ea5e58766c32c88",
"title": "CoStar Group CXOs (US)",
"createdAt": "2026-08-25T18:46:46.159Z",
"updatedAt": "2026-08-25T18:46:46.159Z",
"filters": {
"job_title_levels": [
{
"status": "include",
"value": "cxo"
}
],
"location_country": [
{
"status": "include",
"value": "united states"
}
],
"job_company_name": [
{
"status": "include",
"value": "costar group"
}
]
},
"ignoredFilterKeys": [],
"searchType": "people"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Authorizations
Your API token (af_…) as the Basic-auth username, with an empty password.
Body
A title plus filters written in the vocabulary of type (people by default); the search then opens identically in the product UI.
Display name of the saved search (1-255 chars); need not be unique, but a shared title cannot be referenced as savedSearchName later.
1 - 255Kind of search the filters describe: people (default) or company; immutable after creation.
people, company Filters in the vocabulary of type: people filters as POST /prospects/search takes them (first_name / last_name cannot be stored and answer 422 SAVED_SEARCH_FILTERS_UNSUPPORTED), company filters as POST /companies/search takes them; at least one non-empty value either way.
- Option 1
- Option 2
Show child attributes
Show child attributes
Response
Success
Show child attributes
Show child attributes