Comparison/代替サービス

Open Exchange Ratesの代替サービス——無料プランがUSD限定だと気づいたら

Open Exchange Ratesの無料プランは月1,000リクエストを提供するが、そのすべてがUSD建てである。変換エンドポイントも時系列も他のベース通貨もなく、月12ドル以上を払うまで使えない。それが実際どれだけのコストになるか、そして他に見るべき4つの場所を紹介する。

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

USDベースの無料プランからでも、EUR/GBPなど任意のクロスレートは構築できる。USDレートを取得し、一方をもう一方で割れば、クロスレートが得られる。それで動く。ただしそれは、追跡すべきリクエストフィールドが1つ増え、コードに除算が1つ増え、小数第3位あたりに小さな複利誤差が生じることも意味する——ほとんどの請求業務では気づかれないが、一部の照合業務では気づかれる。

Key points
Open Exchange Ratesの無料プラン:月1,000リクエスト、USDベースのみ、変換エンドポイントなし、時系列なし。
USDベースからのクロスレートは手計算で求められる——2つのUSD建てレートを割るだけだが、ネイティブなベース切り替えには月12ドルからの有料プランが必要である。
Frankfurterはキー不要・クォータ不要で無料だが、ECB限定——1日1回のフィックスで週末はない。
ExchangeRate-APIのオープンアクセスもキー不要だが、更新は1日1回で、目に見える帰属表示が必要である。
Fixerの無料プランはEUR限定で月100コールが上限であり、両軸でOpen Exchange Ratesより厳しい。
上記の上限は2026年8月時点で確認したものであり、ベンダーはあまり告知なくそれを変更する——ここにある数値をもとに構築する前に確認すること。

無料プランが止まる場所

Open Exchange Ratesは無料アカウントに月1,000リクエストを提供し、1時間ごとのレート更新と日次履歴データが含まれる。落とし穴は、すべてのレスポンスがUSD建てで返ってくることであり、無料プランでそれを変える方法はない。base=EURを指定しても、エンドポイントによっては無視されるかエラーになる。

無料プランは/convertと時系列コールも完全に除外している。どちらも月12ドルからの有料プランに限定されており、有料化すればbaseパラメータが完全に解放されるほか、追加料金なしで任意の数のベース通貨に対する変換・時系列も使えるようになる。

USDベースの回避策を正直に見る

無料プランに留まったままEUR/GBPのレートが必要なら、まだ支払う必要はない。レスポンス内のすべての通貨はUSD建てで建値されているため、EUR/GBPは単にrates.GBP / rates.EURである——本来APIがやってくれるはずの除算を、自分で行うだけである。

python · deriving a cross rate from a USD-base free responsecopy
import requests

resp = requests.get(
    "https://openexchangerates.org/api/latest.json",
    params={"app_id": "YOUR_FREE_APP_ID"},
).json()

usd_rates = resp["rates"]

# EUR/GBP is not in the response directly — derive it
eur_gbp = usd_rates["GBP"] / usd_rates["EUR"]
print(eur_gbp)

見込んでおくべきことは2つある。コード面では、USD以外のすべてのペアに除算ステップと、値が欠落・ゼロの場合のガードが必要になる。丸め誤差の面では、すでに丸められた2つのUSD建てレートを割ることで、そのベースに対して直接取得したレートに比べて小さな複利誤差が生じる——ダッシュボードでは気づかれないが、小数第4位まで数値を確認する照合業務では気づかれる。

回避しきれないもの
時系列と/convertには、ベース通貨のようなきれいな自作の代替がない。時系列は、履歴エンドポイントを1日ごとにループ呼び出しすることを意味し、月1,000リクエストの予算を早く食いつぶす——ベース通貨の壁より手ごわい壁である。

代わりに見るべき4つの場所

Frankfurter——無料、オープンソース、キー不要、ECB限定

Frankfurterは欧州中央銀行の参照レートをJSON APIでラップしている。APIキーは一切不要で、強制的なクォータもなく、オープンソースである。トレードオフはデータそのものにある——ECBレートは営業日に1回、16:00 CET前後に公表され、週末のデータはまったくない。1日1回、営業日のみのフィックスで用途を満たせるなら、Frankfurterは費用ゼロで登録も不要である。

ExchangeRate-APIのオープンアクセス——無料、キー不要、1日更新

ExchangeRate-APIはopen.er-api.comで正真正銘のキー不要エンドポイントを運用している。登録もAPIキーも不要である。更新は1日1回、Frankfurterと同じ鮮度区分である。2つの条件が付く——目に見える帰属表示("Rates By Exchange Rate API"をexchangerate-api.comへのリンク付きで表示すること)と、生データの再配布禁止(キャッシュは問題ない)。上限を超えるとHTTP 429が返り、20分後に解除される。オープンアクセスの上にキー付きの無料ティアもあり、月1,500リクエストを提供する。

Fixer——無料、キー必須、EUR限定、月100コール

Fixerは無料プランでもキーが必要であり、そのプランはEUR建てのみである——それ以外のすべてのベース通貨と変換機能はBasicティア以上に限定されている。クォータは月100コールで、Open Exchange Ratesより桁違いに厳しい。無料プランには1時間ごとの更新、SSL、完全な履歴データが含まれる。

exchangerate.dev——無料、キー付き、任意ベース、日中更新

ここの無料プランは、クレジットカード不要で465通貨ペアを月10,000コール、毎分12リクエストで運用する。どのプランにもベース通貨の制限はなく——EURベースとUSDベースは同じくコストゼロで——1999年までさかのぼる完全な日次履歴も無料で含まれる。主要通貨ペアは取引日を通じておよそ60秒ごとに更新され、残りはECBまたはFREDの日次参照レートに支えられる。匿名でキー不要の呼び出しも、簡単な評価用にIPごとの上限付きで利用できる。

bash · a keyless evaluation callcopy
curl "https://api.exchangerate.dev/v1/latest/EUR?symbols=USD,GBP,JPY"

# {
#   "base": "EUR",
#   "rates": { "USD": 1.0821, "GBP": 0.8547, "JPY": 162.4 },
#   "source": "live",
#   "market_session": "open",
#   "timestamp": "...",
#   "data_updated_at": "...",
#   "notice": "..."
# }
プラン無料クォータ無料プランのベース通貨
Open Exchange Rates月1,000リクエストUSDのみ——クロスレートは自分で導出する必要がある
Frankfurter強制的なクォータなし任意のベース、ECBの日次データのみ、週末データなし
exchangerate.dev月10,000コール、465通貨ペアどのプランでも任意のベース、制限なし

用途にプランを合わせる

月曜から金曜の終値レートだけを必要とするバッチジョブには、無料で登録不要の選択肢が3つある——Frankfurter、ExchangeRate-APIのオープンアクセス、そして上記のUSD回避策である。土曜日のレートが必要なプロジェクトや、baseパラメータがそのまま動く必要があるプロジェクトは、ECB限定の情報源の先を見る必要がある。取引時間中のライブ価格を提示するには、日中更新される情報源が必要である。

USDベースの回避策は、永遠に迂回し続けなければならないバグではない——今日すぐに出荷でき、丸め誤差が実際に問題になったときに見直せばよい除算にすぎない。

ER
exchangerate.dev
FXデータプロバイダーを選ぶ開発者向けの比較ガイド。

Keep reading

GuideFrankfurterから移行する場合の対応表Read Comparison2026年版:無料為替レートAPIの比較方法Read ComparisonOpen Exchange Rates vs exchangerate.devRead DocsAPIリファレンス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