curl --request POST \
--url https://api.airscale.io/v1/airsearch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "What category does Example Company use to describe its service at https://example.com?"
}
'const url = 'https://api.airscale.io/v1/airsearch';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'What category does Example Company use to describe its service at https://example.com?'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/airsearch"
payload = { "prompt": "What category does Example Company use to describe its service at https://example.com?" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Airsearch
Research the web and return structured answers with Airsearch. Rate limit: 300 requests per minute per workspace.
curl --request POST \
--url https://api.airscale.io/v1/airsearch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "What category does Example Company use to describe its service at https://example.com?"
}
'const url = 'https://api.airscale.io/v1/airsearch';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'What category does Example Company use to describe its service at https://example.com?'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/airsearch"
payload = { "prompt": "What category does Example Company use to describe its service at https://example.com?" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)success result costs 1 credit; not_found and timeout are not charged. Credits reserved for a completed not_found or timeout result are returned.200 OK with status: "timeout" or 504 Gateway Timeout. Narrow the prompt before retrying. For temporary 502 or 503 errors, retry with increasing delays and a fixed retry limit; contact support if errors persist.
Next step
Use Find companies when the research target should come from structured firmographic filters, or review Rate limits before adding parallel requests.Authorizations
Use an Airscale workspace API key. Never expose the key in client-side code.
Body
Provide a non-empty prompt and, optionally, a map of requested output names to type keywords or descriptions.
A research question or instruction that remains non-empty after surrounding whitespace is trimmed.
1\SMaps arbitrary requested output names to non-empty type keywords or plain-language descriptions. Stable envelope names are reserved because dynamic requested fields must not collide with status, response, reasoning, sources, confidence_score, certainty_tag, or duration_ms.
Show child attributes
Show child attributes
Response
A completed research result, including successful, not-found, and soft-timeout outcomes.
success, not_found, timeout A public source URL, public source label such as serp_snippets, or an empty string forwarded from the upstream result.
0 <= x <= 1Null when no certainty tag could be derived.
low, medium, high, null x >= 0