ipinfo.ioの互換ホスト

loc文字列と、AS番号を先頭に付けたorg文字列を持つipinfoのコンパクトなJSONを、ipinfo.mygeocode.comで再現しています。ipinfoの公式クライアントライブラリはカスタムのベースURLを受け付けるため、それらもそのまま動作します。

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

元のホスト
  • ipinfo.io
代わりに使うホストipinfo.mygeocode.com
キーのパラメーターtoken(任意:どのアドレスでもキーなしで1日あたり2,500件のリクエストが使えます。クレジット、パッケージ、利用履歴を使うにはここにMy Geocodeのキーを入れてください)
変更前
curl "https://ipinfo.io/8.8.8.8/json?token=YOUR_IPINFO_TOKEN"
変更後
curl "https://ipinfo.mygeocode.com/8.8.8.8/json?token=YOUR_MYGEOCODE_KEY"

移行する理由

ipinfoの無料枠は月50,000件で、一部のフィールドにはジオロケーションの詳細がありません。こちらではどのキーでも1日あたり2,500件をすべてのフィールド付きで使え、有料利用はリクエスト単位または定額です。

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

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

エンドポイント

ipinfo.mygeocode.comのパス機能バックエンド
/{ip}/jsonアドレスによる検索IPv4検索
/{ip}アドレスによる検索(同じレスポンス)IPv4検索
/json呼び出し元を検索IPv4検索
/{ip}/{field}単一フィールド、プレーンテキスト(city、country、loc、org、timezone)IPv4検索

レスポンスの例

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

ipinfo.mygeocode.comからのレスポンス
{
  "ip": "8.8.8.8",
  "hostname": "dns.google",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.4056,-122.0775",
  "org": "AS15169 Google LLC",
  "postal": "94043",
  "timezone": "America/Los_Angeles"
}

詳細と相違点

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

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

  • hostnameは逆引きDNSで取得され、アドレスにPTRレコードがない場合は、ipinfoとまったく同じように省略されます。
  • アドレスがエニーキャストの場合はanycastが表示され、予約済みの範囲にはbogonで応答します。
  • 無効なアドレスには、ipinfoの「Wrong ip」本文とともに404で応答します。
  • ここではすべてのリクエストが認証済みのため、readmeフィールドは表示されません。
  • 単一フィールドのエンドポイント(/8.8.8.8/cityなど)はプレーンテキストを返します。
  • POST /batchはipinfoと同じように動作します:最大1,000件のアドレス、address/field形式のパス、または完全なURLのJSON配列を送ると、各エントリをキーとするオブジェクトが返り、filter=1で空のものが除かれます。ipinfoの数え方と同じく、各エントリが1件の検索として数えられます。その日の残りの割り当てを超える一括処理は、一部だけ応答するのではなく、ipinfoの429で全体が拒否されます。

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

その他の互換ホスト

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