Бесплатно, без ключа и регистрации. Лимит: 30 запросов в минуту с одного IP. Те же данные, что на странице проверки User-Agent и IP.
POST https://bot-guard.ru/api/check/, тело application/x-www-form-urlencoded:
ip: публичный IPv4 или IPv6 (необязательно);ua: строка User-Agent до 512 символов (необязательно). Передавайте её именно POST-ом.Нужен хотя бы один параметр. Если переданы оба, подлинность «поискового бота» и ИИ-краулера проверяется по этому IP.
curl -X POST https://bot-guard.ru/api/check/ \ --data-urlencode "ip=66.249.66.1" \ --data-urlencode "ua=Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
{
"ok": true,
"ua": { "known": true, "verdict": "ok", "label": "Не вызывает подозрений", "parsed": { ... } },
"ip": { "ip": "66.249.66.1", "datacenter": null, "ptr": "crawl-66-249-66-1.googlebot.com",
"ptrConfirmed": true, "claim": "search", "claimVerdict": true, "yandexNet": false, "aiProvider": null },
"reputation": { "available": true, "blocks": 0, "sites": 0, "reasons": {} }
}
ua.verdict: ok, warn, bad или null, если строка нам ещё не встречалась;ip.datacenter: провайдер, если адрес принадлежит датацентру или облаку;ip.claimVerdict: true, если IP подтверждает заявленного бота обратным DNS; false: подделка; null: проверить не удалось;reputation: сколько раз адрес блокировался на сайтах сервиса за 30 дней (только суммы, без названий сайтов).200 успешно, 400 нет параметров или IP не публичный, 429 лимит превышен (заголовок Retry-After).
POST /api/email/Параметр email. Возвращает проверку синтаксиса, наличия почтовых записей домена (MX), признак одноразового сервиса, бесплатного почтовика и служебного адреса (info@, admin@), а также risk (0–100) и verdict (ok, warn, bad). Список одноразовых сервисов базовый, не исчерпывающий. Подходит для фильтра фейковых регистраций.
curl -X POST https://bot-guard.ru/api/email/ --data-urlencode "email=test@mailinator.com"
{"ok":true,"email":"test@mailinator.com","syntax":true,"domain":"mailinator.com","disposable":true,"mx":true,"risk":80,"verdict":"bad"}
Работает на сайте, который добавлен в кабинете Bot Guard (нужен номер сайта). Посетитель ничего не решает: виджет при первом движении мыши, касании или нажатии клавиши получает одноразовый токен, если запрос не похож на бота.
<script src="https://bot-guard.ru/api/captcha-widget/?site=НОМЕР" async></script>. Он добавит скрытое поле bg_token во все формы страницы.POST https://bot-guard.ru/api/captcha-verify/ с параметрами site, token и (по желанию) ip посетителя. Ответ: {"ok":true,"success":true}.Токен одноразовый и живёт 5 минут. success:false означает, что токена нет, он просрочен, использован, выдан для другого сайта или IP. Виджет работает на домене, указанном у сайта в кабинете (проверяется по Referer).
$r = json_decode(file_get_contents('https://bot-guard.ru/api/captcha-verify/', false, stream_context_create(['http' =>
['method' => 'POST', 'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => http_build_query(['site' => 123, 'token' => $_POST['bg_token'] ?? '', 'ip' => $_SERVER['REMOTE_ADDR']])]])), true);
if (empty($r['success'])) { /* отклонить форму */ }
API работает в тестовом режиме: формат ответа может расширяться. Для защиты сайта в реальном времени используйте модули подключения.