curl --request POST \
--url https://api.aisa.one/apis/v1/exa/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "latest evaluation frameworks for AI agents",
"type": "auto",
"numResults": 10,
"includeDomains": [
"<string>"
],
"excludeDomains": [
"<string>"
],
"startPublishedDate": "2023-11-07T05:31:56Z",
"endPublishedDate": "2023-11-07T05:31:56Z",
"contents": {
"text": true,
"highlights": true,
"summary": true
},
"outputSchema": {},
"systemPrompt": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/exa/search"
payload = {
"query": "latest evaluation frameworks for AI agents",
"type": "auto",
"numResults": 10,
"includeDomains": ["<string>"],
"excludeDomains": ["<string>"],
"startPublishedDate": "2023-11-07T05:31:56Z",
"endPublishedDate": "2023-11-07T05:31:56Z",
"contents": {
"text": True,
"highlights": True,
"summary": True
},
"outputSchema": {},
"systemPrompt": "<string>"
}
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: 'latest evaluation frameworks for AI agents',
type: 'auto',
numResults: 10,
includeDomains: ['<string>'],
excludeDomains: ['<string>'],
startPublishedDate: '2023-11-07T05:31:56Z',
endPublishedDate: '2023-11-07T05:31:56Z',
contents: {text: true, highlights: true, summary: true},
outputSchema: {},
systemPrompt: '<string>'
})
};
fetch('https://api.aisa.one/apis/v1/exa/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/exa/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => 'latest evaluation frameworks for AI agents',
'type' => 'auto',
'numResults' => 10,
'includeDomains' => [
'<string>'
],
'excludeDomains' => [
'<string>'
],
'startPublishedDate' => '2023-11-07T05:31:56Z',
'endPublishedDate' => '2023-11-07T05:31:56Z',
'contents' => [
'text' => true,
'highlights' => true,
'summary' => true
],
'outputSchema' => [
],
'systemPrompt' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/exa/search"
payload := strings.NewReader("{\n \"query\": \"latest evaluation frameworks for AI agents\",\n \"type\": \"auto\",\n \"numResults\": 10,\n \"includeDomains\": [\n \"<string>\"\n ],\n \"excludeDomains\": [\n \"<string>\"\n ],\n \"startPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"endPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"contents\": {\n \"text\": true,\n \"highlights\": true,\n \"summary\": true\n },\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/exa/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"latest evaluation frameworks for AI agents\",\n \"type\": \"auto\",\n \"numResults\": 10,\n \"includeDomains\": [\n \"<string>\"\n ],\n \"excludeDomains\": [\n \"<string>\"\n ],\n \"startPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"endPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"contents\": {\n \"text\": true,\n \"highlights\": true,\n \"summary\": true\n },\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/exa/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"latest evaluation frameworks for AI agents\",\n \"type\": \"auto\",\n \"numResults\": 10,\n \"includeDomains\": [\n \"<string>\"\n ],\n \"excludeDomains\": [\n \"<string>\"\n ],\n \"startPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"endPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"contents\": {\n \"text\": true,\n \"highlights\": true,\n \"summary\": true\n },\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"requestId": "<string>",
"results": [
{
"title": "<string>",
"url": "<string>",
"publishedDate": "<string>",
"author": "<string>",
"id": "<string>"
}
],
"output": "<unknown>",
"costDollars": "<unknown>"
}Exa Search
Search the web by meaning rather than by keyword.
curl --request POST \
--url https://api.aisa.one/apis/v1/exa/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "latest evaluation frameworks for AI agents",
"type": "auto",
"numResults": 10,
"includeDomains": [
"<string>"
],
"excludeDomains": [
"<string>"
],
"startPublishedDate": "2023-11-07T05:31:56Z",
"endPublishedDate": "2023-11-07T05:31:56Z",
"contents": {
"text": true,
"highlights": true,
"summary": true
},
"outputSchema": {},
"systemPrompt": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/exa/search"
payload = {
"query": "latest evaluation frameworks for AI agents",
"type": "auto",
"numResults": 10,
"includeDomains": ["<string>"],
"excludeDomains": ["<string>"],
"startPublishedDate": "2023-11-07T05:31:56Z",
"endPublishedDate": "2023-11-07T05:31:56Z",
"contents": {
"text": True,
"highlights": True,
"summary": True
},
"outputSchema": {},
"systemPrompt": "<string>"
}
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: 'latest evaluation frameworks for AI agents',
type: 'auto',
numResults: 10,
includeDomains: ['<string>'],
excludeDomains: ['<string>'],
startPublishedDate: '2023-11-07T05:31:56Z',
endPublishedDate: '2023-11-07T05:31:56Z',
contents: {text: true, highlights: true, summary: true},
outputSchema: {},
systemPrompt: '<string>'
})
};
fetch('https://api.aisa.one/apis/v1/exa/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/exa/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => 'latest evaluation frameworks for AI agents',
'type' => 'auto',
'numResults' => 10,
'includeDomains' => [
'<string>'
],
'excludeDomains' => [
'<string>'
],
'startPublishedDate' => '2023-11-07T05:31:56Z',
'endPublishedDate' => '2023-11-07T05:31:56Z',
'contents' => [
'text' => true,
'highlights' => true,
'summary' => true
],
'outputSchema' => [
],
'systemPrompt' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/exa/search"
payload := strings.NewReader("{\n \"query\": \"latest evaluation frameworks for AI agents\",\n \"type\": \"auto\",\n \"numResults\": 10,\n \"includeDomains\": [\n \"<string>\"\n ],\n \"excludeDomains\": [\n \"<string>\"\n ],\n \"startPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"endPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"contents\": {\n \"text\": true,\n \"highlights\": true,\n \"summary\": true\n },\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/exa/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"latest evaluation frameworks for AI agents\",\n \"type\": \"auto\",\n \"numResults\": 10,\n \"includeDomains\": [\n \"<string>\"\n ],\n \"excludeDomains\": [\n \"<string>\"\n ],\n \"startPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"endPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"contents\": {\n \"text\": true,\n \"highlights\": true,\n \"summary\": true\n },\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/exa/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"latest evaluation frameworks for AI agents\",\n \"type\": \"auto\",\n \"numResults\": 10,\n \"includeDomains\": [\n \"<string>\"\n ],\n \"excludeDomains\": [\n \"<string>\"\n ],\n \"startPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"endPublishedDate\": \"2023-11-07T05:31:56Z\",\n \"contents\": {\n \"text\": true,\n \"highlights\": true,\n \"summary\": true\n },\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"requestId": "<string>",
"results": [
{
"title": "<string>",
"url": "<string>",
"publishedDate": "<string>",
"author": "<string>",
"id": "<string>"
}
],
"output": "<unknown>",
"costDollars": "<unknown>"
}query is required; narrow with category, includeDomains, excludeDomains, startPublishedDate, endPublishedDate, and set numResults. Returns requestId, resolvedSearchType, searchTime, costDollars and results[] with id, title and url. id is the URL, and it is what post_exa_contents takes. Measured at 1.4 seconds — the fastest search here. Billed a flat $0.08 per successful request. ⚠️ Results carry no page text unless you ask: pass contents, or follow up with post_exa_contents. Choose it over post_tavily_search when the query is a description rather than keywords; choose Tavily when you want the text in the same call, and post_exa_answer when you want a written answer rather than a list.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The natural-language search query.
"latest evaluation frameworks for AI agents"
Search mode. auto lets Exa choose; the deep modes trade latency for higher-quality retrieval.
auto, fast, instant, deep-lite, deep, deep-reasoning Number of results to return.
1 <= x <= 100Optional hint about the kind of pages to prioritize.
company, research paper, news, personal site, financial report, people Only return results from these domains.
Exclude results from these domains.
Only return results published on or after this ISO 8601 date.
Only return results published on or before this ISO 8601 date.
Content options to return alongside each result.
Show child attributes
Show child attributes
JSON Schema used to synthesize a structured output from the results.
Instruction that guides how the structured output is generated.
Response
Search completed successfully.