После выполнения этой инструкции вы подключите Anthropic API (Claude) через официальный Python SDK, сохраните ключ в переменной ANTHROPIC_API_KEY и отправите первый запрос к Messages API. Итог — рабочий тестовый скрипт, который возвращает ответ модели и помогает проверить, что аутентификация и базовые лимиты настроены корректно.
- ⏱️ Время: 15–25 минут
- 🎯 Сложность: начальный
- 💰 Стоимость: требуется аккаунт Claude Console; актуальные тарифы Anthropic проверяйте на официальной странице pricing, так как документация прямо рекомендует не полагаться на кэшированные значения
- 🛠️ Что потребуется: аккаунт Claude Console, API key или настроенный WIF, Python 3.9+ для сценария ниже, терминал, доступ к поддерживаемому региону
- 📌 Актуальная версия: Claude Platform Docs проверены на 2026-08-17; Python SDK
anthropic— 0.120.2; TypeScript SDK@anthropic-ai/sdk— 0.98.0
Практический вердикт: для первого подключения берите официальный путь из quickstart: API key + Python SDK anthropic + вызов client.messages.create(...). Это самый короткий и воспроизводимый сценарий на проверенную дату.
Редакционное ограничение: ниже разобран базовый сценарий через API key и Python. Anthropic также поддерживает WIF: нагрузка обменивает JWT вашего IdP на короткоживущий токен через POST /v1/oauth/token, а SDK обновляет его автоматически. Но отдельный пошаговый сценарий WIF для конкретного IdP здесь не приводится, потому что в исходном пакете нет подтверждённых экранов и полных настроек провайдера.
Если вам нужен базовый контекст по термину API, начните с краткого объяснения: API (Application Programming Interface).
Пошагово: как подключить Anthropic API (Claude)
- Проверьте, что ваш сценарий запускается из поддерживаемого региона.
Доступность Claude API зависит от страны и региона. Перед началом откройте официальный список Supported regions и убедитесь, что ваш сценарий разрабатывается и будет запускаться там, где API доступен. На проверенную дату в официальном списке есть, например, United States of America, но этот список может меняться.
Ожидаемый результат: вы подтвердили, что регион разработки и будущего запуска поддерживается, и не начнёте интеграцию в недоступной локации.
- Создайте API key в Claude Console и сразу выберите срок действия.
Для базового подключения Anthropic требует аккаунт Claude Console и API key. При создании ключа документация подтверждает такие варианты срока действия: 3 hours, 1 day, 7 days, 30 days, custom или Never. Важно: срок действия нельзя изменить после создания ключа, поэтому для короткого теста удобно брать временный ключ, а для продакшена чаще рассматривают WIF.
Ожидаемый результат: у вас есть рабочий API key с осознанно выбранным сроком действия.
- Экспортируйте
ANTHROPIC_API_KEYи создайте виртуальное окружение.Официальный quickstart для Python начинается именно с экспорта переменной окружения и создания виртуального окружения. Команды ниже соответствуют этому сценарию и рассчитаны на shell с
export.export ANTHROPIC_API_KEY="ваш_API_ключ" python3 -m venv .venv source .venv/bin/activateОжидаемый результат: переменная окружения установлена в текущей сессии, а терминал работает внутри активированного
.venv. - Установите официальный Python SDK Anthropic.
Для Python Anthropic документирует пакет
anthropic. Официальная документация SDK указывает минимальное требование Python 3.9+ и автоматическое чтение переменнойANTHROPIC_API_KEY.pip install anthropicОжидаемый результат: пакет установлен без ошибок импорта и готов к использованию в текущем виртуальном окружении.
- Создайте тестовый скрипт с первым вызовом Messages API.
Anthropic указывает базовый REST-адрес
https://api.anthropic.com, а основной GA-вызов —POST /v1/messages. В Python вы можете не собирать HTTP-запрос вручную: официальный SDK делает это сам. Сохраните файлclaude_test.pyсо следующим кодом.import anthropic client = anthropic.Anthropic() message = client.messages.create( model="claude-opus-5", max_tokens=1000, messages=[ {"role": "user", "content": "Ответьте одной строкой: подключение работает."} ], ) for block in message.content: if hasattr(block, "text"): print(block.text) print(message.usage)Этот пример повторяет подтверждённые элементы quickstart: создание клиента через
anthropic.Anthropic(), вызовclient.messages.create(...), модельclaude-opus-5, параметрmax_tokens=1000и вывод текстовых блоков ответа. Отдельно выводитсяmessage.usageдля проверки расхода токенов.Ожидаемый результат: у вас сохранён воспроизводимый тестовый скрипт для первого запроса.
- Запустите скрипт и проверьте успешный ответ.
Выполните файл из того же терминала, где экспортировали переменную окружения и активировали виртуальное окружение.
python claude_test.pyСогласно quickstart, успешный запуск означает, что вы сделали первый API-вызов. В терминале вы должны увидеть хотя бы один текстовый блок ответа модели и объект
message.usage.Ожидаемый результат: скрипт завершается без ошибки аутентификации, без ошибки импорта и печатает ответ Claude.
Если вам нужен Node.js вместо Python: официальная альтернатива — TypeScript SDK @anthropic-ai/sdk с установкой через npm install @anthropic-ai/sdk. Документация указывает требования Node.js 20 LTS+ и TypeScript 4.9+, а браузерное использование по умолчанию отключено.
Как проверить, что всё работает
- Проверка 1: команда
python claude_test.pyвыполняется без ошибок импорта и без ошибок аутентификации. - Проверка 2: в выводе терминала появляется текстовый ответ модели. В логике quickstart это и есть подтверждение, что первый вызов API прошёл успешно.
- Проверка 3: после ответа выводится
message.usage. Это удобная программная проверка того, что SDK получил данные об использовании токенов. - Проверка 4: если вы готовите запуск для команды или продакшена, дополнительно проверьте текущие лимиты организации и workspace через read-only Rate Limits API. Документированный endpoint для списка —
GET https://api.anthropic.com/v1/organizations/rate_limits. Этот API позволяет читать лимиты, но не менять их.
Частые ошибки и исправления
- ❌ Ошибка: скрипт не проходит аутентификацию.
✅ Решение: убедитесь, что вы экспортировалиANTHROPIC_API_KEYв той же shell-сессии, где запускаете Python. Для сценария из этой инструкции SDK берёт ключ из переменной окружения автоматически. - ❌ Ошибка: ключ перестал работать через некоторое время.
✅ Решение: проверьте, не истёк ли срок действия ключа. При создании ключа срок задаётся один раз, и потом его нельзя изменить. Если срок истёк, создайте новый ключ или переходите на WIF для короткоживущих токенов. - ❌ Ошибка:
pip install anthropicили запуск скрипта упирается в версию Python.
✅ Решение: используйте Python 3.9 или новее. Это минимальное требование, указанное в официальной документации Python SDK и в метаданных пакета. - ❌ Ошибка: API отвечает
429.
✅ Решение: это обычно связано с rate limits на уровне организации. Новые организации могут начинать с Evaluation tier. Для корректного backoff ориентируйтесь на заголовокRetry-Afterи отдельно проверьте лимиты через Rate Limits API. - ❌ Ошибка: интеграция не запускается из нужной страны или региона.
✅ Решение: перед развёртыванием ещё раз сверяйтесь с официальной страницей Supported regions. Поддерживаемые регионы могут меняться.
Безопасность и ограничения
- Для первого теста достаточно API key, для продакшен-сценариев может быть лучше WIF. Документация Anthropic подтверждает обмен JWT вашего IdP на короткоживущий токен через
POST /v1/oauth/token, после чего SDK обновляет токен автоматически. - Не опирайтесь на старые цены. Документация прямо рекомендует проверять текущую стоимость на официальной странице pricing; цены указаны в USD и могут меняться.
- Проверяйте лимиты на уровне организации. Rate limits задаются не на уровне отдельного скрипта, а на уровне организации. Поэтому локально «исправный» код всё равно может получать
429. - Проверяйте регион перед релизом, а не после. Доступность API зависит от страны и региона, и этот факт лучше закладывать до закупки и развёртывания.
- Не считайте идентификатор модели вечным. В проверенном quickstart использовалась модель
claude-opus-5, но сами идентификаторы могут обновляться. Перед pinning в коде сверяйтесь с актуальным quickstart и документацией модели. - Ограничение этой инструкции: она покрывает подключение через Python SDK. Подробный WIF-процесс для конкретных провайдеров идентификации и полный серверный TypeScript-сценарий требуют отдельного руководства.
- Отдельное ограничение для фронтенда: в TypeScript SDK браузерный режим по умолчанию выключен, если специально не включать
dangerouslyAllowBrowser. Практически это означает, что базовое подключение лучше строить на серверной стороне.
Что делать дальше
- Если вы сравниваете поставщиков API, пройдите соседнюю инструкцию: Как подключить OpenAI API и отправить первый запрос.
- Если у вас уже есть код под OpenAI, используйте пошаговый перенос: Как мигрировать с OpenAI API на Anthropic API.
- После первого запроса настройте отказоустойчивость: Как настроить fallback при сбое API.
- Для более сложных сценариев работы с инструментами и параметрами продолжайте с инструкцией: Как использовать function calling в API.
Источники
- Get started with Claude – Claude Platform Docs
- Authentication – Claude Platform Docs
- API overview – Claude Platform Docs
- Supported regions – Claude Platform Docs
- Pricing – Claude Platform Docs
- Rate limits – Claude Platform Docs
- Rate Limits API – Claude Platform Docs
- Python SDK – Claude Platform Docs
- TypeScript SDK – Claude Platform Docs
- anthropic-sdk-python/CHANGELOG.md
- anthropic-sdk-python/pyproject.toml
- anthropic-sdk-typescript/package.json
Вопросы и ответы
Можно ли подключить Anthropic API без постоянного API key?
Да. Anthropic поддерживает WIF: нагрузка обменивает JWT вашего IdP на короткоживущий токен через POST /v1/oauth/token, а SDK обновляет его автоматически. В этой инструкции показан только базовый путь через API key, потому что он проще для первого запуска.
Можно ли вызывать Claude API прямо из браузера?
Для TypeScript SDK браузерное использование по умолчанию отключено. Документация указывает, что его можно включить только через dangerouslyAllowBrowser, поэтому базовое подключение разумнее строить на серверной стороне.
Сколько стоит подключение Anthropic API?
Документация Anthropic указывает цены в USD и отдельно предупреждает, что нужно проверять актуальные тарифы на официальной странице pricing. В этой инструкции намеренно нет кэшированных цен.
Почему даже рабочий скрипт может получать 429?
Потому что rate limits задаются на уровне организации. Новые организации могут начинать с Evaluation tier. При ответе 429 ориентируйтесь на Retry-After и проверьте текущие лимиты через Rate Limits API.
Какую модель использовать в первом тесте?
В проверенной версии официального quickstart на 2026-08-17 использовалась claude-opus-5. Но идентификаторы моделей могут обновляться, поэтому перед закреплением в коде сверяйтесь с текущей документацией.