[ blog · comparison ]9 min read

Tavily vs Exa vs Serper vs API Pick: qual API de Web Search escolher para LLMs?

Sarah ChoyPublicado em 2 de maio de 20269 min de leitura
Tavily vs Exa vs Serper vs API Pick: qual API de Web Search escolher para LLMs?

Tavily, Exa, Serper e API Pick prometem ser a camada de busca do seu LLM. Diferem bastante em formato de saída, filtros e cobrança. Um comparativo de quem coloca agentes em produção.

TL;DR

  • Você quer um endpoint RAG hospedado que devolve um blob pronto para LLM → Tavily (com seu ranking opaco e piso mensal).
  • Descoberta semântica, frescor menos importante → Exa (atenção ao orçamento em escala).
  • SERP do Google em estado bruto, você faz a limpeza → Serper.
  • JSON já formatado, preço por chamada transparente, filtros país/data e cobrança só no HTTP 200 → API Pick Web Search.

O que 'API de Web Search para LLMs' realmente significa

APIs de busca genéricas (Google Custom Search, Bing Web Search, SerpAPI) devolvem uma SERP — os mesmos links azuis e rich snippets que um humano veria. Para um modelo, esse formato está errado. Um agente não quer parsear uma SERP: ele quer uma pequena lista ranqueada de títulos, URLs e trechos de texto limpos que possa citar diretamente na janela de contexto. As quatro APIs aqui prometem isso, mas fazem trade-offs diferentes em como resolvem.

Vamos comparar em cinco eixos práticos: formato de saída, filtros, modelo de preços, ergonomia de integração e o que elas não fazem.

As concorrentes, em um parágrafo cada

Tavily

RAG hospedado como serviço. tavily.search devolve snippets ranqueados; tavily.qna combina busca com uma resposta rápida de LLM. Encaixa bem em assistentes de chat onde você quer 'dar ao modelo um blob pronto para responder'. Baseado em assinatura com créditos de uso.

Exa (antiga Metaphor)

Índice neural / semântico. Desenhado para 'encontre URLs parecidas com esta URL' e ranking por embeddings, com opções de recuperar highlights ou conteúdo completo. Mais forte quando o frescor importa menos que a similaridade temática. Assinatura com créditos excedentes.

Serper

API de SERP do Google em estado bruto. Devolve o formato JSON de uma página real de resultados (organic, knowledge graph, places, videos). A limpeza dos snippets e o ranking ficam por sua conta. Barato por consulta, mas a camada de formatação para LLM é você quem entrega.

Busca web semântica pay-as-you-go já formatada para tool calling de LLM. POST /api/search/web devolve 5 (no máximo 10) resultados ranqueados com títulos, URLs e snippets pré-limpos, mais filtros opcionais country_code e start_date/end_date. 15 créditos por chamada (~$0,015), descontados só no sucesso.

Lado a lado

A tabela reflete o posicionamento geral de cada provedor no momento da escrita. Sempre confirme preços e cotas na página de preços de cada provedor antes de integrar.
TavilyExaSerperAPI Pick
Formato de saídaSnippets ranqueados + resposta LLM opcionalURLs ranqueadas + highlights/conteúdoJSON SERP do Googletitle + URL + snippet LLM-friendly
Filtro de paísSimLimitadoSimSim (country_code)
Filtro de dataSimSimSim (qdr)Sim (start_date / end_date)
Endpoint de tool-schemaSim — GET /api/search/web/tool-schema
Modelo de preçosAssinatura + créditosAssinatura + créditosPor consultaPay-as-you-go, $5 / 5 mil
Cobra na falha?VariaVariaSimNão — só no HTTP 200
Melhor encaixeRAG hospedado / assistentes de chatDescoberta semântica / similaridadePipelines SERP própriosTool calling de agentes de IA, pipelines RAG

Formato de saída: a parte que mais importa

A razão de esta categoria existir é que LLMs não conseguem raciocinar bem sobre um blob de HTML de SERP; raciocinam sobre texto curto, nomeado e ranqueado. Por isso o maior preditor isolado de se uma API de busca funciona bem como tool de agente é: quão limpo é o snippet?

Tavily e API Pick limpam os snippets de forma agressiva. A Exa devolve highlights ou conteúdo conforme as flags — tudo bem, mas você decide quanto pedir. O Serper te entrega a SERP bruta e assume que você vai rodar um extrator em seguida. Isso é uma escolha razoável se você já opera um extrator de conteúdo; caso contrário, é trabalho escondido.

Com a API Pick, uma resposta típica é assim:

{
  "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
}

Esse formato cai direto numa resposta de function calling sem parsing adicional.

Filtros: país e recência

Duas dimensões de filtro importam para agentes em produção:

  • País / locale: um agente financeiro no Reino Unido não deveria receber só fontes dos EUA por padrão.
  • Faixa de datas: um agente de pesquisa de mercado perguntando 'o que aconteceu esta semana' precisa rejeitar qualquer coisa com mais de 7 dias.

As quatro expõem alguma forma das duas, mas a expressividade varia. A API Pick usa datas ISO (start_date="2026-04-01"), o que é inequívoco, contra os buckets mais grosseiros do Google em qdr (última hora / dia / semana / mês).

Modelo de preços: assinatura vs pay-as-you-go

APIs por assinatura (Tavily, Exa) funcionam bem quando você tem tráfego previsível e estável. Ficam incômodas em três padrões comuns:

  • Você está prototipando e não quer um compromisso mensal.
  • Seu tráfego é em rajadas (ex.: um agente de pesquisa que roda em lotes).
  • Você constrói agentes que fazem retry agressivo em falhas parciais.

A API Pick usa um modelo de créditos — $5 compram 5.000 créditos; a Web Search custa 15 créditos por chamada; os créditos nunca expiram e são descontados só em respostas HTTP 200. Essa última cláusula importa mais do que parece: um loop de agente que faz retry cinco vezes num 502 transitório custa zero, não 5×.

Ergonomia de integração

A integração de menor atrito é aquela em que você cola um JSON de tool schema no código do seu agente sem escrever um wrapper. A API Pick publica schemas prontos para uso:

# OpenAI function tool schema
curl https://www.apipick.com/api/search/web/tool-schema

# Returns OpenAI tool definition + Claude tool use definition

Com 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"]}],
)

Com 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?"}],
)

O que nenhuma dessas APIs faz

Nenhuma API de busca web vai responder com confiabilidade 'tudo deste domínio desde 2019'. Para cobertura de arquivo profundo você ainda precisa combinar a busca com um crawler focado ou um dataset específico de domínio. Nenhuma delas deduplica perfeitamente URLs muito parecidas. E nenhuma resolve o problema a montante de uma fonte obsoleta ou de baixa autoridade — essa é uma decisão de qualidade de conteúdo que seu agente tem de tomar.

Escolhendo rápido

Melhor para: RAG hospedado com resposta embutida
Escolha Tavily. Endpoint único, o modelo já escolhe as fontes, o caminho mais rápido para um assistente de chat funcionando.
Melhor para: descoberta semântica / similaridade
Escolha Exa. O ranking neural é sua tese central; embeddings funcionam melhor que palavras-chave para 'encontre mais como esta URL'.
Melhor para: construir seu próprio pipeline de SERP
Escolha Serper. O JSON de SERP do Google em estado bruto mais barato. Você faz a limpeza.
Melhor para: tool calling de agentes de IA, preços transparentes, sem piso mensal
Escolha API Pick. Snippets prontos para LLM, filtros de país e data, pay-as-you-go, cobrança só no sucesso, tool schemas prontos para colar. Experimente →

Perguntas Frequentes

Qual tem o melhor preço por chamada?

Depende do modelo. A API Pick Web Search custa 15 créditos por chamada (≈ $0,015 ao preço de $5 / 5.000 créditos) e só cobra no HTTP 200. Tavily e Exa usam assinaturas mensais com créditos excedentes; o Serper cobra por consulta. Se seu tráfego é em rajadas ou você refaz chamadas em falhas durante retries do agente, o modelo 'só no sucesso' costuma vencer no gasto real.

Todas funcionam com OpenAI function calling e Claude tool use?

Sim. Todas são JSON in / JSON out, então você pode envolver qualquer uma como tool. A API Pick ainda publica um endpoint de tool-schema (GET /api/search/web/tool-schema) com definições prontas para colar de OpenAI function e Claude tool use.

A API Pick é um wrapper do Tavily?

Não. A API Pick executa sua própria agregação de índice, ranking e formatação de snippets. O formato é deliberadamente mais simples que o do Tavily: title + URL + snippet LLM-friendly, com filtros opcionais country / date. Você chama POST /api/search/web diretamente, sem camada RAG hospedada.

E quanto à latência?

As quatro são pensadas para chamadas síncronas de agente. O P50 para consultas curtas é sub-segundo. A diferença real está em saber se o endpoint encadeia uma chamada de LLM por dentro — APIs de busca puras sempre são mais rápidas que endpoints 'search + answer'.

Qual é a melhor alternativa ao Tavily?

Se você está saindo do Tavily por causa do piso mensal ou do custo opaco nos excedentes, a API Pick Web Search é o substituto pay-as-you-go mais próximo: mesmo formato (JSON ranqueado com snippet), filtros país/data, sem mínimo mensal.

APIs usadas neste artigo

Sarah Choy
Escrito por
Sarah Choy
CEO, API Pick

Sarah Choy é a CEO da API Pick. Ela escreve sobre a construção de APIs prontas para produção para agentes de IA e fluxos de trabalho com LLMs.