ip-api.comの互換ホスト

ip-apiのJSONエンドポイントは、最も広く模倣されているIP検索の形式の1つです。ipapi.mygeocode.comはIPv4とIPv6のアドレスに同じフィールド名を返し、ip-apiでは提供されていない無料キーでのHTTPSにも対応しています。

ホスト名を1つ変えるだけ

元のホスト
  • ip-api.com
  • pro.ip-api.com
代わりに使うホストipapi.mygeocode.com
キーのパラメーターkey(任意:どのアドレスでもキーなしで1日あたり2,500件のリクエストが使えます。クレジット、パッケージ、利用履歴を使うにはここにMy Geocodeのキーを入れてください)
変更前
curl "http://ip-api.com/json/8.8.8.8?fields=status,country,countryCode,city,lat,lon,timezone,isp,query"
変更後
curl "https://ipapi.mygeocode.com/json/8.8.8.8?fields=status,country,countryCode,city,lat,lon,timezone,isp,query"

移行する理由

ip-apiの無料エンドポイントはHTTPのみ、非商用限定で、1分あたり45リクエストに制限されています。こちらはHTTPSで、商用利用も問題なく、キーの有無にかかわらず、どのアドレスでも料金が発生するまで1日あたり2,500件使えます。

キーの有無にかかわらず、無料枠は同じです。ipapi.mygeocode.comへのリクエストは、お使いのアドレスまたはキーが当社独自のエンドポイントで得ている1日あたり2,500件の無料リクエストと同じ枠から差し引かれます。それを超える分は、プリペイドクレジットで1リクエストあたり€0.0001、またはUnlimitedキーで月額€50です。登録に必要なのはメールアドレスだけです。

料金を見る 無料のキーを取得

エンドポイント

ipapi.mygeocode.comのパス機能バックエンド
/json/{ip}アドレスによる検索(IPv4またはIPv6)IPv4検索
/json/呼び出し元を検索IPv4検索
/batch (POST, JSON array)一括検索(最大100件)IPv4検索

レスポンスの例

上記のリクエストはこれを返します。フィールド名、入れ子構造、型はip-apiに準拠しています。その中身のデータだけが当社のものです。

ipapi.mygeocode.comからのレスポンス
{
  "status": "success",
  "country": "United States",
  "countryCode": "US",
  "region": "CA",
  "regionName": "California",
  "city": "Mountain View",
  "zip": "94043",
  "lat": 37.4056,
  "lon": -122.0775,
  "timezone": "America/Los_Angeles",
  "isp": "Google LLC",
  "org": "Google Public DNS",
  "as": "AS15169 Google LLC",
  "query": "8.8.8.8"
}

詳細と相違点

1日あたり最初の2,500件のリクエストにはキーは不要です。My Geocodeのキーを使う場合は、ip-api.comのキーがあった場所、つまりkeyクエリパラメーターに入れてください。X-API-Keyヘッダー、Authorization: Bearer、HTTP Basic認証(キーをユーザー名として使用)もすべてのホストで使えるため、独自の方法で認証するクライアントライブラリも変更なしで動作し続けます。

回答にはip-api.comが返すフィールドだけが含まれるため、すでにip-api.comを解析しているコードにレスポンスをそのまま渡せます。当社の追加データ(地表の標高、脅威情報、ネットワークの詳細)はリクエストに応じて利用できます:クエリにmg_extras=1を追加するか、X-MG-Extras: 1を送信してください。

  • 既定の回答は、ip-api独自のフィールドセットをその順序で返します。fieldsには名前または数値のビットマスクを指定でき、langは国名と大陸名をde、es、pt-BR、fr、ja、zh-CN、ruに翻訳します。
  • jsonxmlcsvlineのすべての形式が使えます。
  • 不正なアドレスには、ip-apiと同様にHTTP 200とstatus: failで応答します。ステータスコードが変わるのは、キーと割り当てによる拒否の場合だけです。
  • 一括エンドポイントは、ip-apiと同様にエントリごとのfieldslang付きで最大100件のエントリを受け付けます。その中の各アドレスが1リクエストとして数えられます。
  • reverseを指定すると、そのアドレスのホスト名が解決されます。
  • 地域名は、米国、カナダ、オーストラリアでは短いコードで返ります。それ以外の地域では、データセットに正式名称しかありません。

お使いのクライアントがここに記載されていないフィールドや動作に依存している場合は、お知らせください。互換性の差異はたいてい小さいため、すぐに修正されます。

その他の互換ホスト

互換ホストの仕組み概要JavaScriptライブラリの互換対応