kosareva.cloud

Unsupported country, region, territory: что значит ошибка 403 в API OpenAI

Запрос пришёл с адреса страны, где OpenAI не работает. Ключ здесь ни при чём: разбираем, что помогает, а что только ухудшает.

/ Короткий ответ

Что это значит

Ошибка 403 с кодом unsupported_country_region_territory означает, что API OpenAI увидел запрос из страны, которую компания не обслуживает. Россия в этом списке. Проверяется IP-адрес, с которого пришёл запрос, а не аккаунт и не ключ: с тем же ключом из другой страны запрос проходит.

Поэтому обычные действия не помогают. Новый ключ даст ту же ошибку, новый аккаунт тоже. Смена модели не влияет. Изменится только одно: адрес, с которого сервер OpenAI получает запрос.

Варианта три. Прокси или VPN на вашем сервере, что нарушает условия использования OpenAI и рано или поздно заканчивается блокировкой аккаунта с остатком на счету. Собственный сервер за рубежом, где будет жить ваш код. Или посредник с OpenAI-совместимым API, у которого запросы уходят с разрешённых адресов, а вы платите в рублях.

/ Почему

Откуда берётся ошибка

  • Запрос уходит с российского IP: с домашнего компьютера, с сервера у российского хостера, из офиса.
  • Прокси настроен, но не для этого процесса: переменные окружения HTTPS_PROXY не подхватились, докер-контейнер ходит напрямую.
  • VPN включён, но выходной адрес попал в список стран, где OpenAI тоже не работает.
  • Тот же код в браузере ChatGPT: сообщение «сервисы OpenAI недоступны в вашей стране» — это та же проверка, только на сайте.
/ Что делать

Порядок действий

01

Убедитесь, что это именно 403 с этим кодом

В теле ответа будет "code": "unsupported_country_region_territory". Если код другой, причина не в стране.

02

Не меняйте ключ и аккаунт

Это не поможет и может привлечь внимание к аккаунту. Проверка идёт по адресу.

03

Решите, откуда будут уходить запросы

Сервер за рубежом, прокси только для этого процесса или посредник с совместимым API. Первые два варианта требуют иностранной карты для оплаты OpenAI.

04

Смените base_url на совместимый API

В SDK OpenAI меняются две строки: адрес и ключ. Остальной код остаётся.

from openai import OpenAI
client = OpenAI(
    api_key="ВАШ_КЛЮЧ",
    base_url="https://api.kosareva.cloud/v1",
)
/ По инструментам

Где это чинится в разных инструментах

  • Python и Node.js. Ошибка приходит как PermissionDeniedError со статусом 403. Проверьте, что прокси задан для процесса, а не только в браузере.
  • Docker. Контейнер не наследует прокси хоста. Переменные HTTPS_PROXY нужно передать явно.
  • n8n, Make, Zapier. Облачные версии этих сервисов запускаются за рубежом, и ошибка там не появляется. Появляется в self-hosted n8n на российском сервере.
  • Cursor, Cline, Continue. Редактор ходит в API с вашего компьютера, поэтому ошибка та же. Лечится подменой base_url в настройках провайдера.
/ FAQ

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

Ключ купил за рубежом, почему не работает?

Потому что проверяется не ключ, а адрес отправителя. Ключ из любой страны с российского IP получит 403.

VPN решает проблему?

Технически да, но это нарушение условий OpenAI. Аккаунты с таким трафиком блокируют, остаток на балансе не возвращают.

Anthropic и Google так же?

Да, у Anthropic список стран свой, но Россия в нём тоже есть. У Google Gemini API часть регионов закрыта аналогично.

/ На kosareva.cloud

Как это выглядит у нас

Наш шлюз принимает запросы с российских адресов и сам доходит до моделей с разрешённых. Для вашего кода это смена base_url и ключа, VPN не нужен. Оплата в рублях, для юрлиц по договору с закрывающими документами.

Ключ, который работает из России

OpenAI-совместимый адрес, оплата в рублях, ключ сразу после регистрации. Пополнение картой от 50 ₽.

Получить ключ