割り当て、クレジット、制限
どのキーにも1日の無料枠があります。それを超えると、リクエストはプリペイドクレジットから支払われるか、Unlimitedパッケージでまかなわれます。どのレスポンスもヘッダーで現在の状況を知らせます。
1日の割り当て
| キー | UTCの1日あたりの無料分 | 無料枠を超えた後 | IPスロット |
|---|---|---|---|
| キーなし | アドレスごとに2,500件 | なし。リセットまでRetry-After付きの429 quota_exceeded | なし |
| 従量課金 | 2,500 | アカウントのクレジットから1リクエストあたり€0.0001。残高がなくなると402 no_credits | 連続する24時間あたり2 |
| Unlimited | すべて | なし | 連続する24時間あたり3 |
キー付きの割り当てはアカウントごとではなくキーごとです。キーが3つあれば、無料リクエストは2,500件の3倍になります。キーなしの割り当てはアドレスごとで、同じネットワーク内のアドレスはそれを共有します。ネットワークとそこから使われるキーは1つの割り当てを消費します。キーなしのリクエストは、同じネットワークから使われるキーがその日に利用できる分を減らし、その逆も同様なので、1つの場所から無料の2,500件を二重に得ることはできません。クレジットはアカウントごとで、割り当てを超えたキーがどれであっても、そこから支払われます。1日はUTCの暦日です。X-Quota-Resetには次のリセットの正確なUnix時刻が含まれます。
リクエストとして数えられるもの
- どのエンドポイントへの呼び出しでも、成功したもの(
200)は、何かが見つかったかどうかにかかわらず1件として数えられます。 - 一括呼び出しでは、各項目が1件のリクエストとして数えられます。IP一括検索の各アドレス、複数地点の標高やタイムゾーンの呼び出しの各地点、互換ホストの一括エンドポイントの各エントリです。元のプロバイダーも同じ方法で数えています。割り当ての残りを超える一括処理は、一部だけ応答するのではなく、処理を始める前にプロバイダー独自の上限エラーで全体が拒否されます。各ホストは、元のプロバイダーと同じ数の項目を1回の呼び出しで受け付けます(ip-apiとMapQuestは100、ipstackは50、Googleの標高は512、ipinfo、Mapbox、Geoapifyは1,000、BingとOpen-Elevationは1,024、GeocodioとTomTomの非同期一括処理は10,000、ネイティブのエンドポイントでは100)。保存された非同期処理の結果の取得は数えられません。
400、401、402、403、404で拒否された呼び出しは数えられず、料金もかかりません。500または503で失敗した呼び出しは数えられず、料金もかかりません。- JavaScript互換ライブラリによる地図タイル、スタイルJSON、ライブラリの読み込みは数えられません。
IPスロット
1つのキーは同時に2つのIPアドレスから使えます(Unlimitedキーは3つ)。各アドレスは最初のリクエストから24時間スロットを保持し、その後解放します。すべてのスロットが占有されているときに別のアドレスからリクエストがあると、次のスロットが解放される時刻とともに403 key_ip_limitが返ります。詳細と例は認証のページにあります。
バースト
現在、キーの有無にかかわらず、1秒あたりのリクエスト数に固定の上限はありません。暴走したループや攻撃のように見える通信は速度を落とされることがあり、あなたのキーでそのようなことが起きた場合はお知らせします。大量の処理を行う場合は、何千回もの個別の呼び出しではなく一括形式(ips、locations)を使ってください。
ヘッダーの読み方
x-quota-limit: 2500 # free per day for this key; -1 on an Unlimited key
x-quota-used: 2431 # counted today on this key, including this request
x-quota-free-remaining: 69 # free requests left today on this key
x-credits-remaining: 148200 # requests the account's credit still covers
x-key-ips-used: 1 # IP slots currently held on this key
x-key-ips-limit: 2 # slots on this key
x-quota-reset: 1789948800 # Unix time of the next 00:00 UTC
x-request-id: 2726386e38428697402と403への対処
{ "status": "error", "error": { "code": "no_credits", "message": "The free allowance of 2500 requests for today is used and the account balance (€0.0000, 0 requests) does not cover this request. Add credit at https://www.mygeocode.com/dashboard or wait for the reset at 00:00 UTC." } }ループで再試行しないでください。クレジットが追加されるか日付がリセットされるまで、応答は同じです。X-Quota-Resetを読み、待つか、処理を失敗としてユーザーに伝えるか、チャージしてください。クレジットが少なくなると、ダッシュボードからメールでお知らせします。
{ "status": "error", "error": { "code": "key_ip_limit", "message": "This key is already in use from 2 IP addresses in the last 24 hours (limit 2). The next slot frees at 2026-09-21 23:06 UTC. Use another key or an additional Unlimited package for more addresses." } }これは、キーの現在のスロット保持者ではないマシンがキーを使おうとしたことを意味します。通常は新しいサーバーか、新しいアドレスでの再デプロイです。そのマシン専用のキーを用意してください。
リクエストを減らす
結果は無期限にキャッシュしてかまいませんので、ぜひそうしてください。住所は移動しません。明日同じジオコーディングをしても同じ答えです。IPブロックの変化はゆっくりなので、1日が安全なキャッシュ時間です。ある地点のタイムゾーンのルールはめったに変わらず、IANA名は事実上変わりません。オートコンプリートでは、入力を約150ミリ秒でデバウンスし、ユーザーが候補を選んだら送信をやめてください。