/ip — プレーンテキストIP
検出されたIPのみをテキストで返します。スクリプトやヘルスチェックに最適です。
curl -s https://nekoip.ru/ip
これらのHTTPエンドポイントはUIと同じデータを返し、スクリプトや監視、独自のクライアントから安全に利用できます(適切なレート制限付き)。
検出されたIPのみをテキストで返します。スクリプトやヘルスチェックに最適です。
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/pathip または domain 付きのリクエストには、クライアント IP ごとに 60 秒あたり 5 回という追加制限があります。超えると retry_after 付きの 429 を返します。
curl -s "https://nekoip.ru/api/info?ip=1.1.1.1" | jq '.'
curl -s "https://nekoip.ru/api/info?domain=example.com" | jq '.'
利用可能ならそれぞれの IP のみを返し、無い場合は 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 パラメーターを指定すると、DNS リークドメインへ問い合わせたリゾルバー 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、severity 付きの findings、そして request_id、cached、stale、duration_ms、retrieved_at、sources を含む meta です。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 も返します。制限を超えると error.code=rate_limit_exceeded と Retry-After ヘッダー付きの 429 を返します。
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を圧縮、展開、整数、16進数、2進数形式の間で変換します。
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'
NekoIPの検証リゾルバーでDNSを照会し、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'
JSON ボディから DKIM レコードを解析し、SPF や DMARC レコードを生成します。完全にオフラインで、このエンドポイントでは 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'
IPのPTR名を検索し、元のアドレスへ正引きできるか確認します。
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、ASNの登録情報と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 はブラウザーのウィジェット専用です。同一オリジンのリクエストが必要で、CORS ヘッダーを返さず、公開 API には含まれません。