С 1 декабря 2023 года российские сайты обязаны авторизовать пользователей только через российский email-сервис, номер +7, ЕСИА или ЕБС (Федеральный закон № 406-ФЗ). API принимает email и IP пользователя вместе и выносит итоговый вердикт: иностранная почта запрещена только пользователям из России; если и почта, и IP иностранные — регистрация допустима. Бесплатно, без регистрации и ключей.
Попробуйте user@gmail.com + 77.88.8.8 (РФ — запрещено), user@gmail.com + 8.8.8.8 (не РФ — разрешено) или user@yandex.ru. Без IP проверяется только почтовый сервис.
// результат появится здесь
| Параметр | Описание | Пример |
|---|---|---|
email | Email или домен почтового сервиса | ?email=user@gmail.com |
ip | IP пользователя — вместе с email включает совместную проверку | ?ip=77.88.8.8 |
fields | Вернуть только указанные поля (через запятую) | ?fields=compliant,category,reason |
key | ключ платного тарифа (опционально) | ?key=... |
| Поле | Описание | Пример |
|---|---|---|
type | combined | combined |
allowed | Итоговый вердикт: можно ли регистрировать пользователя с этой почтой. true / false / null (не определено) | false |
reason | Готовое пояснение на русском — можно показывать пользователю | иностранный почтовый сервис у пользователя из России — регистрация недоступна по 406-ФЗ |
email | Детали проверки почты (поля как в проверке email ниже) | {"compliant": false, "provider": "Gmail (Google)", ...} |
ip | Детали проверки IP (поля как в проверке IP ниже) | {"russian": true, "applies": true, ...} |
Логика вердикта: IP вне России → allowed: true при любой почте (закон не применяется). IP в России → решает почта: российский сервис — true, иностранный — false, не определено — null. Если страну IP определить не удалось, требования закона консервативно считаются применимыми.
| Поле | Описание | Пример |
|---|---|---|
status | success или fail | success |
type | Тип проверки: email или ip | |
email / domain | Проверенный адрес и его домен | user@gmail.com / gmail.com |
valid | Синтаксис корректен и домен принимает почту | true |
compliant | Можно ли использовать для регистрации: true / false / null (не определено) | false |
category | russian — российский сервис, foreign — иностранный, corporate — корпоративный домен (по MX), unknown | foreign |
provider / providerCountry | Название сервиса и страна | Gmail (Google) / US |
mxSignal | Для корпоративных доменов: кто обслуживает почту — russian или foreign | russian |
reason | Готовое пояснение на русском — можно показывать пользователю | иностранный почтовый сервис — регистрация недоступна по 406-ФЗ |
law | Ссылка на норму | Федеральный закон № 406-ФЗ от 31.07.2023 |
| Поле | Описание | Пример |
|---|---|---|
russian | IP-адрес находится в России | true |
applies | Требования 406-ФЗ применяются к этому пользователю | true |
country / countryCode | Страна IP-адреса | Russia / RU |
reason | Пояснение | IP-адрес в России — требования 406-ФЗ применяются |
# Пользователь отправил форму регистрации — проверяем его email и IP одним запросом
GET /fz406/json/user@gmail.com?ip=77.88.8.8
-> { "allowed": false, "reason": "иностранный почтовый сервис у пользователя из России — регистрация недоступна по 406-ФЗ" }
GET /fz406/json/user@gmail.com?ip=8.8.8.8
-> { "allowed": true, "reason": "пользователь вне России — требования 406-ФЗ не применяются, любой почтовый сервис допустим" }
GET /fz406/json/user@yandex.ru?ip=77.88.8.8
-> { "allowed": true, "reason": "российский почтовый сервис — регистрация разрешена" }
# allowed === false — показываем готовый reason и предлагаем российскую почту или номер +7
# curl — совместная проверка
curl "https://apipark.ru/fz406/json/user@gmail.com?ip=77.88.8.8"
# curl — только почта или только IP
curl https://apipark.ru/fz406/json/user@yandex.ru
curl https://apipark.ru/fz406/json/77.88.8.8
# JavaScript — на бэкенде в обработчике формы регистрации
const url = 'https://apipark.ru/fz406/json/' + encodeURIComponent(email) + '?ip=' + userIp;
const check = await (await fetch(url)).json();
if (check.allowed === false) {
showError('⚠️ ' + check.reason); // готовый текст для пользователя
}
# Python
import requests
check = requests.get('https://apipark.ru/fz406/json/user@outlook.com', params={'ip': user_ip}).json()
print(check['allowed'], check['reason'])
Известные публичные сервисы определяются по домену: российские (Mail.ru/VK, Яндекс, Рамблер — category russian) и иностранные (Gmail, Outlook, Yahoo, iCloud, Proton и ещё 60+ — category foreign). Корпоративные домены классифицируются эвристикой по MX-записям: почта на Яндекс 360, VK WorkSpace или российских хостингах — compliant: true; на Google Workspace, Microsoft 365 и подобных — compliant: false. Если принадлежность определить нельзя, вернётся compliant: null — окончательное решение за владельцем сайта. Сервис носит справочный характер и не является юридической консультацией.
5 запросов в минуту с одного IP-адреса. При превышении вернётся HTTP 429. Заголовки: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.