kosareva.cloud

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

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

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

/ Подробнее

Что важно знать

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

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

/ На kosareva.cloud

Из России без VPN: меняются только адрес и ключ

Меняются только base_url и ключ: запросы к нам идут из России без VPN. Для компаний — договор и закрывающие документы.

Адрес
https://api.kosareva.cloud/v1, ключ из кабинета
Оплата
Карта РФ или СБП от 50 ₽, компаниям — по счёту
Доступ
Без VPN, запросы идут с российских IP
from openai import OpenAI

client = OpenAI(
    api_key="ВАШ_API_КЛЮЧ",
    base_url="https://api.kosareva.cloud/v1",
)

response = client.chat.completions.create(
    model="gpt-5-6",
    messages=[{"role": "user", "content": "Привет!"}],
    stream=True,
)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "ВАШ_API_КЛЮЧ",
  baseURL: "https://api.kosareva.cloud/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-5-6",
  messages: [{ role: "user", content: "Привет!" }],
  stream: true,
});
curl https://api.kosareva.cloud/v1/chat/completions \
  -H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5-6","messages":[{"role":"user","content":"Привет!"}],"stream":true}'
/ Почему

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

Российский 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 часть регионов закрыта аналогично.

Сервер за рубежом, а ошибка всё равно приходит — почему?

Проверьте, как определяется страна его IP: адреса переходят между сетями, и базы геолокации могут ещё числить зарубежный адрес российским. Узнайте внешний IP командой с самого сервера и сверьте его страну в нескольких сервисах геолокации. Если страна неверная, быстрее попросить у хостера другой IP, чем ждать обновления баз.

Где посмотреть список стран, откуда работает API OpenAI?

В документации OpenAI есть страница Supported countries and territories: API работает только из перечисленных там стран. России в этом списке нет. Список время от времени меняется, поэтому, выбирая сервер или выходной IP, сверяйтесь с актуальной версией, а не с пересказами.

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

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

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