Usamos cookies. Cookies e o armazenamento do navegador mantêm você conectado e lembram suas preferências. Com sua permissão, também medimos como o site é usado. Você pode a qualquer momento. Veja nossa política de cookies.

Busca na web

Endpoints

Busca na web

Baseie as respostas em resultados ao vivo da web com a variante :online, o plugin web ou web_search_options, com citações de URL e preços.

Teste no playground

A busca na web adiciona resultados ao vivo da web ao contexto do modelo e retorna citações com URL. Você pode ativá-la em qualquer modelo de texto de três formas.

1. A variante :online

Adicione :online a qualquer id de modelo:

{ "model": "openai/gpt-5-mini:online", "messages": [{ "role": "user", "content": "What happened in AI this week?" }] }

:online usa os mesmos preços, a mesma lista de permissões da chave e as mesmas regras de plano do modelo base. Veja IDs de modelo.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini:online",
  "messages": [
    {
      "role": "user",
      "content": "What are the latest AI model releases this week?"
    }
  ]
});
console.log(result.choices[0].message.content);

2. O plugin web

O plugin dá a você controle sobre a busca:

{
  "model": "anthropic/claude-sonnet-4.5",
  "messages": [{ "role": "user", "content": "Latest stable Node.js version?" }],
  "plugins": [
    { "id": "web", "max_results": 5, "engine": "exa", "search_prompt": "Use these sources:" }
  ]
}
CampoTipoDescrição
plugins[].idstring"web"
max_resultsintegerNúmero de resultados a injetar (padrão 5).
enginestring"native" (a busca própria do provedor, quando disponível) ou "exa". Se omitido, usa-se a nativa quando disponível, caso contrário a Exa.
search_promptstringTexto colocado antes dos resultados injetados.

3. web_search_options

A opção no estilo OpenAI para modelos com busca nativa:

{
  "model": "openai/gpt-4o-search-preview",
  "messages": [{ "role": "user", "content": "Who won yesterday's match?" }],
  "web_search_options": { "search_context_size": "high" }
}

search_context_size é "low", "medium" ou "high". Ele define quanto conteúdo de busca é recuperado e o preço.

Resposta

As citações são retornadas como annotations na mensagem:

{
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "The latest LTS release is ... [nodejs.org](https://nodejs.org/en/blog)",
        "annotations": [
          {
            "type": "url_citation",
            "url_citation": { "url": "https://nodejs.org/en/blog", "title": "Node.js Blog", "start_index": 25, "end_index": 60, "content": "..." }
          }
        ]
      }
    }
  ],
  "usage": { "prompt_tokens": 2410, "completion_tokens": 85, "total_tokens": 2495, "cost": 0.02061 }
}

Preços

Além dos tokens, a busca tem seu próprio preço: a Exa é cobrada por resultado e a busca nativa por requisição, conforme o preço web_search do modelo. Os resultados da busca também contam como tokens de entrada. Tudo está incluído em usage.cost e é debitado em USD. Veja Preços e cobrança.

Erros

Os mesmos de Chat completions. Veja Erros.