Tavily vs Exa vs Serper vs API Pick: chọn Web Search API nào cho LLM?

Tavily, Exa, Serper và API Pick đều hứa hẹn là lớp tìm kiếm cho LLM của bạn. Chúng khác nhau rõ rệt về hình dạng đầu ra, bộ lọc và cách tính phí. Đây là so sánh song song từ một người đưa agent ra production.
Tóm tắt
- •Chọn Tavily khi bạn muốn một endpoint RAG được host trả về câu trả lời sẵn sàng cho LLM — đánh đổi bằng xếp hạng không minh bạch và mức phí thuê bao tối thiểu.
- •Chọn Exa cho khám phá ưu tiên ngữ nghĩa, nơi xếp hạng neural quan trọng hơn độ mới; hãy dự trù ngân sách theo quy mô.
- •Chọn Serper nếu bạn cần SERP Google thô và sẽ tự làm việc dọn dẹp, xếp hạng và tạo snippet.
- •Chọn API Pick Web Search khi bạn muốn snippet JSON đã được định dạng sẵn, giá tín dụng theo từng lệnh gọi minh bạch, bộ lọc quốc gia & ngày, và chỉ trả phí cho phản hồi HTTP 200.
'Web search API cho LLM' thực sự nghĩa là gì
Các API tìm kiếm tổng quát như Google Custom Search, Bing Web Search và SerpAPI trả về trang kết quả của công cụ tìm kiếm — cũng những liên kết xanh và rich snippet mà con người nhìn thấy. Định dạng đó sai cho một mô hình ngôn ngữ. Một agent không muốn phân tích cú pháp một SERP. Nó muốn một danh sách nhỏ, đã xếp hạng gồm tiêu đề, URL và snippet văn bản sạch để trích dẫn thẳng vào cửa sổ ngữ cảnh. Cả bốn API ở đây đều hứa hẹn điều đó, nhưng chúng đánh đổi khác nhau về cách thực hiện.
Chúng ta sẽ so sánh trên năm trục thực tế: hình dạng đầu ra, lọc, mô hình giá, sự tiện dụng khi tích hợp, và những gì chúng không làm.
Các ứng viên, mỗi cái một đoạn
Tavily
RAG-as-a-service được host. tavily.search trả về snippet đã xếp hạng; tavily.qna gói tìm kiếm cùng một câu trả lời LLM nhanh. Phù hợp mạnh cho trợ lý chat nơi bạn muốn 'đưa cho mô hình một blob sẵn sàng để trả lời'. Dựa trên thuê bao với tín dụng sử dụng.
Exa (trước đây là Metaphor)
Chỉ mục neural / ưu tiên ngữ nghĩa. Được thiết kế quanh ý 'tìm cho tôi các URL giống URL này' và xếp hạng dựa trên embedding, với tùy chọn lấy highlight hoặc toàn bộ nội dung. Mạnh nhất khi độ mới ít quan trọng hơn sự tương đồng chủ đề. Thuê bao kèm phí vượt tín dụng.
Serper
API SERP Google thô. Trả về dạng JSON của một trang kết quả tìm kiếm Google thực — organic, knowledge graph, places, videos. Bạn tự làm việc dọn snippet và xếp hạng. Rẻ theo truy vấn, nhưng lớp định dạng cho LLM thì bạn tự dựng.
API Pick Web Search
Tìm kiếm web ngữ nghĩa trả-theo-mức-dùng, được định dạng cho tool calling của LLM. POST /api/search/web trả về 5 (tối đa 10) kết quả đã xếp hạng kèm tiêu đề, URL và snippet đã được dọn sẵn, cộng bộ lọc tùy chọn country_code và start_date/end_date. 15 tín dụng mỗi lệnh gọi (~0,015$), chỉ trừ khi thành công.
Đặt cạnh nhau
| Tavily | Exa | Serper | API Pick | |
|---|---|---|---|---|
| Hình dạng đầu ra | Snippet đã xếp hạng + câu trả lời LLM gói kèm tùy chọn | URL đã xếp hạng + highlight/nội dung tùy chọn | JSON SERP Google thô | Title + URL + snippet thân thiện LLM đã xếp hạng |
| Bộ lọc quốc gia | Có | Hạn chế | Có | Có (country_code) |
| Bộ lọc khoảng ngày | Có | Có | Có (qdr) | Có (start_date / end_date) |
| Endpoint schema tool | — | — | — | Có — GET /api/search/web/tool-schema |
| Mô hình giá | Thuê bao + tín dụng | Thuê bao + tín dụng | Theo truy vấn | Tín dụng trả-theo-mức-dùng, 5$ / 5k |
| Tính phí khi thất bại? | Tùy | Tùy | Có | Không — chỉ HTTP 200 |
| Phù hợp nhất | RAG được host / trợ lý chat | Khám phá ngữ nghĩa / tương đồng | Pipeline SERP tùy chỉnh | Tool calling cho agent AI, pipeline RAG |
Hình dạng đầu ra: phần quan trọng nhất
Lý do hạng mục này tồn tại là vì LLM không thể suy luận hiệu quả trên một blob HTML SERP. Chúng suy luận trên văn bản ngắn, có nhãn, đã xếp hạng. Vì vậy yếu tố dự báo lớn nhất xem một search API có hoạt động tốt như một tool agent hay không chính là: snippet sạch đến mức nào?
Tavily và API Pick dọn snippet một cách quyết liệt. Exa trả về highlight hoặc nội dung tùy theo cờ — ổn thôi, nhưng bạn quyết định xin bao nhiêu. Serper đưa cho bạn SERP thô và giả định bạn sẽ chạy một extractor sau đó. Đó là lựa chọn hợp lý nếu bạn đã vận hành một content extractor; nếu không, đó là công việc ẩn.
Với API Pick, một phản hồi điển hình trông như sau:
{
"results": [
{
"title": "Retrieval-augmented generation - Wikipedia",
"url": "https://en.wikipedia.org/wiki/Retrieval-augmented_generation",
"snippet": "Retrieval-augmented generation (RAG) is a technique that combines\nsearch with text generation, often using vector search to ground LLM\nanswers in retrieved documents."
}
/* …more */
],
"result_count": 5,
"credits_used": 15,
"remaining_credits": 985
}Hình dạng đó rơi thẳng vào một phản hồi function-calling mà không cần phân tích cú pháp thêm.
Lọc: quốc gia và độ mới
Hai chiều lọc quan trọng cho agent production:
- Quốc gia / locale: một agent tài chính ở Anh không nên mặc định chỉ nhận nguồn của Mỹ.
- Khoảng ngày: một agent nghiên cứu thị trường hỏi 'tuần này có gì xảy ra' phải loại bỏ mọi thứ cũ hơn 7 ngày.
Cả bốn API đều cung cấp một dạng nào đó của cả hai, nhưng khả năng biểu đạt khác nhau. API Pick dùng chuỗi ngày ISO (start_date="2026-04-01") rõ ràng không mơ hồ, so với các nhóm qdr thô hơn của Google (giờ / ngày / tuần / tháng vừa qua).
Mô hình giá: thuê bao vs trả-theo-mức-dùng
Các API dựa trên thuê bao (Tavily, Exa) hoạt động tốt khi bạn có lưu lượng ổn định, dự đoán được. Chúng trở nên bất tiện trong ba mô hình phổ biến:
- Bạn đang làm prototype và không muốn cam kết hằng tháng.
- Lưu lượng của bạn dạng bùng nổ (ví dụ agent nghiên cứu chạy theo lô).
- Bạn xây các agent retry quyết liệt khi gặp lỗi cục bộ.
API Pick dùng mô hình tín dụng — 5$ mua được 5.000 tín dụng; Web Search tốn 15 tín dụng mỗi lệnh gọi; tín dụng không bao giờ hết hạn và chỉ bị trừ trên phản hồi HTTP 200. Điều khoản cuối đó quan trọng hơn nghe có vẻ: một vòng lặp agent retry năm lần trên một lỗi 502 nhất thời là miễn phí, không phải 5×.
Sự tiện dụng khi tích hợp
Tích hợp ít ma sát nhất là khi bạn có thể dán một JSON schema tool vào code agent mà không cần viết wrapper. API Pick công bố các schema sẵn dùng:
# OpenAI function tool schema
curl https://www.apipick.com/api/search/web/tool-schema
# Returns OpenAI tool definition + Claude tool use definitionVới OpenAI Assistants:
from openai import OpenAI
import requests
client = OpenAI()
schema = requests.get("https://www.apipick.com/api/search/web/tool-schema").json()
assistant = client.beta.assistants.create(
name="Research Agent",
model="gpt-4o",
tools=[{"type": "function", "function": schema["openai"]}],
)Với Claude tool use:
import anthropic
import requests
schema = requests.get("https://www.apipick.com/api/search/web/tool-schema").json()
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
tools=[schema["claude"]],
messages=[{"role": "user", "content": "What's new in RAG research this week?"}],
)Những gì không API nào trong số này làm được
Không API web search nào trả lời đáng tin cậy 'mọi X từ domain này kể từ 2019'. Để bao phủ kho lưu trữ sâu, bạn vẫn cần ghép tìm kiếm với một crawler tập trung hoặc một dataset chuyên biệt theo domain. Không cái nào dedupe hoàn hảo các URL gần giống nhau. Và không cái nào giải quyết vấn đề thượng nguồn là một nguồn cũ kỹ hoặc thẩm quyền thấp — đó là quyết định chất lượng nội dung mà agent của bạn phải đưa ra.
Chọn nhanh
Câu hỏi thường gặp
API nào có giá mỗi lệnh gọi tốt nhất?
Giá mỗi lệnh gọi khác nhau. API Pick Web Search tốn 15 tín dụng mỗi lệnh gọi (≈ 0,015$ ở mức 5$ / 5.000 tín dụng) và chỉ trừ tín dụng cho phản hồi HTTP 200. Tavily và Exa dùng thuê bao hằng tháng cộng phí vượt theo tín dụng; Serper tính phí theo truy vấn. Nếu lưu lượng của bạn dạng bùng nổ hoặc bạn chạy lại các lệnh gọi thất bại khi agent retry, mô hình chỉ-tính-khi-thành-công thường thắng về chi phí thực tế.
Tất cả có hoạt động với OpenAI function calling và Claude tool use không?
Có. Tất cả đều cung cấp giao diện JSON-in / JSON-out, nên bạn có thể bọc bất kỳ cái nào thành một hàm tool. API Pick còn công bố một endpoint schema tool OpenAI/Claude (GET /api/search/web/tool-schema) để bạn dán đúng định nghĩa JSON vào vòng lặp agent của mình.
API Pick có phải là wrapper của Tavily không?
Không. API Pick chạy pipeline tổng hợp chỉ mục tìm kiếm, xếp hạng và tạo snippet riêng. Đầu ra cố ý đơn giản hơn Tavily: title + URL + snippet thân thiện với LLM đã xếp hạng, kèm bộ lọc tùy chọn quốc gia và khoảng ngày. Bạn có thể gọi POST /api/search/web trực tiếp mà không cần lớp RAG được host.
Còn độ trễ thì sao?
Cả bốn đều được thiết kế cho lệnh gọi agent đồng bộ. Độ trễ P50 gần như tương đương (dưới một giây với truy vấn ngắn). Khoảng cách độ trễ thực sự là khi một API còn chạy thêm một lệnh gọi LLM downstream bên trong endpoint tìm kiếm — các API tìm kiếm thuần trả về nhanh hơn các endpoint tổng hợp 'search + answer'.
Lựa chọn thay thế Tavily tốt nhất là gì?
Nếu bạn rời Tavily vì mức phí thuê bao tối thiểu hoặc giá vượt mức không minh bạch, API Pick Web Search là phương án thay thế trả-theo-mức-dùng gần nhất: cùng hình dạng (JSON đã xếp hạng, định dạng snippet), bộ lọc quốc gia/ngày, không có mức tối thiểu hằng tháng.
Các API dùng trong bài viết này
Sarah Choy là CEO của API Pick. Cô viết về việc xây dựng các API sẵn sàng cho production cho AI agent và quy trình LLM.