Das Web-Abruf-Tool ermöglicht Claude, vollständige Inhalte von angegebenen Webseiten und PDF-Dokumenten abzurufen.
Die neueste Version des Web-Abruf-Tools (web_fetch_20260209) unterstützt dynamische Filterung mit Claude Opus 4.6 und Sonnet 4.6. Claude kann Code schreiben und ausführen, um abgerufene Inhalte zu filtern, bevor sie das Kontextfenster erreichen, wobei nur relevante Informationen beibehalten und der Rest verworfen wird. Dies reduziert den Token-Verbrauch, während die Antwortqualität erhalten bleibt. Die vorherige Tool-Version (web_fetch_20250910) bleibt ohne dynamische Filterung verfügbar.
Bitte verwenden Sie dieses Formular, um Feedback zur Qualität der Modellantworten, der API selbst oder der Dokumentationsqualität zu geben.
This feature is Zero Data Retention (ZDR) eligible. When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
Die Aktivierung des Web-Abruf-Tools in Umgebungen, in denen Claude nicht vertrauenswürdige Eingaben zusammen mit sensiblen Daten verarbeitet, birgt Risiken der Datenexfiltration. Wir empfehlen, dieses Tool nur in vertrauenswürdigen Umgebungen oder bei der Verarbeitung nicht sensibler Daten zu verwenden.
Um Exfiltrationsrisiken zu minimieren, darf Claude URLs nicht dynamisch konstruieren. Claude kann nur URLs abrufen, die vom Benutzer explizit bereitgestellt wurden oder die aus vorherigen Web-Such- oder Web-Abruf-Ergebnissen stammen. Es besteht jedoch immer noch ein Restrisiko, das bei der Verwendung dieses Tools sorgfältig berücksichtigt werden sollte.
Wenn Datenexfiltration ein Problem darstellt, sollten Sie folgende Maßnahmen in Betracht ziehen:
max_uses, um die Anzahl der Anfragen zu begrenzenallowed_domains, um auf bekannte sichere Domänen zu beschränkenWeb-Abruf ist verfügbar auf:
claude-opus-4-6)claude-opus-4-5-20251101)claude-opus-4-1-20250805)claude-opus-4-20250514)claude-sonnet-4-6)claude-sonnet-4-5-20250929)claude-sonnet-4-20250514)claude-3-7-sonnet-20250219)claude-haiku-4-5-20251001)claude-3-5-haiku-latest)Wenn Sie das Web-Abruf-Tool zu Ihrer API-Anfrage hinzufügen:
Das Web-Abruf-Tool unterstützt derzeit keine Websites, die dynamisch über Javascript gerendert werden.
Das Abrufen vollständiger Webseiten und PDFs kann schnell Token verbrauchen, besonders wenn nur spezifische Informationen aus großen Dokumenten benötigt werden. Mit der Tool-Version web_fetch_20260209 kann Claude Code schreiben und ausführen, um den abgerufenen Inhalt zu filtern, bevor er in den Kontext geladen wird.
Diese dynamische Filterung ist besonders nützlich für:
Die dynamische Filterung erfordert, dass das Code-Ausführungs-Tool aktiviert ist. Das Web-Abruf-Tool (mit und ohne dynamische Filterung) ist auf der Claude API und Microsoft Azure verfügbar.
Um die dynamische Filterung zu aktivieren, verwenden Sie die Tool-Version web_fetch_20260209 mit dem Beta-Header code-execution-web-tools-2026-02-09:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "anthropic-beta: code-execution-web-tools-2026-02-09" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-4-6",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": "Fetch the content at https://example.com/research-paper and extract the key findings."
}
],
"tools": [{
"type": "web_fetch_20260209",
"name": "web_fetch"
}]
}'Stellen Sie das Web-Abruf-Tool in Ihrer API-Anfrage bereit:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Please analyze the content at https://example.com/article"
}
],
"tools": [{
"type": "web_fetch_20250910",
"name": "web_fetch",
"max_uses": 5
}]
}'Das Web-Abruf-Tool unterstützt die folgenden Parameter:
{
"type": "web_fetch_20250910",
"name": "web_fetch",
// Optional: Begrenzen Sie die Anzahl der Abrufe pro Anfrage
"max_uses": 10,
// Optional: Nur von diesen Domänen abrufen
"allowed_domains": ["example.com", "docs.example.com"],
// Optional: Niemals von diesen Domänen abrufen
"blocked_domains": ["private.example.com"],
// Optional: Aktivieren Sie Zitate für abgerufene Inhalte
"citations": {
"enabled": true
},
// Optional: Maximale Inhaltslänge in Token
"max_content_tokens": 100000
}Der Parameter max_uses begrenzt die Anzahl der durchgeführten Web-Abrufe. Wenn Claude mehr Abrufe versucht als erlaubt, wird das web_fetch_tool_result ein Fehler mit dem Fehlercode max_uses_exceeded sein. Es gibt derzeit keine Standardbegrenzung.
Bei Verwendung von Domänenfiltern:
example.com statt https://example.com)example.com umfasst docs.example.com)example.com/blog)allowed_domains oder blocked_domains verwenden, aber nicht beide in derselben Anfrage.Beachten Sie, dass Unicode-Zeichen in Domainnamen Sicherheitslücken durch Homograph-Angriffe schaffen können, bei denen visuell ähnliche Zeichen aus verschiedenen Skripten Domänenfilter umgehen können. Zum Beispiel kann аmazon.com (mit kyrillischem 'а') identisch mit amazon.com aussehen, stellt aber eine andere Domäne dar.
Bei der Konfiguration von Domänen-Zulassungs-/Blockierungslisten:
Der Parameter max_content_tokens begrenzt die Menge des Inhalts, der in den Kontext aufgenommen wird. Wenn der abgerufene Inhalt diese Grenze überschreitet, wird er gekürzt. Dies hilft, die Token-Nutzung beim Abrufen großer Dokumente zu kontrollieren.
Die Parameterbegrenzung max_content_tokens ist ungefähr. Die tatsächliche Anzahl der verwendeten Input-Token kann um einen kleinen Betrag variieren.
Im Gegensatz zur Web-Suche, bei der Zitate immer aktiviert sind, sind Zitate für Web-Abruf optional. Setzen Sie "citations": {"enabled": true}, um Claude zu ermöglichen, spezifische Passagen aus abgerufenen Dokumenten zu zitieren.
Bei der direkten Anzeige von API-Ausgaben für Endbenutzer müssen Zitate zur ursprünglichen Quelle enthalten sein. Wenn Sie Änderungen an API-Ausgaben vornehmen, einschließlich durch Neuverarbeitung und/oder Kombination mit Ihrem eigenen Material, bevor Sie diese Endbenutzer anzeigen, zeigen Sie Zitate wie angemessen basierend auf Rücksprache mit Ihrem Rechtsteam an.
Hier ist eine Beispiel-Antwortstruktur:
{
"role": "assistant",
"content": [
// 1. Claudes Entscheidung zum Abrufen
{
"type": "text",
"text": "I'll fetch the content from the article to analyze it."
},
// 2. Die Abrufanfrage
{
"type": "server_tool_use",
"id": "srvtoolu_01234567890abcdef",
"name": "web_fetch",
"input": {
"url": "https://example.com/article"
}
},
// 3. Abrufergebnisse
{
"type": "web_fetch_tool_result",
"tool_use_id": "srvtoolu_01234567890abcdef",
"content": {
"type": "web_fetch_result",
"url": "https://example.com/article",
"content": {
"type": "document",
"source": {
"type": "text",
"media_type": "text/plain",
"data": "Full text content of the article..."
},
"title": "Article Title",
"citations": {"enabled": true}
},
"retrieved_at": "2025-08-25T10:30:00Z"
}
},
// 4. Claudes Analyse mit Zitaten (falls aktiviert)
{
"text": "Based on the article, ",
"type": "text"
},
{
"text": "the main argument presented is that artificial intelligence will transform healthcare",
"type": "text",
"citations": [
{
"type": "char_location",
"document_index": 0,
"document_title": "Article Title",
"start_char_index": 1234,
"end_char_index": 1456,
"cited_text": "Artificial intelligence is poised to revolutionize healthcare delivery..."
}
]
}
],
"id": "msg_a930390d3a",
"usage": {
"input_tokens": 25039,
"output_tokens": 931,
"server_tool_use": {
"web_fetch_requests": 1
}
},
"stop_reason": "end_turn"
}Abrufergebnisse enthalten:
url: Die abgerufene URLcontent: Ein Dokumentblock mit dem abgerufenen Inhaltretrieved_at: Zeitstempel, wann der Inhalt abgerufen wurdeDas Web-Abruf-Tool speichert Ergebnisse zwischen, um die Leistung zu verbessern und redundante Anfragen zu reduzieren. Dies bedeutet, dass der zurückgegebene Inhalt möglicherweise nicht immer die neueste verfügbare Version unter der URL ist. Das Caching-Verhalten wird automatisch verwaltet und kann sich im Laufe der Zeit ändern, um für verschiedene Inhaltstypen und Nutzungsmuster zu optimieren.
Bei PDF-Dokumenten wird der Inhalt als Base64-codierte Daten zurückgegeben:
{
"type": "web_fetch_tool_result",
"tool_use_id": "srvtoolu_02",
"content": {
"type": "web_fetch_result",
"url": "https://example.com/paper.pdf",
"content": {
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": "JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmo..."
},
"citations": {"enabled": true}
},
"retrieved_at": "2025-08-25T10:30:02Z"
}
}Wenn das Web-Abruf-Tool auf einen Fehler stößt, gibt die Claude API eine 200-Antwort (Erfolg) mit dem im Antwortkörper dargestellten Fehler zurück:
{
"type": "web_fetch_tool_result",
"tool_use_id": "srvtoolu_a93jad",
"content": {
"type": "web_fetch_tool_error",
"error_code": "url_not_accessible"
}
}Dies sind die möglichen Fehlercodes:
invalid_input: Ungültiges URL-Formaturl_too_long: URL überschreitet maximale Länge (250 Zeichen)url_not_allowed: URL durch Domänenfilterungsregeln und Modellbeschränkungen blockierturl_not_accessible: Fehler beim Abrufen von Inhalten (HTTP-Fehler)too_many_requests: Ratenlimit überschrittenunsupported_content_type: Inhaltstyp nicht unterstützt (nur Text und PDF)max_uses_exceeded: Maximale Web-Abruf-Tool-Nutzungen überschrittenunavailable: Ein interner Fehler ist aufgetretenAus Sicherheitsgründen kann das Web-Abruf-Tool nur URLs abrufen, die zuvor im Gesprächskontext erschienen sind. Dies umfasst:
Das Tool kann keine beliebigen URLs abrufen, die Claude generiert, oder URLs aus Container-basierten Server-Tools (Code Execution, Bash, etc.).
Web-Abruf funktioniert nahtlos mit Web-Suche für umfassende Informationsbeschaffung:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Find recent articles about quantum computing and analyze the most relevant one in detail",
}
],
tools=[
{"type": "web_search_20250305", "name": "web_search", "max_uses": 3},
{
"type": "web_fetch_20250910",
"name": "web_fetch",
"max_uses": 5,
"citations": {"enabled": True},
},
],
)In diesem Workflow wird Claude:
Web-Abruf funktioniert mit Prompt-Caching. Um Prompt-Caching zu aktivieren, fügen Sie cache_control-Haltepunkte in Ihrer Anfrage hinzu. Zwischengespeicherte Abrufergebnisse können über Gesprächsrunden hinweg wiederverwendet werden.
import anthropic
client = anthropic.Anthropic()
# Erste Anfrage mit Web-Abruf
messages = [
{
"role": "user",
"content": "Analyze this research paper: https://arxiv.org/abs/2024.12345",
}
]
response1 = client.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
messages=messages,
tools=[{"type": "web_fetch_20250910", "name": "web_fetch"}],
)
# Claudes Antwort zum Gespräch hinzufügen
messages.append({"role": "assistant", "content": response1.content})
# Zweite Anfrage mit Cache-Haltepunkt
messages.append(
{
"role": "user",
"content": "What methodology does the paper use?",
"cache_control": {"type": "ephemeral"},
}
)
response2 = client.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
messages=messages,
tools=[{"type": "web_fetch_20250910", "name": "web_fetch"}],
)
# Die zweite Antwort profitiert von zwischengespeicherten Abrufergebnissen
print(f"Cache read tokens: {response2.usage.get('cache_read_input_tokens', 0)}")Mit aktiviertem Streaming sind Abrufereignisse Teil des Streams mit einer Pause während des Inhaltsabrufs:
event: message_start
data: {"type": "message_start", "message": {"id": "msg_abc123", "type": "message"}}
event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "text", "text": ""}}
// Claudes Entscheidung zum Abrufen
event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "web_fetch"}}
// Abruf-URL gestreamt
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"url\":\"https://example.com/article\"}"}}
// Pause während Abruf ausgeführt wird
// Abrufergebnisse gestreamt
event: content_block_start
data: {"type": "content_block_start", "index": 2, "content_block": {"type": "web_fetch_tool_result", "tool_use_id": "srvtoolu_xyz789", "content": {"type": "web_fetch_result", "url": "https://example.com/article", "content": {"type": "document", "source": {"type": "text", "media_type": "text/plain", "data": "Article content..."}}}}}
// Claudes Antwort wird fortgesetzt...Sie können das Web-Abruf-Tool in die Messages Batches API einbeziehen. Web-Abruf-Tool-Aufrufe über die Messages Batches API werden genauso berechnet wie die in regulären Messages API-Anfragen.
Web fetch usage has no additional charges beyond standard token costs:
"usage": {
"input_tokens": 25039,
"output_tokens": 931,
"cache_read_input_tokens": 0,
"cache_creation_input_tokens": 0,
"server_tool_use": {
"web_fetch_requests": 1
}
}The web fetch tool is available on the Claude API at no additional cost. You only pay standard token costs for the fetched content that becomes part of your conversation context.
To protect against inadvertently fetching large content that would consume excessive tokens, use the max_content_tokens parameter to set appropriate limits based on your use case and budget considerations.
Example token usage for typical content:
Was this page helpful?