Comparison/比較

Fixerの月100コール上限に達したら——残りの選択肢はこれだ

Fixerの無料プランは月100コールで、ベース通貨はEURに固定され、有料化するまで変換エンドポイントも使えない。どれも小さな文字で隠されているわけではないが、「無料プラン」という見出しだけを読んだ人には意外に映る。ここでは他にどんな選択肢があるかを紹介する。

ERexchangerate.dev·Aug 1, 2026·7分で読了

Fixerの無料プランで開発者を捕まえるものは2つある。1つはコール予算が月100コールという速さで尽きること、もう1つはすべてのレートがEUR基準で返ってくることだ——「任意のベース通貨」はBASIC以上の有料ティアでしか解放されない。それまでは/convertエンドポイントも存在せず、USDからIDRへの変換にはEURベースのレートを取得して自分で算術する必要がある。以下では、Fixerに代わるものは何か、そしてそれぞれが代わりに何を要求するのかを率直に見ていく。

Key points
Fixerの無料プラン:月100コール、EURベースのみ、BASICティアまで変換エンドポイントなし。
Frankfurterはコール上限もキーもないが、1日1回のECBレートのみ——ECBレートはすべての建値通貨に対して公表されるため、ベース制限もない。
ExchangeRate-APIのオープンアクセス・エンドポイントもキー不要で1日1回、帰属表示が必須である。
Open Exchange Ratesは月1,000コールを無料で提供し、Fixerの100からは改善しているが、その無料プラン自体はUSDに固定されている。
exchangerate.hostは現在APILayerのキーの背後にあり、無料は月100リクエスト——Fixerと同じ上限であり、ある壁を別の月100コールの壁に置き換えないよう注意すべきである。
以下の上限はすべて2026年8月時点で確認したものであり、プロバイダーは告知なく無料プランを改定するため、それを前提に構築する前に現在の数値を確認すること。

Fixer無料プランの2つの壁

月100コールは1日約3コールに相当する——一度のテストには十分だが、たとえ1つの通貨ペアを毎日確認するだけの実運用アプリには足りない。このコール上限が、多くの人が最初にぶつかる壁である。

2つ目の壁は、無料プランがすべてをEUR基準で返す点である。EUR以外のベースと/convertはどちらもBASICティアが必要なため、USDからIDRへの変換は、両通貨のEURレートを取得して割り算する必要がある。

これをもとに構築する前に確認を
この分野の無料プラン条件はしばしば変わる。ここに示した数値はすべて2026年8月にプロバイダー自身の料金ページまたはドキュメントページから読み取ったものである——特定のクォータを前提にコードを書く前に現在のページを確認すること。

月100コール・EUR限定プランの代わりになるもの

適切な代替は、どちらの壁がより問題だったかによって決まる。両方を無料で解決するプロバイダーは少ない。

プロバイダー無料プランベース通貨
Fixer(参考)月100コールEURのみ、任意ベースはBASICティアが必要
Frankfurter上限なし、キー不要任意の通貨——ECBレートは幅広く建値され、1つのベースに固定されない
ExchangeRate-API(オープンアクセス)キー不要、1日1回、帰属表示必須任意の通貨
Open Exchange Rates月1,000リクエスト無料プランはUSDのみ
exchangerate.host(APILayer)月100リクエスト、キー必須任意の通貨だがFixerと同じ月100の上限

Frankfurter:上限なし、キー不要、1日1回

コール上限がFixerから離れる理由で、1日1回のレートで問題なければ、Frankfurterは上限をまるごと取り除く。オープンソースでAPIキーは不要であり、mcp.frankfurter.devで自社のMCPサーバーも提供している。営業日の16:00 CET前後に公表されるECB参照レートをラップしており、週末の公表はない——土曜日は金曜日の終値を返す。1日1回の公式レートだけが必要なレポートや夜間ジョブにとって、これはFixerの2つのギャップを同時に埋めてくれる。

ExchangeRate-API:これもキー不要、ただし帰属表示の条件あり

ExchangeRate-APIのopen.er-api.comにあるオープンアクセス・エンドポイントは登録不要で、Frankfurterと同様に1日1回更新される。条件は異なり、"Rates By Exchange Rate API"をリンク付きで表示し、生レスポンスを再配布してはならない。上限を超えると429が返り、20分でクリアされる。キー付きのティアも存在し、月1,500リクエストである。

Open Exchange Rates:コール数は10倍、ベースは1つのまま

Open Exchange Ratesは上限を月1,000リクエストの無料に引き上げており、Fixerの100からは実質的な前進である。しかし無料プランはEURではなくUSDに固定されており、時系列と変換リクエストも除外される。有料プランは月12ドルから始まり、ベース制限を完全に取り除く。

exchangerate.host:同じ月100の上限が、今はキーの背後に

同じ壁を別の同一の壁に置き換えないために、名前を挙げておく価値がある。exchangerate.hostは現在APILayerのキーの背後で稼働しており、無料プランは月100リクエストに制限されている——Fixerが与える数字とまったく同じである。Fixerからexchangerate.hostに移動するとEURベース問題は解決するが、コール数問題は解決しない。

exchangerate.devが収まる場所

exchangerate.devの無料プランは、登録にカード不要で月10,000コール、毎分12リクエストを提供する——Fixerの上限の100倍である。どのプランにもベース通貨の制限はなく——カタログ内の465通貨ペアのいずれも、どちらの側からでも問い合わせできる。1999年までさかのぼる日次履歴はすべてのプランで無料であり、アップグレードの背後に隠されていない。

主要通貨ペアは取引週を通じておよそ60秒ごとに更新され、残りはECBとFREDの参照データが支える。各レスポンスにはsourcemarket_sessionnoticeフィールドが含まれるため、コードはライブレートと日次フィックスを直接区別できる。/v1/convertエンドポイントは無料で提供され、FixerがBASICまで残すギャップを埋める。

curl · exchangerate.dev conversion, USD to IDRcopy
curl "https://api.exchangerate.dev/v1/convert/USD/IDR/250" \
  -H "Authorization: Bearer exr_live_..."

# {
#   "from": "USD",
#   "to": "IDR",
#   "amount": 250,
#   "rate": 16412.3,
#   "converted": 4103075,
#   "derived": false,
#   "source": "live",
#   "market_session": "open",
#   "data_updated_at": "2026-08-01T09:13:58Z",
#   "notice": "Indicative rates for reference and analytics; not a dealing quote."
# }

EURを介した中間ステップも、クライアント側の乗算も不要である。derived: falseは、そのペアが第三の通貨を介して三角測量されるのではなく、直接建値されていることを意味する。

実際の移行に関する注意点

プロバイダーの切り替えは1行の変更で済むことは滅多にない。レスポンスのフィールド名は異なる——ratesを返すものもあれば、同じ数値をquotesconversion_ratesの下にネストするものもある——ため、固定したキーのパスがエラーではなく静かに失敗することがある。

再試行ロジックは、コール上限が低いほど重要になる。1回のタイムアウト後にスロットルなしの再試行ループで月100や1,000の予算を使い果たすのは、月の10日目までにクォータを使い切るありがちな原因である。レスポンスをキャッシュし、リセット期間は厳格な制約として扱うこと。

壁に合わせて修正を選ぶ

コール数が問題であれば、Frankfurterかexchangerate-APIのオープンエンドポイントが無料で上限を取り除く。EURベースが問題であれば、Open Exchange Ratesが月1,000コールでそのギャップを解決する。両方の壁が問題であれば、その組み合わせこそがexchangerate.devを含むキー付きの代替が対象とするものである。

インディケーティブレートのみ
exchangerate.devを含め、ここに挙げたすべてのプロバイダーは、参照と分析向けのレートを公表している。ディーリングクオートは一つもなく、どれも取引の決済に使うべきではない。
ER
exchangerate.dev
プロジェクトに合わなくなった無料プランから移行する開発者向けのメモ。

Keep reading

GuideFrankfurterから移行する場合の対応表Read Comparison2026年版:無料為替レートAPIの比較方法Read CompareFixer vs exchangerate.devRead PricingプランとクォータRead
他の比較Fixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.dev
学ぶReading source and market_session in your pipelineIndicative vs executable FX rates: what a rates API actually gives youECB reference rates, explained
ライブレートEUR/USDGBP/USDUSD/JPY