For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Hauptnavigation

Websuche

Ermögliche Modellen, vor dem Generieren einer Antwort im Web nach aktuellen Informationen zu suchen.

Mit der Websuche können Modelle auf aktuelle Informationen aus dem Internet zugreifen und Antworten mit Quellenangaben liefern. Verwende dazu das Websuchtool in der Responses API oder, in bestimmten Fällen, Chat Completions.

Mit OpenAI-Modellen stehen drei grundlegende Arten der Websuche zur Verfügung:

  1. Websuche ohne Reasoning-Aufwand: Das Modell ohne Reasoning-Funktion sendet die Anfrage an das Websuchtool, das anhand der besten Suchergebnisse eine Antwort zurückgibt. Es findet keine interne Planung statt, und das Modell gibt die Antworten des Suchtools einfach weiter. Diese Methode ist schnell und eignet sich ideal zum raschen Nachschlagen.
  2. Bei der agentischen Suche mit Reasoning-Modellen steuert das Modell den Suchprozess aktiv. Es kann im Rahmen seiner Gedankenkette das Web durchsuchen, Ergebnisse analysieren und entscheiden, ob es weitersuchen soll. Dank dieser Flexibilität eignet sich die agentische Suche gut für komplexe Arbeitsabläufe, dauert allerdings auch länger als einfaches Nachschlagen. Bei Modellen wie gpt-5.5 kannst du beispielsweise den Reasoning-Aufwand anpassen und damit sowohl die Tiefe als auch die Latenz der Suche beeinflussen.
  3. Deep Research ist eine spezialisierte, agentengesteuerte Methode für eingehende, umfangreiche Recherchen mit Reasoning-Modellen. Das Modell durchsucht das Web im Rahmen seiner Gedankenkette und greift dabei oft auf Hunderte von Quellen zurück. Deep Research kann mehrere Minuten dauern und lässt sich am besten im Hintergrundmodus nutzen. Verwende gpt-5.5 mit einem Reasoning-Aufwand von high oder xhigh.

Integration auswählen

AnwendungsfallEmpfohlenes VorgehenHinweise
Neue Integration der WebsucheResponses API mit web_search und gpt-5.5Unterstützt Steuerungsmöglichkeiten für die gehostete Websuche wie Filter, Quellen, die Steuerung des Live-Zugriffs und längere Recherchen
Bestehende Suchintegration mit Chat CompletionsChat Completions mit gpt-5-search-apiVerwende dies nur, wenn du eine bestehende Chat Completions-Integration beibehalten musst
Mehrstufige Recherche oder zeitaufwendige Berichterstellunggpt-5.5 mit einem Reasoning-Aufwand von high oder xhighVerwende den Hintergrundmodus für Berichte, deren Erstellung mehrere Minuten dauern kann

In der Responses API kannst du die Websuche aktivieren, indem du sie im Array tools einer API-Anfrage zur Generierung von Inhalten konfigurierst. Wie bei jedem anderen Tool kann das Modell anhand des eingegebenen Prompts entscheiden, ob es das Web durchsucht.

Verwende für neue Integrationen mit der Responses API { "type": "web_search" }. Das ältere Tool web_search_preview bleibt für bestehende Integrationen verfügbar, unterstützt jedoch keine neueren Steuerungsmöglichkeiten wie filters, external_web_access und return_token_budget.

Beispiel für das Websuchtool
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);

Ausgabe und Quellenangaben

Modellantworten, die das Websuchtool verwenden, bestehen aus zwei Teilen:

  • Ein Ausgabeelement web_search_call mit der ID des Suchaufrufs und der ausgeführten Aktion in web_search_call.action. Die Aktion ist eine der folgenden:
    • search steht für eine Websuche. Die Aktion enthält in der Regel, aber nicht immer, die verwendeten Suchanfragen in queries. Für Suchaktionen fallen Kosten für einen Tool-Aufruf an (siehe Preise).
    • open_page steht für das Öffnen einer Seite. Wird von Reasoning-Modellen unterstützt.
    • find_in_page steht für die Suche innerhalb einer Seite. Wird von Reasoning-Modellen unterstützt.
  • Ein Ausgabeelement message mit folgendem Inhalt:
    • Das Textergebnis in message.content[0].text
    • Annotationen in message.content[0].annotations für die zitierten URLs

Standardmäßig enthält die Modellantwort Quellenangaben direkt im Text für URLs aus den Websuchergebnissen. Zusätzlich enthält das Annotationsobjekt url_citation die URL, den Titel und die Position der zitierten Quelle.

Wenn du Nutzenden Websuchergebnisse oder darin enthaltene Informationen anzeigst, müssen die Quellenangaben direkt im Text deiner Benutzeroberfläche deutlich sichtbar und anklickbar sein.

[
  {
    "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..."
          }
        ]
      }
    ]
  }
]
Bisherige NutzungEmpfohlenes VorgehenHinweise
web_search_preview in ResponsesWechsle zu web_searchweb_search unterstützt neuere Steuerungsmöglichkeiten wie filters, external_web_access und return_token_budget
gpt-4o-search-preview oder gpt-4o-mini-search-previewWechsle zu web_search in Responses oder verwende gpt-5-search-api, wenn du bei Chat Completions bleiben musstDie Preview-Suchmodelle sind veraltet und werden am 23.07.2026 abgeschaltet
Suchintegrationen mit Chat CompletionsVerwende gpt-5-search-api oder wechsle zu web_search in Responses, um mehr Steuerungsmöglichkeiten für das Tool und eine optionale Suche zu nutzenSuchmodelle in Chat Completions suchen immer, bevor sie antworten; in Responses ist die Suche ein Tool

Größe des Suchkontexts

search_context_size steuert, wie viel Kontext aus Websuchergebnissen dem Modell zur Verfügung steht, bevor es eine Antwort generiert. Verwende low zum einfachen Nachschlagen, medium als ausgewogene Standardeinstellung und high, wenn die Antwort möglicherweise mehr Details aus den Suchergebnissen erfordert. Diese Einstellung legt keine genaue Token-Anzahl fest und garantiert keine bestimmte Anzahl von Quellen oder Quellenangaben.

Größe des Suchkontexts festlegen
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);

Längere Webrecherchen durchführen

return_token_budget steuert, wie viele Inhalte aus Websuchergebnissen das Tool während eines Suchlaufs der Responses API mit Reasoning-Modellen ab GPT-5 zurückgeben kann. Behalte für die meisten Anfragen die Standardeinstellung bei. Verwende unlimited nur für aufwendige Recherchen oder Evaluierungsläufe, die viele Seiten prüfen müssen und andernfalls möglicherweise an der standardmäßigen Obergrenze für zurückgegebene Token enden würden.

Verwende unlimited gezielt, da dies die Latenz und die Kosten erhöhen kann. Nutze für lang andauernde Aufgaben mit mehreren Suchvorgängen den Hintergrundmodus (background: true), damit die Anfrage asynchron weiterlaufen kann und du die endgültige Antwort später abrufen kannst.

WertVerhalten
defaultVerwendet das standardmäßige Budget für zurückgegebene Token aus Websuchergebnissen. Das Verhalten ist dasselbe, wie wenn du return_token_budget weglässt.
unlimitedHebt das standardmäßige Budget für zurückgegebene Token für den Websuchlauf auf.

Dieser Parameter gilt nur für das gehostete Tool web_search der Responses API bei der Websuche mit Reasoning-Modellen ab GPT-5. Er ändert das Kontextfenster der Suche nicht und gilt weder für die Websuche ohne Reasoning-Modelle noch für ältere Search API-Integrationen, die Websuche in Containern, Suchmodelle für Chat Completions oder web_search_preview. Als Werte werden nur default und unlimited unterstützt; null, Zahlen und andere Zeichenfolgen werden abgelehnt.

Längere Websuchen durchführen
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."
  }'

Nach Domains filtern

Mit Domainfiltern kannst du die Ergebnisse der Websuche auf bestimmte Domains beschränken. Über den Parameter filters kannst du bis zu 100 Domains unter allowed_domains oder bis zu 100 Domains unter blocked_domains konfigurieren. Gib Domains ohne HTTP- oder HTTPS-Präfix an. Verwende beispielsweise openai.com statt https://openai.com/. Dabei werden auch Subdomains in die Suche einbezogen. Beachte, dass Domainfilter nur in der Responses API mit dem Tool web_search verfügbar sind.

Quellen

Verwende das Feld sources, um alle während einer Websuche abgerufenen URLs anzuzeigen. Quellenverweise im Text zeigen nur die relevantesten Belege. Das Feld sources liefert dagegen die vollständige Liste der URLs, die das Modell beim Erstellen seiner Antwort herangezogen hat. Die Anzahl der Quellen ist häufig größer als die Anzahl der Quellenverweise. Hier werden auch Echtzeit-Feeds von Drittanbietern angezeigt und als oai-sports, oai-weather oder oai-finance gekennzeichnet. Das Feld sources ist sowohl mit dem Tool web_search als auch mit dem Tool web_search_preview verfügbar.

Quellen auflisten
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."
  }'

Ergebnisse der Bildersuche

Die Websuche kann neben regulären Textergebnissen auch Bildergebnisse zurückgeben. Verwende die Bildersuche, wenn deine Anwendung aktuelle Bilder oder Bildmaterial aus dem Web benötigt, etwa Produktfotos, Bilder von Sehenswürdigkeiten, Orten oder Veranstaltungen oder visuelle Referenzen.

Um die Bildersuche zu verwenden, konfiguriere search_content_types so, dass image enthalten ist. Füge text hinzu, wenn du auch ergänzende Textergebnisse möchtest, die dem Modell helfen, die abgerufenen Bilder zusammenzufassen, zu bewerten oder zu erläutern.

Verwende image_settings, um das bildspezifische Verhalten zu steuern:

  • max_results: Gib eine positive Zahl für die Anzahl der angeforderten Bildergebnisse an.
  • caption: Fordere kurze Bildbeschreibungen an, sofern verfügbar.

Um die Rohdaten der Bildergebnisse zu prüfen, nimm web_search_call.results in die Anfrage auf und lies web_search_call.results[] aus der Antwort aus. Bildergebnisse werden getrennt von der Assistentennachricht zurückgegeben. Werte daher das Element web_search_call direkt aus, wenn deine Anwendung die URLs oder Metadaten benötigt.

Nach Bildern suchen
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);

Jedes image_result enthält:

  • image_url: Die kanonische Bild-URL des Ergebnisses.
  • source_website_url: Die Seite, auf der das Bild gefunden wurde.
  • thumbnail_url: Eine URL für ein Vorschaubild, sofern verfügbar.
  • caption: Eine kurze Bildunterschrift oder Beschreibung, sofern verfügbar.
{
  "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"
        }
      ]
    }
  ]
}

Standort der nutzenden Person

Um Suchergebnisse geografisch einzugrenzen, kannst du den ungefähren Standort der nutzenden Person anhand von Land, Stadt, Region und/oder Zeitzone angeben.

  • Die Felder city und region enthalten Freitext, beispielsweise Minneapolis für die Stadt und Minnesota für die Region.
  • Das Feld country enthält einen aus zwei Buchstaben bestehenden ISO-Ländercode, etwa US.
  • Das Feld timezone enthält eine IANA-Zeitzone wie America/Chicago.

Beachte, dass Deep Research-Modelle bei der Websuche keine Standortangaben zur nutzenden Person unterstützen.

Standort der nutzenden Person anpassen
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);

Live-Internetzugang

Steuere, ob das Websuchtool in der Responses API Inhalte live abruft oder nur zwischengespeicherte bzw. indexierte Ergebnisse verwendet.

  • Lege beim Tool web_search die Einstellung external_web_access: false fest, um es offline und ausschließlich mit zwischengespeicherten Ergebnissen auszuführen.
  • Wenn du keinen Wert festlegst, gilt standardmäßig true (Live-Zugriff).
  • Preview-Varianten (web_search_preview) ignorieren diesen Parameter und verhalten sich so, als wäre external_web_access auf true gesetzt.
Live-Internetzugang steuern
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."
  }'

Einschränkungen

Chat Completions API

Die Chat Completions API unterstützt für die Websuche nur spezialisierte Suchmodelle. Diese Modelle unterstützen keine Funktionen des Tools web_search der Responses API wie Domainfilter, vollständige Quellenlisten, die Steuerung des Live-Zugriffs oder des Budgets für zurückgegebene Token.

ModellKontextfensterEinschränkung
gpt-5-search-api200.000Verwendet die Suchmodell-Integration von Chat Completions
gpt-4o-search-preview128.000Nutzt den Integrationsweg über die Suchmodelle von Chat Completions; veraltet, Abschaltung am 23.07.2026
gpt-4o-mini-search-preview128.000Nutzt den Integrationsweg über die Suchmodelle von Chat Completions; veraltet, Abschaltung am 23.07.2026

Responses API

Verwende das gehostete Tool web_search. Die Responses API akzeptiert für bestehende Integrationen weiterhin web_search_preview. Verwende für neue Integrationen jedoch web_search.

Verwende gpt-5.5, wenn du ein größeres Kontextfenster für das Modell benötigst. Das Kontextfenster der Websuche bleibt bei 128.000.

ModellKontextfenster des ModellsEinschränkung
gpt-4.11 Mio.Der Suchkontext ist auf 128.000 begrenzt
gpt-4.1-mini1 Mio.Der Suchkontext ist auf 128.000 begrenzt
o4-mini200.000Der Suchkontext ist auf 128.000 begrenzt; veraltet, Abschaltung am 23.10.2026

Bei der Websuche über die Responses API ist das Suchkontextfenster auf 128.000 begrenzt, auch wenn das Kontextfenster des Modells größer ist.

  • Die Websuche unterstützt gpt-5 nicht, wenn der Reasoning-Aufwand auf minimal eingestellt ist.
  • gpt-5.4 kann Ergebnisse von geringerer Qualität liefern, wenn der Reasoning-Aufwand auf none eingestellt ist.
  • Für die Websuche über die Responses API gelten die gestaffelten Ratenlimits des zugrunde liegenden Modells.
  • web_search_preview unterstützt weder filters noch return_token_budget und ignoriert external_web_access.
  • Mit tool_choice: "auto" ist die Suche optional. Verwende tool_choice: "required" oder wähle gezielt ein Websuchtool aus, wenn die Suche ausgeführt werden muss.

Hinweise zur Nutzung

API-Verfügbarkeit Ratenlimits Hinweise

Es gelten die gestaffelten Ratenlimits des zugrunde liegenden Modells, das mit dem Tool verwendet wird.

Preise
ZDR und Datenresidenz