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

Pesquisa na Web

Permita que os modelos pesquisem na Web as informações mais recentes antes de gerar uma resposta.

A pesquisa na Web permite que os modelos acessem informações atualizadas da internet e forneçam respostas com citações das fontes. Para habilitar esse recurso, use a ferramenta de pesquisa na Web na Responses API ou, em alguns casos, em Chat Completions.

Há três tipos principais de pesquisa na Web disponíveis com os modelos da OpenAI:

  1. Pesquisa na Web sem raciocínio: o modelo sem raciocínio envia a consulta do usuário à ferramenta de pesquisa na Web, que retorna a resposta com base nos principais resultados. Não há planejamento interno, e o modelo simplesmente repassa as respostas da ferramenta de pesquisa. Esse método é rápido e ideal para consultas pontuais.
  2. A pesquisa agêntica com modelos de raciocínio é uma abordagem em que o modelo gerencia ativamente o processo de pesquisa. Ele pode pesquisar na Web como parte de sua cadeia de pensamento, analisar resultados e decidir se deve continuar pesquisando. Essa flexibilidade torna a pesquisa agêntica adequada para fluxos de trabalho complexos, mas também faz com que as pesquisas demorem mais do que consultas pontuais. Por exemplo, você pode ajustar os níveis de raciocínio em modelos como gpt-5.5 para alterar tanto a profundidade quanto a latência da pesquisa.
  3. A pesquisa aprofundada é um método especializado, conduzido por agentes, para investigações extensas e detalhadas realizadas por modelos de raciocínio. O modelo pesquisa na Web como parte de sua cadeia de pensamento, muitas vezes consultando centenas de fontes. A pesquisa aprofundada pode levar vários minutos e funciona melhor no modo em segundo plano. Use gpt-5.5 com o raciocínio definido como high ou xhigh.

Escolha uma integração

Caso de usoCaminho recomendadoObservações
Nova integração de pesquisa na WebResponses API com web_search e gpt-5.5Oferece suporte a controles da pesquisa na Web hospedada, como filtros, fontes, controle de acesso em tempo real e pesquisas mais longas
Integração existente de pesquisa com Chat CompletionsChat Completions com gpt-5-search-apiUse essa opção apenas quando precisar manter uma integração com Chat Completions
Pesquisa em várias etapas ou geração de relatórios de longa duraçãogpt-5.5 com raciocínio definido como high ou xhighUse o modo em segundo plano para relatórios que podem levar vários minutos

Com a Responses API, você pode habilitar a pesquisa na Web configurando-a no array tools de uma requisição à API para gerar conteúdo. Como acontece com qualquer outra ferramenta, o modelo pode escolher pesquisar na Web ou não com base no conteúdo do prompt de entrada.

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

Exemplo 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

As respostas do modelo que usam a ferramenta de pesquisa na Web incluirão duas partes:

  • Um item de saída web_search_call com o ID da chamada de pesquisa e a ação realizada em web_search_call.action. A ação é uma das seguintes:
    • search, que representa uma pesquisa na Web. Geralmente, mas nem sempre, inclui as consultas realizadas em queries. As ações de pesquisa geram um custo de chamada de ferramenta (consulte os preços).
    • open_page, que representa a abertura de uma página. Disponível em modelos de raciocínio.
    • find_in_page, que representa uma pesquisa dentro de uma página. Disponível em modelos de raciocínio.
  • Um item de saída message contendo:
    • O resultado em texto em message.content[0].text
    • Anotações em message.content[0].annotations para as URLs citadas

Por padrão, a resposta do modelo incluirá citações no corpo do texto para URLs encontradas nos resultados da pesquisa na Web. Além disso, o objeto de anotação url_citation conterá a URL, o título e a localização da fonte citada.

Ao exibir resultados da Web ou informações contidas nesses resultados aos usuários finais, as citações no corpo do texto devem estar claramente visíveis e ser clicáveis na sua interface de usuário.

[
  {
    "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..."
          }
        ]
      }
    ]
  }
]
Se você usaCaminho recomendadoObservações
web_search_preview em ResponsesMigre para web_searchweb_search oferece suporte a controles mais recentes, como filters, external_web_access e return_token_budget
gpt-4o-search-preview ou gpt-4o-mini-search-previewMigre para web_search em Responses ou use gpt-5-search-api se precisar continuar com Chat CompletionsOs modelos de pesquisa em prévia estão descontinuados, com desligamento em 2026-07-23
Integrações de pesquisa com Chat CompletionsUse gpt-5-search-api ou migre para web_search em Responses para ter mais controles da ferramenta e pesquisa opcionalOs modelos de pesquisa de Chat Completions sempre pesquisam antes de responder; a pesquisa em Responses é uma ferramenta

Tamanho do contexto de pesquisa

search_context_size controla quanto contexto dos resultados da pesquisa na Web é disponibilizado ao modelo antes de ele gerar uma resposta. Use low para consultas simples, medium como padrão equilibrado e high quando a resposta puder exigir mais detalhes dos resultados da pesquisa. Essa configuração não define uma quantidade exata de tokens nem garante um número específico de fontes ou citações.

Definir o tamanho do contexto de 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);

Realizar pesquisas mais longas na Web

return_token_budget controla a quantidade de conteúdo dos resultados de pesquisa na Web que a ferramenta pode retornar durante uma pesquisa na Responses API com modelos de raciocínio GPT-5+. Mantenha o valor padrão para a maioria das solicitações. Defina como unlimited apenas para pesquisas ou avaliações que exijam maior esforço, precisem examinar muitas páginas e que, sem essa configuração, possam ser interrompidas pelo limite padrão de tokens retornados.

Use unlimited de forma seletiva, pois isso pode aumentar a latência e o custo. Para tarefas de longa duração com várias pesquisas, use o modo em segundo plano (background: true) para que a solicitação continue sendo executada de forma assíncrona e você possa obter a resposta final depois.

ValorComportamento
defaultUsa o limite padrão de tokens retornados para resultados de pesquisa na Web. Esse é o mesmo comportamento de omitir return_token_budget.
unlimitedRemove o limite padrão de tokens retornados durante a pesquisa na Web.

Esse parâmetro se aplica apenas à ferramenta hospedada web_search da Responses API em pesquisas na Web com raciocínio GPT-5+. Ele não altera a janela de contexto da pesquisa e não se aplica a pesquisas na Web sem raciocínio, integrações legadas da API de pesquisa, pesquisas na Web em contêineres, modelos de pesquisa do Chat Completions ou web_search_preview. Os únicos valores aceitos são default e unlimited; null, números e outras strings são rejeitados.

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 na pesquisa na Web permite limitar os resultados 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 formatar os domínios, omita o prefixo HTTP ou HTTPS. Por exemplo, use openai.com em vez de https://openai.com/. Essa abordagem também inclui subdomínios na pesquisa. A filtragem por domínio está disponível apenas na Responses API com a ferramenta web_search.

Fontes

Para ver todas as URLs obtidas durante uma pesquisa na Web, use o campo sources. Ao contrário das citações no texto, que mostram apenas as referências mais relevantes, sources retorna a lista completa de URLs que o modelo consultou ao elaborar a resposta. O número de fontes costuma ser maior que o de citações. Feeds de terceiros em tempo real também aparecem aqui, 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 de pesquisa de imagens

A pesquisa na Web pode retornar imagens junto com os resultados de texto convencionais. Use a pesquisa de imagens quando seu aplicativo precisar de conteúdo visual atual ou fundamentado em fontes da Web, como fotos de produtos, pontos de referência, lugares, eventos ou referências visuais.

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

Use image_settings para controlar o comportamento específico das imagens:

  • max_results: Solicite um número positivo de resultados de imagens.
  • caption: Solicite descrições curtas das imagens, quando disponíveis.

Para examinar os resultados brutos de imagens, inclua web_search_call.results na solicitação e leia web_search_call.results[] na resposta. Os resultados de imagens são retornados separadamente da mensagem do assistente, portanto processe diretamente o item web_search_call quando seu aplicativo precisar das URLs ou dos metadados.

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 image_result inclui:

  • image_url: A URL canônica da imagem do resultado.
  • source_website_url: A página onde a imagem foi encontrada.
  • thumbnail_url: Uma URL de miniatura, quando disponível.
  • caption: Uma legenda ou descrição curta, 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 de pesquisa com base na localização geográfica, você pode especificar a localização aproximada do usuário usando país, cidade, região e/ou fuso horário.

  • Os campos city e region são strings de texto livre, como Minneapolis e Minnesota, respectivamente.
  • O campo country é um código de país ISO de duas letras, como US.
  • O campo timezone é um fuso horário IANA, como America/Chicago.

A localização do usuário não é compatível com modelos de pesquisa aprofundada que usam pesquisa na Web.

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

Controle se a ferramenta de pesquisa na Web busca conteúdo em tempo real ou usa apenas resultados em cache ou indexados na Responses API.

  • Defina external_web_access: false na ferramenta web_search para executá-la no modo offline, usando apenas o cache.
  • Se você não definir esse parâmetro, o valor padrão será true (acesso em tempo real).
  • As variantes em prévia (web_search_preview) ignoram esse parâmetro e se comportam como se external_web_access fosse 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 apenas a modelos especializados de pesquisa para pesquisar na Web. Esses modelos não oferecem suporte aos recursos de web_search da Responses API, como filtros de domínio, listas completas de fontes, controle de acesso em tempo real e controle do limite de tokens retornados.

ModeloJanela de contextoLimitação
gpt-5-search-api200kUsa a integração com modelos de pesquisa do Chat Completions
gpt-4o-search-preview128kUsa o fluxo do modelo de pesquisa do Chat Completions; obsoleto, desativação em 2026-07-23
gpt-4o-mini-search-preview128kUsa o fluxo do modelo de pesquisa do Chat Completions; obsoleto, desativação em 2026-07-23

Responses API

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

Para uma janela de contexto maior no modelo, use gpt-5.5. A janela de contexto da pesquisa na Web permanece em 128k.

ModeloJanela de contexto do modeloLimitação
gpt-4.11MO contexto da pesquisa é limitado a 128k
gpt-4.1-mini1MO contexto da pesquisa é limitado a 128k
o4-mini200kO contexto da pesquisa é limitado a 128k; obsoleto, desativação em 2026-10-23

Na pesquisa na Web da Responses API, a janela de contexto da pesquisa é limitada a 128k, mesmo quando a janela de contexto do modelo é maior.

  • A pesquisa na Web não oferece suporte a gpt-5 com raciocínio minimal.
  • gpt-5.4 com o esforço de raciocínio definido como none pode produzir resultados de qualidade inferior.
  • A pesquisa na Web da Responses API usa os limites de taxa por nível do modelo subjacente.
  • 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. Use tool_choice: "required" ou selecione uma ferramenta específica de pesquisa na Web quando a pesquisa precisar ser executada.

Notas de uso

Disponibilidade da API Limites de taxa Notas

Os mesmos limites de taxa por nível do modelo subjacente usado com a ferramenta.

Preços
ZDR e residência de dados