Was this page helpful?
Инструмент веб-выборки позволяет Claude получать полное содержимое с указанных веб-страниц и PDF-документов.
Последняя версия инструмента веб-выборки (web_fetch_20260209) поддерживает динамическую фильтрацию с Claude Mythos Preview, Claude Opus 4.7, Claude Opus 4.6 и Claude Sonnet 4.6. Claude может писать и выполнять код для фильтрации полученного содержимого перед его попаданием в контекстное окно, сохраняя только релевантную информацию и отбрасывая остальное. Это снижает потребление токенов при сохранении качества ответов. Предыдущая версия инструмента (web_fetch_20250910) остаётся доступной без динамической фильтрации.
Для Claude Mythos Preview веб-выборка поддерживается только на Claude API и Microsoft Foundry. Она недоступна для Mythos Preview на Amazon Bedrock или Google Vertex AI.
Используйте форму обратной связи для предоставления отзывов о качестве ответов модели, самом API или качестве документации.
Для информации о приемлемости Zero Data Retention и обходном решении allowed_callers см. Серверные инструменты.
Включение инструмента веб-выборки в окружениях, где Claude обрабатывает ненадёжные входные данные наряду с конфиденциальными данными, создаёт риски утечки данных. Используйте этот инструмент только в доверенных окружениях или при работе с неконфиденциальными данными.
Чтобы минимизировать риски утечки, Claude не может динамически конструировать URL-адреса. Claude может получать только URL-адреса, которые были явно предоставлены пользователем или которые поступают из предыдущих результатов веб-поиска или веб-выборки. Однако остаётся остаточный риск, который следует тщательно учитывать при использовании этого инструмента.
Если утечка данных вызывает беспокойство, рассмотрите:
max_uses для ограничения количества запросовallowed_domains для ограничения известными безопасными доменамиДля информации о поддержке моделей см. Справочник инструментов.
Когда вы добавляете инструмент веб-выборки в запрос API:
Инструмент веб-выборки в настоящее время не поддерживает веб-сайты, динамически отображаемые через JavaScript.
Получение полных веб-страниц и PDF-файлов может быстро потребить токены, особенно когда из больших документов требуется только конкретная информация. С версией инструмента web_fetch_20260209 Claude может писать и выполнять код для фильтрации полученного содержимого перед загрузкой его в контекст.
Динамическая фильтрация особенно полезна для:
Динамическая фильтрация требует, чтобы был включен инструмент выполнения кода. Инструмент веб-выборки (с динамической фильтрацией и без неё) доступен на Claude API и Microsoft Azure.
Чтобы включить динамическую фильтрацию, используйте версию инструмента web_fetch_20260209:
Предоставьте инструмент веб-выборки в запросе API:
Инструмент веб-выборки поддерживает следующие параметры:
{
"type": "web_fetch_20250910",
"name": "web_fetch",
// Опционально: ограничить количество выборок на запрос
"max_uses": 10,
// Опционально: получать только с этих доменов
"allowed_domains": ["example.com", "docs.example.com"],
// Опционально: никогда не получать с этих доменов
"blocked_domains": ["private.example.com"],
// Опционально: включить цитаты для полученного содержимого
"citations": {
"enabled": true
},
// Опционально: максимальная длина содержимого в токенах
"max_content_tokens": 100000
}Параметр max_uses ограничивает количество выполняемых веб-выборок. Если Claude попытается выполнить больше выборок, чем разрешено, результат web_fetch_tool_result будет ошибкой с кодом ошибки max_uses_exceeded. В настоящее время нет ограничения по умолчанию.
Для фильтрации доменов с allowed_domains и blocked_domains см. Серверные инструменты.
Параметр max_content_tokens ограничивает объём содержимого, включённого в контекст. Если полученное содержимое превышает это ограничение, инструмент его обрезает. Это помогает контролировать использование токенов при получении больших документов.
Ограничение параметра max_content_tokens является приблизительным. Фактическое количество использованных входных токенов может немного варьироваться.
В отличие от веб-поиска, где цитаты всегда включены, цитаты опциональны для веб-выборки. Установите "citations": {"enabled": true} чтобы позволить Claude цитировать конкретные отрывки из полученных документов.
При прямом отображении выходных данных API конечным пользователям цитаты должны быть включены для исходного источника. Если вы вносите изменения в выходные данные API, включая их переработку и/или объединение с вашим собственным материалом перед отображением конечным пользователям, отображайте цитаты надлежащим образом на основе консультации с вашей юридической командой.
Вот пример структуры ответа:
{
"role": "assistant",
"content": [
// 1. Решение Claude получить содержимое
{
"type": "text",
"text": "I'll fetch the content from the article to analyze it."
},
// 2. Запрос выборки
{
"type": "server_tool_use",
"id": "srvtoolu_01234567890abcdef",
"name": "web_fetch",
"input": {
"url": "https://example.com/article"
}
},
// 3. Результаты выборки
{
"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. Анализ Claude с цитатами (если включены)
{
"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"
}Результаты выборки включают:
url: URL-адрес, который был полученcontent: блок документа, содержащий полученное содержимоеretrieved_at: временная метка, когда было получено содержимоеИнструмент веб-выборки кэширует результаты для улучшения производительности и снижения избыточных запросов. Возвращаемое содержимое может не всегда отражать последнюю версию, доступную по URL-адресу. Поведение кэша управляется автоматически и может изменяться со временем для оптимизации различных типов содержимого и моделей использования.
Для PDF-документов содержимое возвращается как данные в кодировке base64:
{
"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"
}
}Когда инструмент веб-выборки встречает ошибку, Claude API возвращает ответ 200 (успех) с ошибкой, представленной в теле ответа:
{
"type": "web_fetch_tool_result",
"tool_use_id": "srvtoolu_a93jad",
"content": {
"type": "web_fetch_tool_error",
"error_code": "url_not_accessible"
}
}Это возможные коды ошибок:
invalid_input: неверный формат URLurl_too_long: URL превышает максимальную длину (250 символов)url_not_allowed: URL заблокирован правилами фильтрации доменов и ограничениями моделиurl_not_accessible: не удалось получить содержимое (ошибка HTTP)too_many_requests: превышен лимит частоты запросовunsupported_content_type: тип содержимого не поддерживается (только текст и PDF)max_uses_exceeded: превышено максимальное использование инструмента веб-выборкиunavailable: произошла внутренняя ошибкаПо соображениям безопасности инструмент веб-выборки может получать только URL-адреса, которые ранее появились в контексте разговора. Это включает:
Инструмент не может получать произвольные URL-адреса, которые генерирует Claude, или URL-адреса из инструментов сервера на основе контейнеров (выполнение кода, Bash и т. д.).
Веб-выборка работает бесперебойно с веб-поиском для комплексного сбора информации:
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},
},
],
)В этом рабочем процессе Claude будет:
Для кэширования определений инструментов между ходами см. Использование инструментов с кэшированием подсказок.
При включённой потоковой передаче события выборки являются частью потока с паузой во время получения содержимого:
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 получить содержимое
event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "web_fetch"}}
// URL выборки передан потоком
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"url\":\"https://example.com/article\"}"}}
// Пауза во время выполнения выборки
// Результаты выборки переданы потоком
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 продолжается...Вы можете включить инструмент веб-выборки в API пакетной обработки сообщений. Вызовы инструмента веб-выборки через API пакетной обработки сообщений оцениваются так же, как и в обычных запросах API сообщений.
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)