Перейти к содержанию
Справочник APIWeb search / Web fetch

Web search / Web fetch

Веб-поиск и загрузка страниц: API, ограничения и стоимость.

Протокол модели

Claude Messages: Web search и Web fetch

В Anthropic Messages обоих режимов доступны ровно две серверные функции. Их исполняет Claude API: вашему коду не нужно возвращать обычный клиентский tool_result.

ФункцияТочный typeОбязательные лимиты
Web searchweb_search_20250305max_uses: 1–5
Web fetchweb_fetch_20250910max_uses: 1–3; max_content_tokens: 1–25 000 (приблизительно, только текст)
json
{
  "model": "claude-opus-5",
  "max_tokens": 2048,
  "tools": [
    {
      "type": "web_search_20250305",
      "name": "web_search",
      "max_uses": 3,
      "allowed_domains": ["docs.python.org"]
    },
    {
      "type": "web_fetch_20250910",
      "name": "web_fetch",
      "max_uses": 2,
      "max_content_tokens": 12000,
      "allowed_domains": ["docs.python.org"],
      "citations": {"enabled": true}
    }

Строгая форма объектов

ОбъектРазрешённые поля
Web searchtype, name, max_uses; опционально allowed_domains или blocked_domains, allowed_callers
Web fetchПоля Web search + обязательный max_content_tokens; опционально citations
  • name должен быть ровно web_search или web_fetch; в одном запросе допускается не больше одного server tool каждого типа. Guard принимает только перечисленные поля: неизвестные поля (включая официальный search-параметр user_location) и другие typed tool variants отклоняются с 400.
  • Если передан allowed_callers, допустимо только точное значение ["direct"].
  • allowed_domains и blocked_domains взаимоисключающие. Каждый список содержит не больше 100 ASCII-доменов: без схемы, IP-адресов, query/fragment, обратного слеша и wildcard в hostname.
  • Для Web search после домена разрешён опциональный path, например docs.python.org/3/*; для Web fetch разрешён только голый домен без path.
  • citations у Web fetch, если передан, имеет точную форму {"enabled": true} или {"enabled": false} без дополнительных полей. Client tools должны не иметь type либо использовать type: "custom".

Ограничения

  • Клиент обязан явно передать указанные лимиты. Превышение или неизвестная версия server tool отклоняются с 400 до запуска функции.
  • Обе функции сначала возвращают server_tool_use, затем соответствующий web_search_tool_result или web_fetch_tool_result; search citations обязательны, fetch citations опциональны.
  • Ошибка самой функции может прийти внутри успешного HTTP 200: ищите tool-result block, у которого content.type заканчивается на _tool_result_error, и читайте content.error_code.
  • Web fetch принимает URL не длиннее 250 символов, который уже встречался в user message, client tool result либо предыдущем search/fetch result. Поддерживаются текст, HTML и PDF; сайты с обязательным JavaScript-rendering не поддерживаются, а неудачные fetch-попытки расходуют max_uses.
  • Успешный Web search без совпадений возвращает content: [] — это не tool error.

Цена

ЧтоСписание
Web search$0.01 за каждый provider-reported billed request + обычные input tokens результата
Неоплачиваемая provider-ошибка Web searchПлата $0.01 не списывается
Web fetchБез отдельной платы; содержимое страницы считается input tokens

Kimi, Composer и Grok

  • Kimi. Поиск и загрузка страницы вынесены в два отдельных endpoint'а, POST /v1/kimi/search и POST /v1/kimi/fetch. Модель они не вызывают: возвращают текст, который вы сами кладёте в следующий чат-запрос. Отдельной платы за них нет, вы платите только за токены этого запроса. Тела запросов, лимиты и коды ошибок на странице Kimi · Chat Completions.
  • Composer и Grok. Встроенный веб-поиск доступен во время ответа. Отдельного публичного вызова для управления этим поиском нет; типизированные Anthropic server tools не принимаются. Клиентские функции подключаются отдельно полем tools и исполняются вашим клиентом.

Разделы документации

На этой странице