無料APIはJSON、トークン、通貨一覧だけを見ると似ています。違いが出るのは、値がいつ更新されるか、制限に達したとき、そしてコードが値の古さを判断するときです。
- 月間クォータと毎分の制限を、定期ジョブの前に確認します。
- 日次参照値と市場の動きを追う値は、日中の鮮度で分かれます。
source、market_session、data_updated_atでデータの種類と時刻を判断できます。- 通貨ペアに観測があれば、日次履歴は1999年から始まることがあります。
/v1/convertとMCPを使うと、周辺コードを減らせます。
順位より比較軸を見る
ランキングは、記事を書いた時点で著者が好んだサービスを示すだけです。用途ごとに比較すれば、日次の基準値だけが必要なのか、日中に価格を表示するのかを整理できます。
比較1:無料クォータとリクエスト制限
クォータは試作や小さな運用をどこまで無料で続けられるかを決めます。毎分の制限は、バッチ処理で連続して呼び出せる量を決めます。ECBの公開フィードにはAPIクォータがありませんが、XMLで営業日に1回更新されます。fawazahmed0/exchange-apiのような静的JSONプロジェクトは、サーバーAPI、鮮度メタデータ、日中更新を提供しません。exchangerate.devはIPごとの匿名試用に対応し、無料キーは月5,000回、毎分10回です。
先に呼び出し数を計算してください。ページ表示ごとに取得すると訪問数だけ呼び出します。複数通貨は可能ならsymbolsにまとめます。
比較2:日中の鮮度
ECBは営業日の約16:00 CETに公表し、liveは取引週に約60秒ごとに更新します。Freeとキーなしは15分遅延、有料プランはリアルタイムです。market_sessionで市場の状態を確認できます。
比較3:鮮度を説明するフィールド
キャッシュは応答時刻でなくdata_updated_atで判断。market_dailyはECB対象外通貨の保存済み日次市場終値です。
source:live,ecb_daily,market_dailymarket_session:インターバンク市場の状態。data_updated_at:元データが最後に更新された時刻。timestampとは別です。is_forward_filled:その日に公表値がなく、前の値を繰り越したことを示します。
比較4:履歴の深さ
Freeとキーなしは直近30日、Basicは直近1年の日次履歴です。PlusとProは1999年以降の全履歴を提供します。深い履歴はキー付きで/v1/{date}/{base}や/v1/rangeを使います。
比較5:換算エンドポイント
GET /v1/convert/USD/EUR/100は、1回の呼び出しでrate、converted、derivedを返します。POST /v1/convertでは複数の換算をまとめて処理でき、直接の建値がないクロスもサーバー側で計算します。
比較6:エージェントとMCP
AIエージェントには、呼び出し方を説明する構造化されたツール定義が必要です。exchangerate.devのMCPサーバーはhttps://api.exchangerate.dev/v1/mcpにあり、start_checkout、list_currencies、get_rate、get_usd_index、convert、get_range、search_docs等のツールを提供します。Checkoutには人の確認が必要で、RESTと同じクォータを使います。
6つの比較軸
| 比較軸 | ECB参照フィード | exchangerate.dev(無料プラン) |
|---|---|---|
| 月間クォータ | 公開フィードにAPIクォータなし | 月5,000回、毎分10回 |
| 日中の鮮度 | 次の営業日まで前日のフィックス | Freeとキーなしは15分遅延 |
| 鮮度フィールド | タイムスタンプ | source、market_session、data_updated_at |
| 履歴 | XMLの公開系列は約1999年から | 直近30日の日次履歴 |
| 換算 | 換算エンドポイントなし | /v1/convertと一括POST |
| エージェント / MCP | ネイティブMCPなし | ツール付きMCPサーバー |
用途に合うAPIを選ぶ
日次参照値だけが必要でXMLを扱えるなら、ECBの公開系列で足りるかもしれません。日中の動き、出典フィールド、履歴、換算、エージェント用ツールが必要なら、対応ペアと無料プランの制限をexchangerate.devで確認してください。
最も機能が多いAPIではなく、制限が用途に合うAPIを選びます。