跳转到主要内容
POST
https://api.aisa.one/apis/v1
/
tavily
/
search
使用 Tavily Search 执行搜索查询。
curl --request POST \
  --url https://api.aisa.one/apis/v1/tavily/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "query": "Who is Leo Messi?",
  "search_depth": "basic",
  "chunks_per_source": 3,
  "max_results": 5,
  "topic": "general",
  "start_date": "2025-02-09",
  "end_date": "2025-12-29",
  "include_answer": false,
  "include_raw_content": false,
  "include_images": false,
  "include_image_descriptions": false,
  "safe_search": false,
  "include_favicon": false,
  "include_domains": [
    "<string>"
  ],
  "exclude_domains": [
    "<string>"
  ],
  "auto_parameters": false,
  "include_usage": false
}
'
import requests

url = "https://api.aisa.one/apis/v1/tavily/search"

payload = {
"query": "Who is Leo Messi?",
"search_depth": "basic",
"chunks_per_source": 3,
"max_results": 5,
"topic": "general",
"start_date": "2025-02-09",
"end_date": "2025-12-29",
"include_answer": False,
"include_raw_content": False,
"include_images": False,
"include_image_descriptions": False,
"safe_search": False,
"include_favicon": False,
"include_domains": ["<string>"],
"exclude_domains": ["<string>"],
"auto_parameters": False,
"include_usage": False
}
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: 'Who is Leo Messi?',
search_depth: 'basic',
chunks_per_source: 3,
max_results: 5,
topic: 'general',
start_date: '2025-02-09',
end_date: '2025-12-29',
include_answer: false,
include_raw_content: false,
include_images: false,
include_image_descriptions: false,
safe_search: false,
include_favicon: false,
include_domains: ['<string>'],
exclude_domains: ['<string>'],
auto_parameters: false,
include_usage: false
})
};

fetch('https://api.aisa.one/apis/v1/tavily/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/tavily/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' => 'Who is Leo Messi?',
'search_depth' => 'basic',
'chunks_per_source' => 3,
'max_results' => 5,
'topic' => 'general',
'start_date' => '2025-02-09',
'end_date' => '2025-12-29',
'include_answer' => false,
'include_raw_content' => false,
'include_images' => false,
'include_image_descriptions' => false,
'safe_search' => false,
'include_favicon' => false,
'include_domains' => [
'<string>'
],
'exclude_domains' => [
'<string>'
],
'auto_parameters' => false,
'include_usage' => false
]),
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/tavily/search"

payload := strings.NewReader("{\n \"query\": \"Who is Leo Messi?\",\n \"search_depth\": \"basic\",\n \"chunks_per_source\": 3,\n \"max_results\": 5,\n \"topic\": \"general\",\n \"start_date\": \"2025-02-09\",\n \"end_date\": \"2025-12-29\",\n \"include_answer\": false,\n \"include_raw_content\": false,\n \"include_images\": false,\n \"include_image_descriptions\": false,\n \"safe_search\": false,\n \"include_favicon\": false,\n \"include_domains\": [\n \"<string>\"\n ],\n \"exclude_domains\": [\n \"<string>\"\n ],\n \"auto_parameters\": false,\n \"include_usage\": false\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/tavily/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"Who is Leo Messi?\",\n \"search_depth\": \"basic\",\n \"chunks_per_source\": 3,\n \"max_results\": 5,\n \"topic\": \"general\",\n \"start_date\": \"2025-02-09\",\n \"end_date\": \"2025-12-29\",\n \"include_answer\": false,\n \"include_raw_content\": false,\n \"include_images\": false,\n \"include_image_descriptions\": false,\n \"safe_search\": false,\n \"include_favicon\": false,\n \"include_domains\": [\n \"<string>\"\n ],\n \"exclude_domains\": [\n \"<string>\"\n ],\n \"auto_parameters\": false,\n \"include_usage\": false\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.aisa.one/apis/v1/tavily/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\": \"Who is Leo Messi?\",\n \"search_depth\": \"basic\",\n \"chunks_per_source\": 3,\n \"max_results\": 5,\n \"topic\": \"general\",\n \"start_date\": \"2025-02-09\",\n \"end_date\": \"2025-12-29\",\n \"include_answer\": false,\n \"include_raw_content\": false,\n \"include_images\": false,\n \"include_image_descriptions\": false,\n \"safe_search\": false,\n \"include_favicon\": false,\n \"include_domains\": [\n \"<string>\"\n ],\n \"exclude_domains\": [\n \"<string>\"\n ],\n \"auto_parameters\": false,\n \"include_usage\": false\n}"

response = http.request(request)
puts response.read_body
{
  "query": "<string>",
  "answer": "<string>",
  "images": [
    {
      "url": "<string>",
      "description": "<string>"
    }
  ],
  "results": [
    {
      "title": "<string>",
      "url": "<string>",
      "content": "<string>",
      "score": 123,
      "favicon": "<string>",
      "raw_content": "<string>"
    }
  ],
  "response_time": 123,
  "usage": {
    "credits": 123
  },
  "request_id": "<string>"
}

授权

Authorization
string
header
必填

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

请求体

application/json
query
string
必填

要使用 Tavily 执行的搜索查询。

示例:

"Who is Leo Messi?"

search_depth
enum<string>
默认值:basic

控制延迟与相关性之间的权衡。advanced 以更高的延迟和成本提供最高相关性;basic 实现均衡;fast 和 ultra-fast 针对更低延迟进行优化。

可用选项:
advanced,
basic,
fast,
ultra-fast
chunks_per_source
integer
默认值:3

每个来源返回的相关文本块的最大数量。

必填范围: 1 <= x <= 3
max_results
integer
默认值:5

返回的最大搜索结果数。

必填范围: 0 <= x <= 20
topic
enum<string>
默认值:general

搜索类别。

可用选项:
general,
news,
finance
time_range
enum<string>

根据发布日期筛选结果的时间范围。

可用选项:
day,
week,
month,
year,
d,
w,
m,
y
start_date
string<date>

返回指定开始日期之后的结果。

示例:

"2025-02-09"

end_date
string<date>

返回指定结束日期之前的结果。

示例:

"2025-12-29"

include_answer
默认值:false

包含由 LLM 生成的答案。true 使用默认答案模式;basic 或 advanced 用于选择答案生成模式。

include_raw_content
默认值:false

为每个搜索结果包含清理和解析后的内容。true 或 markdown 返回 Markdown;text 返回纯文本,并可能增加延迟。

include_images
boolean
默认值:false

执行图片搜索并包含搜索结果。

include_image_descriptions
boolean
默认值:false

当 include_images 为 true 时,为每张图片添加描述性文本。

从搜索结果中过滤成人或不安全内容。仅限企业版;当 search_depth 为 fast 或 ultra-fast 时不受支持。

include_favicon
boolean
默认值:false

为每个结果包含 favicon URL。

include_domains
string[]

搜索结果中需要明确包含的域名列表。

Maximum array length: 300
exclude_domains
string[]

要从搜索结果中特别排除的域名列表。

Maximum array length: 150
country
enum<string>

提升特定国家/地区的搜索结果。仅当 topic 为 general 时可用。

可用选项:
afghanistan,
albania,
algeria,
andorra,
angola,
argentina,
armenia,
australia,
austria,
azerbaijan,
bahamas,
bahrain,
bangladesh,
barbados,
belarus,
belgium,
belize,
benin,
bhutan,
bolivia,
bosnia and herzegovina,
botswana,
brazil,
brunei,
bulgaria,
burkina faso,
burundi,
cambodia,
cameroon,
canada,
cape verde,
central african republic,
chad,
chile,
china,
colombia,
comoros,
congo,
costa rica,
croatia,
cuba,
cyprus,
czech republic,
denmark,
djibouti,
dominican republic,
ecuador,
egypt,
el salvador,
equatorial guinea,
eritrea,
estonia,
ethiopia,
fiji,
finland,
france,
gabon,
gambia,
georgia,
germany,
ghana,
greece,
guatemala,
guinea,
haiti,
honduras,
hungary,
iceland,
india,
indonesia,
iran,
iraq,
ireland,
israel,
italy,
jamaica,
japan,
jordan,
kazakhstan,
kenya,
kuwait,
kyrgyzstan,
latvia,
lebanon,
lesotho,
liberia,
libya,
liechtenstein,
lithuania,
luxembourg,
madagascar,
malawi,
malaysia,
maldives,
mali,
malta,
mauritania,
mauritius,
mexico,
moldova,
monaco,
mongolia,
montenegro,
morocco,
mozambique,
myanmar,
namibia,
nepal,
netherlands,
new zealand,
nicaragua,
niger,
nigeria,
north korea,
north macedonia,
norway,
oman,
pakistan,
panama,
papua new guinea,
paraguay,
peru,
philippines,
poland,
portugal,
qatar,
romania,
russia,
rwanda,
saudi arabia,
senegal,
serbia,
singapore,
slovakia,
slovenia,
somalia,
south africa,
south korea,
south sudan,
spain,
sri lanka,
sudan,
sweden,
switzerland,
syria,
taiwan,
tajikistan,
tanzania,
thailand,
togo,
trinidad and tobago,
tunisia,
turkey,
turkmenistan,
uganda,
ukraine,
united arab emirates,
united kingdom,
united states,
uruguay,
uzbekistan,
venezuela,
vietnam,
yemen,
zambia,
zimbabwe
auto_parameters
boolean
默认值:false

根据查询内容自动配置搜索参数。

include_usage
boolean
默认值:false

在响应中包含信用额度用量信息。

响应

200 - application/json

搜索结果已成功返回。

query
string

已执行的搜索查询。

answer
string | null

由 LLM 生成的简短回答。当 include_answer 为 false 或未生成回答时,此字段为 null。

images
object[]
results
object[]
response_time
number<float>

完成请求所用的时间(秒)。

usage
object
request_id
string

唯一请求标识符。