Live data and web search
curl --request POST \
--url https://api.aireserve.com/v1/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"effort": "instant",
"sources": {
"data": {
"count": 10,
"include_contents": true
},
"web": {
"count": 10,
"include_contents": true
}
},
"country_code": "<string>",
"locale": "<string>",
"timezone": "<string>",
"output_settings": {
"image_dark_mode": true,
"force_refresh": true
}
}
'import requests
url = "https://api.aireserve.com/v1/search"
payload = {
"query": "<string>",
"effort": "instant",
"sources": {
"data": {
"count": 10,
"include_contents": True
},
"web": {
"count": 10,
"include_contents": True
}
},
"country_code": "<string>",
"locale": "<string>",
"timezone": "<string>",
"output_settings": {
"image_dark_mode": True,
"force_refresh": True
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
effort: 'instant',
sources: {
data: {count: 10, include_contents: true},
web: {count: 10, include_contents: true}
},
country_code: '<string>',
locale: '<string>',
timezone: '<string>',
output_settings: {image_dark_mode: true, force_refresh: true}
})
};
fetch('https://api.aireserve.com/v1/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Search
Live data and web search
Search Tako’s curated knowledge graph (finance, macro, companies, sports, weather) and the live web in one call. Returns knowledge cards — interactive, embeddable data visualizations with named sources — plus web results, with no LLM in the loop. Billed per search (tako-search; deep effort as tako-search-deep). Nothing calls Tako unless you call this route; register it as a tool and let the model decide when a turn needs live data.
POST
/
v1
/
search
Live data and web search
curl --request POST \
--url https://api.aireserve.com/v1/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"effort": "instant",
"sources": {
"data": {
"count": 10,
"include_contents": true
},
"web": {
"count": 10,
"include_contents": true
}
},
"country_code": "<string>",
"locale": "<string>",
"timezone": "<string>",
"output_settings": {
"image_dark_mode": true,
"force_refresh": true
}
}
'import requests
url = "https://api.aireserve.com/v1/search"
payload = {
"query": "<string>",
"effort": "instant",
"sources": {
"data": {
"count": 10,
"include_contents": True
},
"web": {
"count": 10,
"include_contents": True
}
},
"country_code": "<string>",
"locale": "<string>",
"timezone": "<string>",
"output_settings": {
"image_dark_mode": True,
"force_refresh": True
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
effort: 'instant',
sources: {
data: {count: 10, include_contents: true},
web: {count: 10, include_contents: true}
},
country_code: '<string>',
locale: '<string>',
timezone: '<string>',
output_settings: {image_dark_mode: true, force_refresh: true}
})
};
fetch('https://api.aireserve.com/v1/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Authorizations
Your AI Reserve API key (aireserve_api_…) from the API Keys page in the portal (https://portal.aireserve.com/keys).
Body
application/json
Required string length:
1 - 2000Available options:
instant Show child attributes
Show child attributes
Required string length:
2Required string length:
2 - 20Required string length:
1 - 64Show child attributes
Show child attributes
Response
200
Default Response