Was this page helpful?
Das Web-Fetch-Tool ermöglicht es Claude, vollständige Inhalte von angegebenen Webseiten und PDF-Dokumenten abzurufen.
Die neueste Web-Fetch-Tool-Version (web_fetch_20260209) unterstützt dynamische Filterung mit Claude Mythos Preview, Claude Opus 4.7, Claude Opus 4.6 und Claude 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 werden. Dies reduziert den Token-Verbrauch und erhält gleichzeitig die Antwortqualität. Die vorherige Tool-Version (web_fetch_20250910) bleibt ohne dynamische Filterung verfügbar.
Für Claude Mythos Preview wird Web Fetch auf der Claude API und Microsoft Foundry unterstützt. Es ist nicht für Mythos Preview auf Amazon Bedrock oder Google Vertex AI verfügbar.
Verwenden Sie das Feedback-Formular, um Feedback zur Qualität der Modellantworten, zur API selbst oder zur Qualität der Dokumentation zu geben.
Informationen zur Zero Data Retention-Berechtigung und zum allowed_callers-Workaround finden Sie unter Server-Tools.
Das Aktivieren des Web-Fetch-Tools in Umgebungen, in denen Claude nicht vertrauenswürdige Eingaben zusammen mit sensiblen Daten verarbeitet, birgt Risiken der Datenexfiltration. Verwenden Sie dieses Tool nur in vertrauenswürdigen Umgebungen oder bei der Verarbeitung nicht sensibler Daten.
Um Exfiltrationrisiken 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-Fetch-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 Folgendes in Betracht ziehen:
max_uses, um die Anzahl der Anfragen zu begrenzenallowed_domains, um auf bekannte sichere Domänen zu beschränkenInformationen zur Modellunterstützung finden Sie in der Tool-Referenz.
Wenn Sie das Web-Fetch-Tool zu Ihrer API-Anfrage hinzufügen:
Das Web-Fetch-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 bestimmte 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-Fetch-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:
Stellen Sie das Web-Fetch-Tool in Ihrer API-Anfrage bereit:
Das Web-Fetch-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 als zulässig versucht, ist das web_fetch_tool_result ein Fehler mit dem Fehlercode max_uses_exceeded. Es gibt derzeit keine Standardbegrenzung.
Informationen zur Domain-Filterung mit allowed_domains und blocked_domains finden Sie unter Server-Tools.
Der Parameter max_content_tokens begrenzt die Menge der in den Kontext einbezogenen Inhalte. Wenn der abgerufene Inhalt diese Grenze überschreitet, kürzt das Tool ihn. 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 Eingabe-Token kann um einen kleinen Betrag variieren.
Im Gegensatz zur Web-Suche, bei der Zitate immer aktiviert sind, sind Zitate für Web Fetch optional. Setzen Sie "citations": {"enabled": true}, um Claude zu ermöglichen, bestimmte Passagen aus abgerufenen Dokumenten zu zitieren.
Wenn Sie API-Ausgaben direkt an Endbenutzer anzeigen, 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 ein Beispiel einer 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 URL, die abgerufen wurdecontent: Ein Dokumentblock mit dem abgerufenen Inhaltretrieved_at: Zeitstempel, wann der Inhalt abgerufen wurdeDas Web-Fetch-Tool speichert Ergebnisse zwischen, um die Leistung zu verbessern und redundante Anfragen zu reduzieren. Der zurückgegebene Inhalt spiegelt möglicherweise nicht immer die neueste verfügbare Version unter der URL wider. 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-Fetch-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 Domain-Filterungsregeln 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-Fetch-Tool-Nutzung überschrittenunavailable: Ein interner Fehler ist aufgetretenAus Sicherheitsgründen kann das Web-Fetch-Tool nur URLs abrufen, die zuvor im Gesprächskontext angezeigt wurden. Dies umfasst:
Das Tool kann keine beliebigen URLs abrufen, die Claude generiert, oder URLs aus Container-basierten Server-Tools (Code Execution, Bash usw.).
Web Fetch funktioniert nahtlos mit Web Search für umfassende Informationsbeschaffung:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
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:
Informationen zum Caching von Tool-Definitionen über mehrere Durchläufe hinweg finden Sie unter Tool-Nutzung mit Prompt-Caching.
Mit aktiviertem Streaming sind Abrufereignisse Teil des Streams mit einer Pause während des Inhaltabrufs:
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": ""}}
// Claude's decision to fetch
event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "web_fetch"}}
// Fetch URL streamed
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"url\":\"https://example.com/article\"}"}}
// Pause while fetch executes
// Fetch results streamed
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..."}}}}}
// Claude's response continues...Sie können das Web-Fetch-Tool in die Messages Batches API einbeziehen. Web-Fetch-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:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
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"}],
)
print(response)client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
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}],
)
print(response)