Убедитесь, что это именно 403 с этим кодом
В теле ответа будет "code": "unsupported_country_region_territory". Если код другой, причина не в стране.
Запрос пришёл с адреса страны, где OpenAI не работает. Ключ здесь ни при чём: разбираем, что помогает, а что только ухудшает.
Коротко: Ошибка 403 с кодом unsupported_country_region_territory означает, что API OpenAI увидел запрос из страны, которую компания не обслуживает. Россия в этом списке. Проверяется IP-адрес, с которого пришёл запрос, а не аккаунт и не ключ: с тем же ключом из другой страны запрос проходит.
Поэтому обычные действия не помогают. Новый ключ даст ту же ошибку, новый аккаунт тоже. Смена модели не влияет. Изменится только одно: адрес, с которого сервер OpenAI получает запрос.
Варианта три. Прокси или VPN на вашем сервере, что нарушает условия использования OpenAI и рано или поздно заканчивается блокировкой аккаунта с остатком на счету. Собственный сервер за рубежом, где будет жить ваш код. Или посредник с OpenAI-совместимым API, у которого запросы уходят с разрешённых адресов, а вы платите в рублях.
Меняются только base_url и ключ: запросы к нам идут из России без VPN. Для компаний — договор и закрывающие документы.
https://api.kosareva.cloud/v1, ключ из кабинета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}'
Запрос уходит с домашнего компьютера, с сервера у российского хостера или из офиса.
Переменные окружения HTTPS_PROXY не подхватились, докер-контейнер ходит напрямую.
Выходной адрес попал в список стран, где OpenAI тоже не работает.
Сообщение «сервисы OpenAI недоступны в вашей стране» — это та же проверка, только на сайте.
В теле ответа будет "code": "unsupported_country_region_territory". Если код другой, причина не в стране.
Это не поможет и может привлечь внимание к аккаунту. Проверка идёт по адресу.
Сервер за рубежом, прокси только для этого процесса или посредник с совместимым API. Первые два варианта требуют иностранной карты для оплаты OpenAI.
В SDK OpenAI меняются две строки: адрес и ключ. Остальной код остаётся.
Ошибка приходит как PermissionDeniedError со статусом 403. Проверьте, что прокси задан для процесса, а не только в браузере.
Контейнер не наследует прокси хоста. Переменные HTTPS_PROXY нужно передать явно.
Облачные версии этих сервисов запускаются за рубежом, и ошибка там не появляется. Появляется в self-hosted n8n на российском сервере.
Редактор ходит в API с вашего компьютера, поэтому ошибка та же. Лечится подменой base_url в настройках провайдера.
Потому что проверяется не ключ, а адрес отправителя. Ключ из любой страны с российского IP получит 403.
Технически да, но это нарушение условий OpenAI. Аккаунты с таким трафиком блокируют, остаток на балансе не возвращают.
Да, у Anthropic список стран свой, но Россия в нём тоже есть. У Google Gemini API часть регионов закрыта аналогично.
Проверьте, как определяется страна его IP: адреса переходят между сетями, и базы геолокации могут ещё числить зарубежный адрес российским. Узнайте внешний IP командой с самого сервера и сверьте его страну в нескольких сервисах геолокации. Если страна неверная, быстрее попросить у хостера другой IP, чем ждать обновления баз.
В документации OpenAI есть страница Supported countries and territories: API работает только из перечисленных там стран. России в этом списке нет. Список время от времени меняется, поэтому, выбирая сервер или выходной IP, сверяйтесь с актуальной версией, а не с пересказами.
OpenAI-совместимый адрес, оплата в рублях, ключ сразу после регистрации. Пополнение картой от 50 ₽.