Loading...
    • Entwicklerleitfaden
    • API-Referenz
    • MCP
    • Ressourcen
    • Versionshinweise
    Search...
    ⌘K
    Erste Schritte
    Einführung in ClaudeSchnelleinstieg
    Modelle & Preise
    ModellübersichtModell auswählenNeuerungen in Claude 4.5Migration zu Claude 4.5ModellabschreibungenPreise
    Mit Claude entwickeln
    FunktionsübersichtMessages API verwendenKontextfensterBest Practices für Prompts
    Fähigkeiten
    Prompt-CachingKontext-BearbeitungErweitertes DenkenAufwandStreaming MessagesBatch-VerarbeitungZitateMehrsprachige UnterstützungToken-ZählungEmbeddingsVisionPDF-UnterstützungFiles APISuchergebnisseStrukturierte AusgabenGoogle Sheets Add-on
    Tools
    ÜbersichtTool-Nutzung implementierenToken-effiziente Tool-NutzungFeingranulares Tool-StreamingBash-ToolCode-Ausführungs-ToolProgrammatischer Tool-AufrufComputer-Use-ToolText-Editor-ToolWeb-Fetch-ToolWeb-Such-ToolMemory-ToolTool-Such-Tool
    Agent Skills
    ÜbersichtSchnelleinstiegBest PracticesSkills mit der API verwenden
    Agent SDK
    ÜbersichtTypeScript SDKPython SDKMigrationsleitfaden
    Leitfäden
    Streaming-EingabeBerechtigungen handhabenSitzungsverwaltungStrukturierte Ausgaben im SDKAgent SDK hostenSystem-Prompts ändernMCP im SDKBenutzerdefinierte ToolsSubagents im SDKSchrägstrich-Befehle im SDKAgent Skills im SDKKosten und Nutzung verfolgenTodo-ListenPlugins im SDK
    MCP in der API
    MCP-ConnectorRemote MCP-Server
    Claude auf Drittanbieter-Plattformen
    Amazon BedrockMicrosoft FoundryVertex AI
    Prompt Engineering
    ÜbersichtPrompt-GeneratorPrompt-Vorlagen verwendenPrompt-VerbessererKlar und direkt seinBeispiele verwenden (Multishot Prompting)Claude denken lassen (CoT)XML-Tags verwendenClaude eine Rolle geben (System Prompts)Claudeś Antwort vorausfüllenKomplexe Prompts verkettenTipps für langen KontextTipps für erweitertes Denken
    Testen & Evaluieren
    Erfolgskriterien definierenTestfälle entwickelnEvaluierungs-Tool verwendenLatenz reduzieren
    Schutzmaßnahmen verstärken
    Halluzinationen reduzierenAusgabekonsistenz erhöhenJailbreaks abschwächenStreaming-AblehnungenPrompt-Lecks reduzierenClaude im Charakter halten
    Verwaltung und Überwachung
    Admin API ÜbersichtNutzungs- und Kosten-APIClaude Code Analytics API
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Tools

    Web-Fetch-Tool

    Das Web-Fetch-Tool ermöglicht Claude, vollständige Inhalte von angegebenen Webseiten und PDF-Dokumenten abzurufen.

    Das Web-Fetch-Tool ermöglicht Claude, vollständige Inhalte von angegebenen Webseiten und PDF-Dokumenten abzurufen.

    Das Web-Fetch-Tool befindet sich derzeit in der Beta-Phase. Um es zu aktivieren, verwenden Sie den Beta-Header web-fetch-2025-09-10 in Ihren API-Anfragen.

    Bitte verwenden Sie dieses Formular, um Feedback zur Qualität der Modellreaktionen, zur API selbst oder zur Qualität der Dokumentation zu geben.

    Die Aktivierung des Web-Fetch-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-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 folgende Maßnahmen in Betracht ziehen:

    • Deaktivieren Sie das Web-Fetch-Tool vollständig
    • Verwenden Sie den Parameter max_uses, um die Anzahl der Anfragen zu begrenzen
    • Verwenden Sie den Parameter allowed_domains, um auf bekannte sichere Domänen zu beschränken

    Unterstützte Modelle

    Web Fetch ist verfügbar auf:

    • Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
    • Claude Sonnet 4 (claude-sonnet-4-20250514)
    • Claude Sonnet 3.7 (veraltet) (claude-3-7-sonnet-20250219)
    • Claude Haiku 4.5 (claude-haiku-4-5-20251001)
    • Claude Haiku 3.5 (claude-3-5-haiku-latest)
    • Claude Opus 4.5 (claude-opus-4-5-20251101)
    • Claude Opus 4.1 (claude-opus-4-1-20250805)
    • Claude Opus 4 (claude-opus-4-20250514)

    Wie Web Fetch funktioniert

    Wenn Sie das Web-Fetch-Tool zu Ihrer API-Anfrage hinzufügen:

    1. Claude entscheidet basierend auf der Eingabeaufforderung und den verfügbaren URLs, wann Inhalte abgerufen werden sollen.
    2. Die API ruft den vollständigen Textinhalt von der angegebenen URL ab.
    3. Bei PDFs wird eine automatische Textextraktion durchgeführt.
    4. Claude analysiert den abgerufenen Inhalt und liefert eine Antwort mit optionalen Zitaten.

    Das Web-Fetch-Tool unterstützt derzeit keine Websites, die dynamisch über Javascript gerendert werden.

    Wie man Web Fetch verwendet

    Stellen Sie das Web-Fetch-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 "anthropic-beta: web-fetch-2025-09-10" \
        --header "content-type: application/json" \
        --data '{
            "model": "claude-sonnet-4-5",
            "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
            }]
        }'

    Tool-Definition

    Das Web-Fetch-Tool unterstützt die folgenden Parameter:

    JSON
    {
      "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: Zitate für abgerufene Inhalte aktivieren
      "citations": {
        "enabled": true
      },
    
      // Optional: Maximale Inhaltslänge in Token
      "max_content_tokens": 100000
    }

    Max uses

    Der Parameter max_uses begrenzt die Anzahl der Web-Abrufe, die durchgeführt werden. Wenn Claude versucht, mehr Abrufe als zulässig durchzuführen, ist das web_fetch_tool_result ein Fehler mit dem Fehlercode max_uses_exceeded. Es gibt derzeit keine Standardbegrenzung.

    Domain-Filterung

    Bei Verwendung von Domain-Filtern:

    • Domänen sollten nicht das HTTP/HTTPS-Schema enthalten (verwenden Sie example.com statt https://example.com)
    • Subdomänen sind automatisch enthalten (example.com umfasst docs.example.com)
    • Unterpfade werden unterstützt (example.com/blog)
    • Sie können entweder allowed_domains oder blocked_domains verwenden, aber nicht beide in derselben Anfrage.

    Beachten Sie, dass Unicode-Zeichen in Domänennamen durch Homograph-Angriffe Sicherheitslücken schaffen können, bei denen visuell ähnliche Zeichen aus verschiedenen Skripten Domain-Filter 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 Domain-Zulassungs-/Blockierungslisten:

    • Verwenden Sie nach Möglichkeit nur ASCII-Domänennamen
    • Beachten Sie, dass URL-Parser Unicode-Normalisierung möglicherweise unterschiedlich handhaben
    • Testen Sie Ihre Domain-Filter mit möglichen Homograph-Variationen
    • Überprüfen Sie Ihre Domain-Konfigurationen regelmäßig auf verdächtige Unicode-Zeichen

    Inhaltsbegrenzungen

    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 Grenze des Parameters max_content_tokens ist ungefähr. Die tatsächliche Anzahl der verwendeten Input-Token kann um einen kleinen Betrag variieren.

    Zitate

    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, 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 nach Rücksprache mit Ihrem Rechtsteam an.

    Antwort

    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

    Abrufergebnisse enthalten:

    • url: Die URL, die abgerufen wurde
    • content: Ein Dokumentblock mit dem abgerufenen Inhalt
    • retrieved_at: Zeitstempel, wann der Inhalt abgerufen wurde

    Das Web-Fetch-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"
      }
    }

    Fehler

    Wenn das Web-Fetch-Tool auf einen Fehler stößt, gibt die Claude API eine 200-Antwort (Erfolg) mit dem Fehler im Antwortkörper 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-Format
    • url_too_long: URL überschreitet maximale Länge (250 Zeichen)
    • url_not_allowed: URL wird durch Domain-Filterungsregeln und Modellbeschränkungen blockiert
    • url_not_accessible: Fehler beim Abrufen von Inhalten (HTTP-Fehler)
    • too_many_requests: Ratenlimit überschritten
    • unsupported_content_type: Inhaltstyp nicht unterstützt (nur Text und PDF)
    • max_uses_exceeded: Maximale Web-Fetch-Tool-Nutzung überschritten
    • unavailable: Ein interner Fehler ist aufgetreten

    URL-Validierung

    Aus Sicherheitsgründen kann das Web-Fetch-Tool nur URLs abrufen, die zuvor im Gesprächskontext erschienen sind. Dies umfasst:

    • URLs in Benutzernachrichten
    • URLs in clientseitigen Tool-Ergebnissen
    • URLs aus vorherigen Web-Such- oder Web-Fetch-Ergebnissen

    Das Tool kann keine beliebigen URLs abrufen, die Claude generiert, oder URLs aus Container-basierten Server-Tools (Code Execution, Bash, etc.).

    Kombinierte Suche und Abruf

    Web Fetch funktioniert nahtlos mit Web Search für umfassende Informationsbeschaffung:

    import anthropic
    
    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-sonnet-4-5",
        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}
            }
        ],
        extra_headers={
            "anthropic-beta": "web-fetch-2025-09-10"
        }
    )

    In diesem Workflow wird Claude:

    1. Web Search verwenden, um relevante Artikel zu finden
    2. Die vielversprechendsten Ergebnisse auswählen
    3. Web Fetch verwenden, um vollständige Inhalte abzurufen
    4. Detaillierte Analyse mit Zitaten bereitstellen

    Prompt-Caching

    Web Fetch funktioniert mit Prompt-Caching. Um Prompt-Caching zu aktivieren, fügen Sie cache_control-Breakpoints in Ihrer Anfrage hinzu. Zwischengespeicherte Abrufergebnisse können über Gesprächsrunden hinweg wiederverwendet werden.

    import anthropic
    
    client = anthropic.Anthropic()
    
    # Erste Anfrage mit Web Fetch
    messages = [
        {
            "role": "user",
            "content": "Analyze this research paper: https://arxiv.org/abs/2024.12345"
        }
    ]
    
    response1 = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        messages=messages,
        tools=[{
            "type": "web_fetch_20250910",
            "name": "web_fetch"
        }],
        extra_headers={
            "anthropic-beta": "web-fetch-2025-09-10"
        }
    )
    
    # Fügen Sie Claudes Antwort zum Gespräch hinzu
    messages.append({
        "role": "assistant",
        "content": response1.content
    })
    
    # Zweite Anfrage mit Cache-Breakpoint
    messages.append({
        "role": "user",
        "content": "What methodology does the paper use?",
        "cache_control": {"type": "ephemeral"}
    })
    
    response2 = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        messages=messages,
        tools=[{
            "type": "web_fetch_20250910",
            "name": "web_fetch"
        }],
        extra_headers={
            "anthropic-beta": "web-fetch-2025-09-10"
        }
    )
    
    # Die zweite Antwort profitiert von zwischengespeicherten Abrufergebnissen
    print(f"Cache read tokens: {response2.usage.get('cache_read_input_tokens', 0)}")

    Streaming

    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": ""}}
    
    // 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 der Abrufausführung
    
    // 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...

    Batch-Anfragen

    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.

    Nutzung und Preisgestaltung

    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:

    • Average web page (10KB): ~2,500 tokens
    • Large documentation page (100KB): ~25,000 tokens
    • Research paper PDF (500KB): ~125,000 tokens
    • Unterstützte Modelle
    • Wie Web Fetch funktioniert
    • Wie man Web Fetch verwendet
    • Tool-Definition
    • Antwort
    • URL-Validierung
    • Kombinierte Suche und Abruf
    • Prompt-Caching
    • Streaming
    • Batch-Anfragen
    • Nutzung und Preisgestaltung