API-ключ Claude в России: Anthropic SDK и Claude Code на ключе Zukko

Консоль Anthropic не работает с Россией, но ключ Zukko подходит для Anthropic SDK и Claude Code. Пошагово: ключ, код, кэш промптов и цены Opus 5.5 и Sonnet 5.

5 мин · · API-ключи · разработка

API-ключ Claude обычно получают в консоли Anthropic, но из России этот путь закрыт: регион не поддерживается, а российские карты не принимаются. Если вам нужен ключ для своего кода на Anthropic SDK или для Claude Code, подойдёт ключ Zukko: он работает в формате Anthropic и оплачивается в рублях. Ниже — пошаговая настройка, кэш промптов и цены.

Почему ключ Anthropic из России получить сложно

Россия не входит в список регионов, которые Anthropic поддерживает для своего API (мы сверялись со списком в документации Anthropic 7 октября 2026). Пополнить баланс в консоли Anthropic картой российского банка не получится. Аккаунт, зарегистрированный в обход правил, рискует блокировкой вместе с оплаченным балансом — для рабочего проекта это неприемлемо.

Что такое ключ Zukko для Claude

Zukko — API-шлюз к моделям Claude, GPT, Gemini, DeepSeek, Qwen и GLM. Ключ вида fetch_... работает с Anthropic-совместимым API:

  • POST https://api.zukko.pro/v1/messages — сообщения в формате Anthropic;
  • POST https://api.zukko.pro/v1/messages/count_tokens — подсчёт токенов до запроса.

Авторизация — заголовок Authorization: Bearer fetch_.... Anthropic SDK отправляет ключ в заголовке x-api-key, это тоже работает. Заголовок anthropic-version: 2023-06-01 SDK ставят сами.

Важно: это не ключ Anthropic. Он работает только с адресом Zukko, на api.anthropic.com его отправлять бесполезно.

Как получить API-ключ Claude: пошагово

Шаг 1. Ключ в кабинете

  1. Зарегистрируйтесь на zukko.pro и пополните баланс: СБП или карта российского банка в рублях по рыночному курсу, либо криптовалюта. Минимум — $1.
  2. Откройте «API-ключи» и создайте ключ. Задайте имя, дневной и месячный лимит в долларах и, если нужно, список разрешённых моделей.
  3. Скопируйте ключ сразу: полностью он показывается один раз.

Шаг 2. Anthropic SDK для Python

bash
import os

from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.zukko.pro",
    api_key=os.environ["ZUKKO_API_KEY"],
)

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Найди ошибку в функции: def avg(xs): return sum(xs) / len(xs)"}],
)
print(message.content[0].text)
print(message.usage)

Адрес — без /v1: SDK добавляет его сам и отправляет запрос на /v1/messages.

Шаг 3. Anthropic SDK для Node.js

bash
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://api.zukko.pro",
  apiKey: process.env.ZUKKO_API_KEY,
});

const message = await client.messages.create({
  model: "claude-opus-5-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Предложи структуру таблиц для учёта заказов" }],
});
console.log(message.content[0].text);

Шаг 4. Проверка через curl

bash
curl https://api.zukko.pro/v1/messages \
  -H "Authorization: Bearer $ZUKKO_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model": "claude-sonnet-5", "max_tokens": 256, "messages": [{"role": "user", "content": "Привет!"}]}'

Справка по формату — в документации /v1/messages.

Шаг 5. Claude Code

Claude Code поддерживает подключение к шлюзу через переменные окружения. Ключ передаётся в ANTHROPIC_AUTH_TOKEN — его значение Claude Code отправляет в заголовке Authorization: Bearer:

bash
export ANTHROPIC_BASE_URL=https://api.zukko.pro
export ANTHROPIC_AUTH_TOKEN=fetch_ваш_ключ
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-sonnet-5
claude

ANTHROPIC_DEFAULT_HAIKU_MODEL нужен обязательно: фоновые запросы Claude Code идут на модель слота Haiku (по умолчанию claude-haiku-*), которой нет в каталоге Zukko, а на неизвестное имя модели шлюз отвечает 404 model_not_found. Если переключаетесь через /model opus или /model sonnet, задайте также ANTHROPIC_DEFAULT_OPUS_MODEL и ANTHROPIC_DEFAULT_SONNET_MODEL на модели из каталога.

Те же переменные можно прописать в блок env файла ~/.claude/settings.json, чтобы не задавать их в каждом терминале:

bash
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.zukko.pro",
    "ANTHROPIC_AUTH_TOKEN": "fetch_ваш_ключ",
    "ANTHROPIC_MODEL": "claude-sonnet-5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-sonnet-5"
  }
}

Подробная настройка — в документации по Claude Code, примерный расход за месяц — в статье сколько стоит Claude Code в месяц.

Если код написан на OpenAI SDK

Claude можно вызывать и через OpenAI-совместимый адрес https://api.zukko.pro/v1 — шлюз конвертирует запрос. Но для Claude скидку за кэш даёт только Anthropic-формат: в OpenAI-формате весь вход идёт по цене входа. Для длинных промптов и агентов выгоднее Anthropic SDK.

Если у вас уже есть проект на официальном API Anthropic, чек-лист переезда — в статье миграция с Anthropic API.

Цены и кэш промптов

Цены — в долларах за 1M токенов, на 7 октября 2026:

МодельidВход / выходКэш чтение / записьИндекс силы
Claude Opus 5.5claude-opus-5-50.8 / 40.08 / 158
Claude Sonnet 5claude-sonnet-50.4 / 20.05 / 0.5—
Claude Fable 5.1claude-fable-5-17 / 350.7 / 8.7553

Индекс силы — Intelligence Index от Artificial Analysis, для Sonnet 5 данных нет. 6 октября 2026 Claude подорожал примерно вдвое, цены меняются часто: актуальный список и цены — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете.

Пример: длинный системный промпт

Допустим, у вас системный промпт на 5 000 токенов, и вы делаете 1 000 запросов с 500 свежими входными токенами и 300 выходными. Отметьте системный промпт для кэширования:

bash
LONG_INSTRUCTIONS = "...ваши инструкции на 5 000 токенов..."

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=512,
    system=[{"type": "text", "text": LONG_INSTRUCTIONS, "cache_control": {"type": "ephemeral"}}],
    messages=[{"role": "user", "content": "Текст обращения клиента"}],
)
print(message.usage.cache_creation_input_tokens, message.usage.cache_read_input_tokens)

Первый запрос записывает 5 000 токенов в кэш, следующие 999 читают их. Формула: (запись × цена записи + чтение × цена чтения + свежий вход × цена входа + выход × цена выхода) / 1 000 000. Для Sonnet 5:

  • запись: 5 000 × 0.5 / 1 000 000 = $0.0025;
  • чтение: 999 × 5 000 × 0.05 / 1 000 000 = $0.24975;
  • свежий вход: 1 000 × 500 × 0.4 / 1 000 000 = $0.20;
  • выход: 1 000 × 300 × 2 / 1 000 000 = $0.60;
  • итого ≈ $1.05.

Без кэша: 1 000 × 5 500 × 0.4 / 1 000 000 + $0.60 = $2.20 + $0.60 = $2.80. Для Opus 5.5 по той же схеме ≈ $2.00 с кэшем и $5.60 без него. Расчёт предполагает, что кэш не успевает истечь: по документации Anthropic срок жизни кэша по умолчанию — 5 минут. Это пример на ценах 7 октября 2026; посчитать токены заранее можно через POST /v1/messages/count_tokens.

Частые вопросы

Нужен ли аккаунт в консоли Anthropic?

Нет. Ключ, баланс и история расходов — в кабинете Zukko.

Почему Claude Code не принимает ключ?

Проверьте три вещи: ключ передан в ANTHROPIC_AUTH_TOKEN, адрес https://api.zukko.pro указан без /v1, переменные заданы в том же терминале, где запускается claude. Если же приходит 404 model_not_found, проверьте, что в ANTHROPIC_MODEL и ANTHROPIC_DEFAULT_HAIKU_MODEL стоят id из каталога.

Можно ли ограничить ключ только моделями Claude?

Да. В настройках ключа задайте список разрешённых моделей. Запрос к другой модели вернёт 403 model_not_allowed_for_key.

Что делать при ошибке 402?

Это нехватка баланса. Пополните его в кабинете: СБП, карта российского банка или криптовалюта, от $1.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.