IP Checker Logo

APIと開発者向けドキュメント

軽量で予測しやすいJSON APIです。すべてのエンドポイントは、サーバー側の抽象化レイヤーを介してプロキシ処理され、レスポンスの正規化、軽量キャッシュ、およびエラー処理を行います。

エンドポイント

GET /api/my-ip

サーバーから検出された、呼び出し元のパブリックIPアドレスの位置情報およびネットワークデータを返します。

curl https://ipcheck.mubarokah.com/api/my-ip

GET /api/lookup?q=<ip|domain>

任意のIPv4、IPv6、またはドメインを検索します。プロトコル(http/https)やパスを含む入力は拒否されます。

curl "https://ipcheck.mubarokah.com/api/lookup?q=8.8.8.8"

POST /api/bulk

一括検索(1リクエストにつき最大50件)。同時実行数はサーバー側で制限されます。

curl -X POST -H 'content-type: application/json' \
  -d '{"queries":["8.8.8.8","1.1.1.1","example.com"]}' \
  https://ipcheck.mubarokah.com/api/bulk

レスポンスの構造

{
  "ok": true,
  "query": "8.8.8.8",
  "ip": "8.8.8.8",
  "ipVersion": "IPv4",
  "location": {
    "continent": "North America",
    "country": "United States",
    "countryCode": "US",
    "regionName": "Virginia",
    "city": "Ashburn",
    "zip": "20149",
    "lat": 39.0438,
    "lon": -77.4874,
    "timezone": "America/New_York",
    "utcOffsetSeconds": -14400,
    "currency": "USD"
  },
  "network": {
    "isp": "Google LLC",
    "org": "Google Public DNS",
    "as": "AS15169 Google LLC",
    "asname": "GOOGLE",
    "reverse": "dns.google"
  },
  "flags": { "mobile": false, "proxy": false, "hosting": true }
}

エラーコード

回数制限とキャッシュ

検索結果はクエリごとに10分間サーバー側にキャッシュされます。外部プロバイダーの無料枠は回数制限があり、非商用利用を想定しています。本番環境のトラフィックには、以下に記載されている環境変数を介して商用プロバイダーを設定することを強く推奨します。

プロバイダーの抽象化

サーバー上に以下の環境変数を設定します。シークレットキーがブラウザに公開されることはありません。

IP_PROVIDER=ip-api            # or ip-api-pro
IP_API_KEY=...                # required for pro
IP_API_BASE=http://ip-api.com

注意事項