Tavily / Exa / Serper / API Pick 비교: LLM용 웹 검색 API는 무엇을 고를까?

Tavily, Exa, Serper, API Pick은 모두 'LLM용 검색 레이어'를 자처한다. 출력 형식, 필터링, 과금 방식 차이는 의외로 크다. 현장에서 본 횡적 비교.
한눈에
- •호스팅된 RAG 엔드포인트가 LLM 친화 답변을 바로 뱉어주길 원한다 → Tavily(불투명한 랭킹과 월 최소액).
- •신경/시맨틱 발견이 핵심, 신선도는 덜 중요 → Exa(규모가 커지면 예산 주의).
- •원본 Google SERP를 직접 가공 → Serper.
- •사전 정형된 JSON, 호출 단위 투명 과금, 국가/날짜 필터, HTTP 200에만 과금 → API Pick Web Search.
'LLM용 웹 검색 API'가 정확히 무엇인가
범용 검색 API(Google Custom Search, Bing Web Search, SerpAPI)는 SERP — 사람이 브라우저에서 보는 푸른 링크와 풍부한 스니펫의 묶음 — 를 반환한다. 언어 모델에는 부적합한 형식이다. 에이전트는 SERP 파싱이 아니라 정형된 ranked 리스트(제목, URL, 컨텍스트에 바로 넣을 수 있는 깨끗한 텍스트)를 원한다. 본문의 4개 사 모두 이 방향을 약속하지만 접근이 다르다.
다섯 가지 실전 축에서 비교한다: 출력 형식, 필터, 과금 모델, 통합 경험, 그리고 '하지 않는 일'.
네 곳을 한 단락씩
Tavily
tavily.search는 ranked 스니펫을, tavily.qna는 검색과 가벼운 LLM 답변을 묶어 준다. '모델에 답변 가능 블롭을 그냥 주는' 챗봇 시나리오에 적합. 구독 + 크레딧.
Exa(구 Metaphor)
신경 / 시맨틱 인덱스 중심. '이 URL과 비슷한 URL 찾기', embedding 랭킹을 축으로 highlights 또는 본문 옵션. 신선도보다 토픽 유사도가 중요할 때 강함. 구독 + 초과 크레딧.
Serper
원본 Google SERP API. 실제 Google 검색 결과 페이지 JSON 구조(organic, knowledge graph, places, videos)를 그대로 반환. 스니펫 정리와 랭킹은 직접. 호출당 저렴하지만 LLM 정형 레이어는 직접 만들어야 한다.
API Pick Web Search
사용량 기반, LLM tool calling용으로 사전 정형된 시맨틱 웹 검색. POST /api/search/web는 기본 5건(최대 10) ranked 결과: title, URL, 정리된 LLM 친화 snippet, 옵션 country_code와 start_date/end_date. 호출당 15 크레딧(≈$0.015), 성공시에만 과금.
횡적 비교표
| Tavily | Exa | Serper | API Pick | |
|---|---|---|---|---|
| 출력 형식 | ranked 스니펫 + 옵션 LLM 답변 | ranked URL + 옵션 highlights / 본문 | 원본 Google SERP JSON | ranked title + URL + LLM 친화 snippet |
| 국가 필터 | 있음 | 제한적 | 있음 | 있음(country_code) |
| 날짜 필터 | 있음 | 있음 | 있음(qdr) | 있음(start_date / end_date) |
| Tool schema 엔드포인트 | — | — | — | 있음 — GET /api/search/web/tool-schema |
| 과금 모델 | 구독 + 크레딧 | 구독 + 크레딧 | 쿼리당 | 사용량 크레딧, $5 / 5,000 |
| 실패 시 과금 | 요금제 따라 | 요금제 따라 | 과금됨 | 안 됨 — HTTP 200만 |
| 최적 | 호스팅 RAG / 챗봇 | 시맨틱 발견 / 유사도 | 자체 SERP 파이프라인 | AI 에이전트 도구, RAG |
출력 형식: 가장 중요한 한 가지
이 카테고리가 존재하는 이유는 LLM이 SERP HTML로 효율적으로 추론하지 못하기 때문이다. LLM이 필요로 하는 것은 짧고 이름이 붙은 ranked 텍스트. 따라서 'snippet이 얼마나 깨끗한가'가 검색 API가 에이전트 도구로 잘 동작할지를 가장 잘 예측하는 단일 지표다.
Tavily와 API Pick은 적극적으로 snippet을 정리한다. Exa는 플래그에 따라 highlights 혹은 contents — 좋지만 양을 직접 결정해야 한다. Serper는 원본 SERP를 주고 추출기를 별도로 두는 것을 전제한다. 이미 추출기를 운영 중이면 괜찮지만 그렇지 않으면 숨은 비용이다.
API Pick의 전형적인 응답:
{
"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
}이 형식은 추가 파싱 없이 function calling 도구 결과로 모델에 그대로 반환할 수 있다.
필터: 국가와 신선도
운영 환경 에이전트는 두 필터 축을 신경 쓴다:
- 국가 / 지역: 영국 금융 에이전트가 기본으로 미국 소스만 받으면 안 된다.
- 날짜 범위: '이번 주에 무슨 일이 있었나'를 묻는 시장 조사 에이전트는 1주일 이상 된 자료를 거를 수 있어야 한다.
네 곳 모두 지원하지만 표현력이 다르다. API Pick은 ISO 날짜 문자열(start_date="2026-04-01")로 모호함이 없으며, Google의 qdr(과거 1시간 / 1일 / 1주 / 1달)보다 세밀하다.
과금 모델: 구독 vs 사용량
구독형(Tavily, Exa)은 트래픽이 안정적일 때 잘 맞는다. 다음 세 가지 흔한 패턴에서 어색해진다:
- 프로토타이핑 중이라 월 약정에 묶이고 싶지 않을 때.
- 트래픽이 가변적일 때(배치로 도는 리서치 에이전트 등).
- 부분 실패에 적극 재시도하는 에이전트 설계.
API Pick은 크레딧 모델 — $5에 5,000 크레딧, Web Search 호출당 15 크레딧, 크레딧 만료 없음, HTTP 200에만 과금. 이 마지막이 보이는 것보다 더 중요하다: 일시적 502로 5번 재시도하는 루프는 무료, 5×가 아니다.
통합 경험
가장 마찰이 적은 통합은 'JSON 도구 정의를 붙여 넣고 끝'. API Pick은 즉시 사용 가능한 정의를 제공:
# OpenAI function tool 정의
curl https://www.apipick.com/api/search/web/tool-schema
# OpenAI tool과 Claude tool use 정의 모두 포함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"]}],
)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": "이번 주 RAG 연구의 새로운 진전은?"}],
)네 곳 모두 하지 않는 것
어떤 웹 검색 API도 '이 도메인의 2019년 이후 모든 X'를 안정적으로 답할 수 없다. 깊은 아카이브 커버리지에는 검색 + 전용 크롤러나 도메인 특화 데이터셋의 조합이 필요하다. 매우 유사한 URL의 중복 제거도 완벽하지 않다. 그리고 출처가 오래되었거나 권위가 낮은 문제는 그대로 — 그건 에이전트가 직접 판단할 콘텐츠 품질 결정이다.
빠른 선택
자주 묻는 질문
1회 호출당 가장 저렴한 곳은?
과금 모델이 달라 직접 비교가 어렵다. API Pick Web Search는 호출당 15 크레딧($5/5,000 환산 약 $0.015), HTTP 200에만 과금. Tavily와 Exa는 월 구독 + 초과 크레딧, Serper는 쿼리당 과금. 트래픽이 가변적이거나 실패시 재시도하는 에이전트라면 '성공시에만 과금'이 실제 청구서에서 유리한 경우가 많다.
OpenAI function calling과 Claude tool use를 모두 지원하는가?
전부 지원. JSON in / JSON out이라 모두 도구 함수로 감쌀 수 있다. API Pick은 추가로 tool schema 엔드포인트(GET /api/search/web/tool-schema)를 제공해 OpenAI / Claude 도구 정의를 그대로 붙여넣을 수 있다.
API Pick은 Tavily 래퍼인가?
아니다. API Pick은 인덱스 집계, 랭킹, 스니펫 정형 파이프라인을 자체 구현한다. 응답 형식은 의도적으로 단순: title + URL + LLM 친화 snippet, 필요시 country / date 필터. POST /api/search/web를 직접 호출하면 되며 호스팅 RAG 레이어는 끼지 않는다.
지연 시간은?
네 곳 모두 동기 에이전트 호출용으로 설계되어 짧은 쿼리 P50은 sub-second. 진짜 차이는 검색 엔드포인트 내부에서 다운스트림 LLM 호출을 하는지 여부 — 순수 검색 API가 '검색+답변' 합본보다 항상 빠르다.
Tavily 대안 중 가장 가까운 것은?
월 최소액이나 초과 비용 불투명성으로 Tavily를 떠나려 한다면 API Pick Web Search가 가장 가까운 사용량 기반 대체: 동일 형식(snippet 포함 ranked JSON), country / date 필터, 월 최소액 없음.
이 글에서 사용한 API
Sarah Choy는 API Pick의 CEO입니다. AI 에이전트와 LLM 워크플로를 위한 프로덕션 등급 API에 대해 씁니다.