[C#] AI Agent 免費網路搜尋教學:Tavily Search API 實作,每月 1,000 次免費搜尋

  • 15
  • 0

最近在開發 Web Agent,一直在找免費的 Web Search API

前面研究過 Exa、Jina,這次換來試試 Tavily

Tavily 是專門給 AI Agent 使用的搜尋 API,可以直接回傳網頁標題、網址與內容摘要,不需要自己解析 Google 搜尋頁面

重點是有免費額度,而且不用綁信用卡。


1. 申請 API Key

先到 Tavily Dashboard 註冊帳號,登入後就能取得 API Key



 

目前官方的 Researcher 免費方案提供,以下由 GPT 整理 

項目免費方案
免費額度每月 1,000 Credits
信用卡不需要
Basic Search1 Credit / 次
Advanced Search2 Credits / 次
額度重置每月
支援功能Search、Extract、Crawl、Research 等

 

如果只是 Basic Search,每個月就有 1,000 次免費搜尋,對自己開發 Agent 測試應該夠用了

官方價格:Tavily Pricing

2. 使用 C# 呼叫 Tavily

這次直接使用 .NET 10 的 HttpClient,不需要另外安裝 SDK。

C# Code: 

using System.Net.Http.Headers;
using System.Net.Http.Json;
using System.Text.Json;

var apiKey = "{TAVILY_API_KEY}";

using var http = new HttpClient
{
    Timeout = TimeSpan.FromSeconds(30)
};

http.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", apiKey);

var request = new
{
    query = "C# .NET11 新功能",
    search_depth = "basic",
    max_results = 5,
    include_answer = false,
    include_raw_content = false
};

using var response = await http.PostAsJsonAsync(
    "https://api.tavily.com/search",
    request);

if (!response.IsSuccessStatusCode)
{
    Console.WriteLine(
        $"HTTP {(int)response.StatusCode}: " +
        await response.Content.ReadAsStringAsync()
    );

    return;
}

using var json = await response.Content.ReadFromJsonAsync<JsonDocument>();

if (json is null)
    return;

foreach (var item in json.RootElement.GetProperty("results").EnumerateArray())
{
    Console.WriteLine(item.GetProperty("title").GetString());
    Console.WriteLine(item.GetProperty("url").GetString());
    Console.WriteLine(item.GetProperty("content").GetString());
    Console.WriteLine("----------------------------------");
}

這樣就可以直接取得搜尋結果,包含 Title、URL、Content,後續交給 LLM 使用即可

這邊比較方便的是 Tavily 已經幫我們整理好搜尋結果,不需要再另外解析搜尋引擎的 HTML


 

3. Search Depth 差異

Tavily 提供四種搜尋深度,主要影響搜尋速度、結果相關性及 Credits ,這也是請 GPT 幫我整理的,也是大概

模式說明Credits / 次
ultra-fast最低延遲1
fast優先考慮速度1
basic一般搜尋,預設值1
advanced深度搜尋2


如果只是一般 Agent 搜尋,我覺得 basic 就可以了,沒有必要每次都用 advanced

另外也能透過 include_domains 限制搜尋網站,或使用 topic = "news" 搜尋新聞

 

簡單說個結論

Tavily 不用綁信用卡,每個月又有 1,000 Credits,對開發 AI Agent 來說算是不錯的免費搜尋來源

而且直接呼叫 REST API 就好,不需要 SDK,也不一定要透過 MCP

目前我打算把 Exa、Tavily 都當成 Web Search Provider輪流用

Jina Reader 則負責 Web Fetch,先記錄到這邊,如果你有在開發 Agent 我相信這會是有幫助的..

官方文件:

 

---

Before you read this, the article was in a superposition of human and AI. Upon observation, the wave function collapsed into a sleep-deprived developer.