/ip — текстовый IP
Возвращает только определённый IP клиента в текстовом виде. Подходит для скриптов и health-check.
curl -s https://nekoip.ru/ip
Используйте эти HTTP-эндпоинты в скриптах, мониторинге или собственных интеграциях — они возвращают те же данные, что и интерфейс, и защищены вменяемыми лимитами.
Возвращает только определённый IP клиента в текстовом виде. Подходит для скриптов и health-check.
curl -s https://nekoip.ru/ip
Возвращает сведения о текущем или указанном IP. Параметр domain=example.com (или закодированный HTTP(S) URL) возвращает все A- и AAAA-адреса с метаданными.
ip — 1.1.1.1 | 2001:db8::1domain — example.com | https://example.com/pathЗапросы с ip или domain дополнительно ограничены: 5 проверок за 60 с на IP клиента; сверх лимита API отвечает 429 с полем retry_after.
curl -s "https://nekoip.ru/api/info?ip=1.1.1.1" | jq '.'
curl -s "https://nekoip.ru/api/info?domain=example.com" | jq '.'
Отдают только IPv4 или IPv6 (если доступен) либо 204, когда адреса нет. Обращайтесь к отдельным одностековым именам ниже — на основном домене проба просто повторит адрес текущего соединения.
https://ipv4.nekoip.ru/api/ipv4-probe / https://ipv6.nekoip.ru/api/ipv6-probe
curl -s https://ipv4.nekoip.ru/api/ipv4-probe
curl -s https://ipv6.nekoip.ru/api/ipv6-probe
Передайте параметр id, который выдаёт виджет на главной, чтобы получить список IP резолверов, обращавшихся к тестовому домену.
id — a1b2c3d4e5f6 (обязательный)curl -s "https://nekoip.ru/api/dns-leak-test?id=TEST_ID"
Мгновенные расчёты IP, пассивная диагностика DNS, почты и реестров, а также необязательная активная проверка соединения только с NekoIP.
Access-Control-Allow-Origin: * · application/json · text/plain
Все инструменты v1 отвечают одинаковой JSON-оболочкой: ok, data с результатом, findings с замечаниями и уровнем severity и meta с полями request_id, cached, stale, duration_ms, retrieved_at и sources. Добавьте format=text (или Accept: text/plain), чтобы получить те же данные строками «ключ: значение».
{
"ok": true,
"data": { "network": "10.0.0.0/24", "usable_addresses": 254 },
"findings": [
{ "code": "network_valid", "severity": "ok", "message": "...", "details": {} }
],
"meta": {
"request_id": "57f47f834af86d2f",
"cached": false,
"stale": false,
"duration_ms": 0,
"retrieved_at": "2026-01-01T00:00:00+00:00",
"sources": []
}
}
Ошибки используют ту же структуру с ok=false и объектом error: code стабилен, message читаемый и всегда на английском, fields указывает на неверные параметры. Типичные статусы: 400 — неверный ввод, 404 — неизвестная или истёкшая сессия, 429 — превышен лимит, 503 — инструмент выключен или внешний источник недоступен.
{
"ok": false,
"error": {
"code": "invalid_dns_name",
"message": "Enter a fully-qualified DNS owner name.",
"fields": { "domain": "invalid" }
},
"meta": { "request_id": "858db277f46d825b" }
}
Каждый ответ /api/v1/tools/ содержит заголовок RateLimit-Policy; у ограниченных эндпоинтов также есть RateLimit-Limit, RateLimit-Remaining и RateLimit-Reset. При превышении лимита возвращается 429 с error.code=rate_limit_exceeded и заголовком Retry-After.
Расчёт IPv4/IPv6-сетей, преобразование диапазона в CIDR, агрегация, разбиение и проверка принадлежности адреса.
GET /api/v1/tools/subnet?network=10.0.0.0%2F24
operation — analyze (default) | range | aggregate | contains | splitnetwork — 10.0.0.0/24 (analyze, contains, split)start — 10.0.0.1 (range)end — 10.0.0.254 (range)networks — 10.0.0.0/25,10.0.0.128/25 (aggregate)ip — 10.0.0.15 (contains)new_prefix — 26 (split)format — json (default) | text | csvcurl -H 'Accept: application/json' 'https://nekoip.ru/api/v1/tools/subnet?network=10.0.0.0%2F24'
curl -H 'Accept: text/plain' 'https://nekoip.ru/api/v1/tools/subnet?network=10.0.0.0%2F24'
Преобразование IPv4 и IPv6 между сжатым, полным, десятичным, шестнадцатеричным и двоичным форматами.
GET /api/v1/tools/ip-converter?ip=2001%3Adb8%3A%3A1
ip — 2001:db8::1 | 192.0.2.10 | 3221225994 (обязательный)format — json (default) | textcurl -H 'Accept: application/json' 'https://nekoip.ru/api/v1/tools/ip-converter?ip=2001%3Adb8%3A%3A1'
curl -H 'Accept: text/plain' 'https://nekoip.ru/api/v1/tools/ip-converter?ip=2001%3Adb8%3A%3A1'
Запрос основных типов DNS через валидирующий резолвер NekoIP с TTL, rcode и признаком DNSSEC.
GET /api/v1/tools/dns?domain=example.com&type=A
domain — example.com (обязательный)type — A (default) | AAAA | ALL | CAA | CNAME | DNSKEY | DS | HTTPS | MX | NS | PTR | SOA | SRV | SVCB | TLSA | TXTformat — json (default) | textcurl -H 'Accept: application/json' 'https://nekoip.ru/api/v1/tools/dns?domain=example.com&type=A'
curl -H 'Accept: text/plain' 'https://nekoip.ru/api/v1/tools/dns?domain=example.com&type=A'
Анализ MX, SPF, DMARC, DKIM, MTA-STS, TLS-RPT и BIMI без подключения к почтовому серверу.
GET /api/v1/tools/email-dns?domain=example.com
domain — example.com (обязательный)selector — default | google | selector1format — json (default) | textcurl -H 'Accept: application/json' 'https://nekoip.ru/api/v1/tools/email-dns?domain=example.com'
curl -H 'Accept: text/plain' 'https://nekoip.ru/api/v1/tools/email-dns?domain=example.com'
Разбирает DKIM-запись и собирает записи SPF и DMARC из JSON-тела запроса. Полностью оффлайн: NekoIP не делает ни одного DNS-запроса для этого эндпоинта.
POST /api/v1/tools/email-policy
operation — parse_dkim | generate_spf | generate_dmarc (обязательный)record — v=DKIM1; k=rsa; p=... (parse_dkim)ipv4 — ["192.0.2.10"] (generate_spf)ipv6 — ["2001:db8::1"] (generate_spf)includes — ["_spf.example.net"] (generate_spf)policy — ~all | -all | ?all (generate_spf) · none | quarantine | reject (generate_dmarc)pct — 100 (generate_dmarc)rua — mailto:dmarc@example.com (generate_dmarc)subdomain_policy — none | quarantine | reject (generate_dmarc)curl -X POST -H 'Content-Type: application/json' \
-d '{"operation": "generate_spf", "ipv4": ["192.0.2.10"], "includes": ["_spf.example.net"], "policy": "~all"}' \
'https://nekoip.ru/api/v1/tools/email-policy'
Поиск PTR-имён для IP и проверка, возвращаются ли они к исходному адресу.
GET /api/v1/tools/reverse-dns?ip=8.8.8.8
ip — 8.8.8.8 | 2001:4860:4860::8888 (обязательный)format — json (default) | textcurl -H 'Accept: application/json' 'https://nekoip.ru/api/v1/tools/reverse-dns?ip=8.8.8.8'
curl -H 'Accept: text/plain' 'https://nekoip.ru/api/v1/tools/reverse-dns?ip=8.8.8.8'
Регистрационные данные доменов, IP и автономных систем с понятными объяснениями EPP-статусов.
GET /api/v1/tools/whois-rdap?query=example.com
query — example.com | 8.8.8.8 | AS15169 (обязательный)format — json (default) | textcurl -H 'Accept: application/json' 'https://nekoip.ru/api/v1/tools/whois-rdap?query=example.com'
curl -H 'Accept: text/plain' 'https://nekoip.ru/api/v1/tools/whois-rdap?query=example.com'
Объединяет DNS, защиту почты, регистрацию, IDN и PTR без обращения к сайту домена.
GET /api/v1/tools/domain-analysis?domain=example.com
domain — example.com (обязательный)format — json (default) | textcurl -H 'Accept: application/json' 'https://nekoip.ru/api/v1/tools/domain-analysis?domain=example.com'
curl -H 'Accept: text/plain' 'https://nekoip.ru/api/v1/tools/domain-analysis?domain=example.com'
Эндпоинты /api/v1/tools/dns-resolver/sessions и /api/v1/tools/connection-quality/sessions обслуживают виджеты в браузере: они требуют same-origin запроса, не отдают CORS-заголовки и не являются частью публичного API.