For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal
Theme

Pesquisa na Web

Permita que os modelos pesquisem na Web para encontrar informações atualizadas antes de gerar uma resposta.

A pesquisa na Web permite que os modelos consultem informações atualizadas na internet e citem as fontes nas respostas. Para habilitar esse recurso, use a ferramenta de pesquisa na Web na API Responses ou, em alguns casos, em Chat Completions.

Escolha como conduzir a pesquisa de acordo com a pergunta que você precisa responder.

  • Para uma consulta rápida, peça ao modelo que pesquise um fato específico e cite a fonte.
  • Se a pergunta exigir várias fontes, use um modelo de raciocínio como gpt-6-astra. O modelo pode refinar as pesquisas à medida que lê os resultados. Use o modo em segundo plano se a requisição puder levar vários minutos.

Escolha uma integração

Caso de uso Integração recomendada Observações
Nova integração de pesquisa na Web API Responses com web_search e gpt-6-astra A ferramenta hospedada de pesquisa na Web oferece filtros, consulta às fontes, controle de acesso em tempo real e suporte a pesquisas mais longas
Integração existente de pesquisa em Chat Completions Chat Completions com gpt-5-search-api Use esta opção somente se precisar manter uma integração com Chat Completions
Pesquisa em várias etapas ou geração demorada de relatórios gpt-6-astra com nível de raciocínio high ou xhigh Use o modo em segundo plano para relatórios que podem levar vários minutos

Na API Responses, você pode habilitar a pesquisa na Web configurando a ferramenta no array tools da requisição de geração de conteúdo. Assim como ocorre com outras ferramentas, o modelo pode decidir se vai pesquisar na Web com base no conteúdo do prompt de entrada.

Para novas integrações com a API Responses, use { "type": "web_search" }. A ferramenta anterior, web_search_preview, continua disponível para integrações legadas, mas não oferece controles mais recentes, como filters, external_web_access e return_token_budget.

Exemplo de uso da ferramenta de pesquisa na Web
import OpenAI from "openai";
const client = new OpenAI();

const response = await client.responses.create({
  model: "gpt-6-astra",
  tools: [{ type: "web_search" }],
  input: "What was a positive news story from today?",
});

console.log(response.output_text);

Saída e citações

Quando o modelo usa a ferramenta de pesquisa na Web, a resposta inclui duas partes.

  • Um item de saída web_search_call com o ID da chamada de pesquisa e a ação executada em web_search_call.action. A ação pode ter um dos seguintes valores.
    • search indica uma pesquisa na Web. O campo queries geralmente contém as consultas executadas, mas pode estar ausente. As ações de pesquisa têm um custo por chamada de ferramenta (consulte os preços).
    • open_page indica que uma página foi aberta. Os modelos de raciocínio oferecem suporte a essa ação.
    • find_in_page indica uma busca dentro de uma página. Os modelos de raciocínio oferecem suporte a essa ação.
  • Um item de saída message com os seguintes dados.
    • O texto da resposta em message.content[0].text
    • As anotações em message.content[0].annotations referentes às URLs citadas

Por padrão, a resposta do modelo inclui citações no próprio texto para as URLs encontradas nos resultados da pesquisa na Web. O objeto de anotação url_citation também contém a URL, o título e a posição da citação no texto.

Quando sua interface exibir resultados da Web ou informações extraídas deles, você deve apresentar as citações no próprio texto como links clicáveis em destaque.

[
  {
    "type": "web_search_call",
    "id": "ws_67c9fa0502748190b7dd390736892e100be649c1a5ff9609",
    "status": "completed",
    "action": {
      "type": "search",
      "query": "latest news about AI"
    }
  },
  {
    "id": "msg_67c9fa077e288190af08fdffda2e34f20be649c1a5ff9609",
    "type": "message",
    "status": "completed",
    "role": "assistant",
    "content": [
      {
        "type": "output_text",
        "text": "On March 6, 2025, several news...",
        "annotations": [
          {
            "type": "url_citation",
            "start_index": 2606,
            "end_index": 2758,
            "url": "https://...",
            "title": "Title..."
          }
        ]
      }
    ]
  }
]

Migração da pesquisa na Web legada

Se você usa Opção recomendada Observações
web_search_preview na API Responses Migre para web_search A ferramenta web_search oferece controles mais recentes, como filters, external_web_access e return_token_budget
gpt-4o-search-preview ou gpt-4o-mini-search-preview Migre para web_search na API Responses ou use gpt-5-search-api se precisar continuar em Chat Completions Os modelos de pesquisa em versão preliminar foram descontinuados e desativados em 23/07/2026
Integrações de pesquisa em Chat Completions Use gpt-5-search-api ou migre para web_search na API Responses para ter mais controle sobre a ferramenta e tornar a pesquisa opcional Os modelos de pesquisa de Chat Completions sempre pesquisam antes de responder. Na API Responses, a pesquisa é uma ferramenta
o4-mini na API Responses Migre para um modelo de raciocínio compatível com web_search O modelo foi desativado em 23/10/2026

Nas integrações que ainda usam gpt-5, a pesquisa na Web exige um nível de esforço de raciocínio acima de minimal.

Tamanho do contexto da pesquisa

search_context_size controla quanto contexto dos resultados da pesquisa na Web fica disponível para o modelo antes que ele gere uma resposta. Use low para consultas que exigem poucos detalhes, medium como opção padrão equilibrada e high quando a resposta puder exigir mais detalhes dos resultados. Essa configuração não determina uma contagem exata de tokens nem garante um número específico de fontes ou citações.

Definir o tamanho do contexto da pesquisa
import OpenAI from "openai";
const openai = new OpenAI();

const response = await openai.responses.create({
  model: "gpt-6-astra",
  tools: [
    {
      type: "web_search",
      search_context_size: "low",
    },
  ],
  input: "What movie won best picture in 2025?",
});
console.log(response.output_text);

Execute pesquisas mais longas na Web

Se a pesquisa também usar registros privados, faça as pesquisas na Web pública e as consultas a dados privados via MCP em requisições separadas.

return_token_budget controla a quantidade de conteúdo dos resultados da pesquisa na Web que a ferramenta pode retornar durante uma pesquisa na API Responses com modelos de raciocínio GPT-5 ou posteriores. Mantenha o valor padrão na maioria das requisições. Defina o valor como unlimited apenas para pesquisas ou avaliações intensivas que precisem examinar muitas páginas e que, de outra forma, possam ser interrompidas ao atingir o limite padrão de tokens retornados.

Use unlimited de forma seletiva, pois essa opção pode aumentar a latência e o custo. Para tarefas demoradas que envolvam várias pesquisas, use o modo em segundo plano (background: true). Assim, a requisição pode continuar em execução de forma assíncrona, e você pode recuperar a resposta final mais tarde.

Valor Comportamento
default Aplica o limite padrão de tokens retornados nos resultados da pesquisa na Web. Omitir return_token_budget tem o mesmo efeito.
unlimited Remove o limite padrão de tokens que a ferramenta pode retornar durante a pesquisa na Web.

Esse parâmetro se aplica somente à ferramenta hospedada web_search da API Responses em pesquisas na Web com modelos de raciocínio GPT-5 ou posteriores. Ele não altera a janela de contexto da pesquisa. Também não se aplica à pesquisa na Web sem raciocínio, às rotas legadas da API de pesquisa, à pesquisa na Web em contêineres, aos modelos de pesquisa de Chat Completions nem à ferramenta web_search_preview. Os únicos valores aceitos são default e unlimited. A API rejeita null, números e outras strings.

Executar pesquisas mais longas na Web
curl "https://api.openai.com/v1/responses" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-6-astra",
    "reasoning": { "effort": "xhigh" },
    "tools": [
      {
        "type": "web_search",
        "return_token_budget": "unlimited"
      }
    ],
    "input": "Research the economic impact of semaglutide on global healthcare systems.\n\nDo:\n- Include specific figures, trends, statistics, and measurable outcomes.\n- Prioritize reliable, up-to-date sources: peer-reviewed research, health organizations (e.g., WHO, CDC), regulatory agencies, or pharmaceutical earnings reports.\n- Include inline citations and return all source metadata.\n\nBe analytical, avoid generalities, and ensure that each section supports data-backed reasoning that could inform healthcare policy or financial modeling."
  }'

Filtragem por domínio

A filtragem por domínio permite restringir os resultados da pesquisa na Web a um conjunto específico de domínios. Com o parâmetro filters, você pode configurar até 100 domínios em allowed_domains ou até 100 em blocked_domains. Ao informar os domínios, omita o prefixo HTTP ou HTTPS. Por exemplo, use openai.com em vez de https://openai.com/. A pesquisa também inclui os subdomínios. A filtragem por domínio está disponível somente na API Responses com a ferramenta web_search.

Fontes

Para ver todas as URLs recuperadas durante uma pesquisa na Web, use o campo sources. As citações no texto mostram apenas as referências mais relevantes. Já o campo sources retorna a lista completa de URLs que o modelo consultou para elaborar a resposta. O número de fontes costuma ser maior que o de citações. Os feeds de terceiros com dados em tempo real também aparecem nessa lista, identificados como oai-sports, oai-weather ou oai-finance. O campo sources está disponível nas ferramentas web_search e web_search_preview.

Listar fontes
curl "https://api.openai.com/v1/responses" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-6-astra",
    "reasoning": { "effort": "low" },
    "tools": [
      {
        "type": "web_search",
        "filters": {
          "allowed_domains": [
            "pubmed.ncbi.nlm.nih.gov",
            "clinicaltrials.gov",
            "www.who.int",
            "www.cdc.gov",
            "www.fda.gov"
          ],
          "blocked_domains": [
            "reddit.com",
            "quora.com",
            "wikipedia.org"
          ]
        }
      }
    ],
    "tool_choice": "auto",
    "include": ["web_search_call.action.sources"],
    "input": "Please perform a web search on how semaglutide is used in the treatment of diabetes."
  }'

Resultados da pesquisa de imagens

A pesquisa na Web pode retornar imagens junto com os resultados de texto habituais. Use a pesquisa de imagens quando seu aplicativo precisar de imagens atuais ou provenientes da Web, como fotos de produtos, pontos turísticos, lugares ou eventos, ou outras referências visuais.

Para usar a pesquisa de imagens, configure search_content_types para incluir image. Adicione text se também quiser resultados de texto que ajudem o modelo a resumir, classificar ou explicar as imagens encontradas.

Use image_settings para configurar as opções específicas de imagens.

  • max_results permite solicitar um número positivo de resultados de imagens.
  • caption permite solicitar descrições breves das imagens, quando disponíveis.

Para examinar os resultados brutos de imagens, inclua web_search_call.results na requisição e leia web_search_call.results[] na resposta. A ferramenta retorna os resultados de imagens separadamente da mensagem do assistente. Quando seu aplicativo precisar das URLs ou dos metadados, extraia esses dados diretamente do item web_search_call.

Pesquisar imagens
import OpenAI from "openai";
const client = new OpenAI();

const response = await client.responses.create({
  model: "gpt-6-astra",
  reasoning: { effort: "low" },
  tools: [
    {
      type: "web_search",
      search_content_types: ["image", "text"],
      image_settings: {
        max_results: 3,
        caption: true,
      },
    },
  ],
  include: ["web_search_call.results"],
  input:
    "Search for recent images and supporting text sources about the Golden Gate Bridge at sunset.",
});

console.log(response.output);

Cada item image_result inclui os seguintes campos.

  • image_url contém a URL canônica da imagem retornada.
  • source_website_url indica a página em que a ferramenta encontrou a imagem.
  • thumbnail_url contém a URL da miniatura, quando disponível.
  • caption contém uma legenda ou descrição breve, quando disponível.
{
  "output": [
    {
      "type": "web_search_call",
      "status": "completed",
      "results": [
        {
          "type": "image_result",
          "image_url": "https://cdn.example/golden-gate-sunset.jpg",
          "thumbnail_url": "https://cdn.example/golden-gate-sunset-thumb.jpg",
          "source_website_url": "https://example.com/source-page",
          "caption": "Golden Gate Bridge at sunset"
        }
      ]
    }
  ]
}

Localização do usuário

Para refinar os resultados da pesquisa por localização geográfica, você pode informar a localização aproximada do usuário usando um ou mais destes dados: país, cidade, região e fuso horário.

  • Os campos city e region aceitam strings de texto livre, como Minneapolis e Minnesota, respectivamente.
  • O campo country recebe um código de país ISO de duas letras, como US.
  • O campo timezone recebe um fuso horário da IANA, como America/Chicago.
Personalizar a localização do usuário
import OpenAI from "openai";
const openai = new OpenAI();

const response = await openai.responses.create({
  model: "gpt-6-astra",
  tools: [
    {
      type: "web_search",
      user_location: {
        type: "approximate",
        country: "GB",
        city: "London",
        region: "London",
      },
    },
  ],
  input: "What are the best restaurants near me?",
});
console.log(response.output_text);

Acesso à internet em tempo real

Na API Responses, você pode controlar se a ferramenta de pesquisa na Web busca conteúdo em tempo real ou usa apenas resultados em cache ou já indexados.

  • Defina external_web_access: false na ferramenta web_search para executá-la no modo offline, usando apenas o cache.
  • Se você omitir o parâmetro, o valor padrão será true (acesso em tempo real).
  • As versões preliminares (web_search_preview) ignoram esse parâmetro e funcionam como se external_web_access estivesse definido como true.
Controlar o acesso à internet em tempo real
curl "https://api.openai.com/v1/responses" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-6-astra",
    "tools": [
      { "type": "web_search", "external_web_access": false }
    ],
    "tool_choice": "auto",
    "input": "Find when the Eiffel Tower opened to the public and cite the source."
  }'

Limitações

API chat completions

A API chat completions oferece suporte à pesquisa na Web somente com modelos especializados em pesquisa. Esses modelos não oferecem os recursos da ferramenta web_search da API Responses, como filtros de domínio, listas completas de fontes, controle de acesso em tempo real e controle do limite de tokens retornados.

Modelo Janela de contexto Limitação
gpt-5-search-api 200 mil Usa a rota dos modelos de pesquisa de Chat Completions

API Responses

Use a ferramenta hospedada web_search. A API Responses ainda aceita web_search_preview para integrações legadas, mas use web_search para novas integrações.

A janela de contexto da pesquisa na Web tem um limite de 128 mil tokens, mesmo quando a janela de contexto do modelo é maior. Para verificar o limite de contexto de gpt-6-astra ou de outro modelo compatível, consulte a página do modelo.

  • gpt-5.4 pode produzir resultados de qualidade inferior quando o esforço de raciocínio está definido como none.
  • A pesquisa na Web da API Responses segue os limites de taxa por nível do modelo utilizado.
  • A ferramenta web_search_preview não oferece suporte a filters nem a return_token_budget e ignora external_web_access.
  • Com tool_choice: "auto", a pesquisa é opcional. Quando a pesquisa for obrigatória, use tool_choice: "required" ou selecione explicitamente uma ferramenta de pesquisa na Web.

Observações sobre o uso

Disponibilidade por APILimites de taxaObservações

Aplicam-se os mesmos limites de taxa por nível do modelo usado com a ferramenta.

Preços
ZDR e residência de dados