Frankfurter対ExchangeRate-API:無料でキー不要な2つの選択肢を比較する
どちらも登録もキーも不要で、今すぐリクエストを送れる。その先で両者は分かれる——一方は無料でオープンソースのECBデータでクォータがなく、もう一方は商用APIが自社フィードの一部を制限付きで無料開放したものである。どちらが間違っているわけでもない。用途が違うだけだ。
Frankfurterにはクォータが一切ないが、公表は1日1回、営業日のみで、欧州中央銀行から取得する。ExchangeRate-APIのオープンアクセスもキー不要で、これも1日1回更新されるが、帰属表示の要件と生データの再配布禁止が付いてくる。どの名前がより馴染みがあるかではなく、プロジェクトがそのデータで何をするかで選ぶべきである。
どちらも無料で得られるもの
どちらのサービスに対しても今すぐcurlコマンドを打てば、JSONが返ってくる。登録フォームも、キー生成のステップも、クレジットカードも不要である——この分野では珍しいほどのことであり、両者があらゆる「無料FX API」リストに載る理由でもある。
その最初のリクエストを過ぎると、両者は似ても似つかなくなる。Frankfurterは欧州中央銀行の参照レートを公表する独立したオープンソースプロジェクトである。ExchangeRate-APIは有料ティアを持つ商用プロダクトであり、open.er-api.comはそのプロダクトの無料・無認証の一部にすぎない——上位のキー付きティアを販売しているからこそ、通常より広く開放された入口である。
Frankfurter:キー不要、クォータ不要、ECB限定
FrankfurterはECB参照レートをクリーンなJSON APIでラップしている。どのティアにもAPIキーはなく、強制的なリクエストクォータもない——このプロジェクトは利用状況を計測していない。オープンソースなので、本番トラフィックを向ける前にコードを検査できる。
制約はAPIラッパーではなく、その背後にあるデータそのものにある。ECB参照レートは営業日に1回、16:00 CET前後に公表され、土曜日・日曜日はまったく公表されない——週末の日付をリクエストすると、直前の金曜日のフィックスが返ってくる。それはECB自身が公表していないからである。
ExchangeRate-API:キー不要、帰属表示文字列1つ、制限1つ
open.er-api.comのオープンアクセス・エンドポイントもキー不要である——Frankfurterと同じように、セットアップなしでそのまま呼び出せる。更新は1日1回、Frankfurterと同じ頻度だが、ECBを情報源としているわけではない。
2つの条件が付く。1つは帰属表示で、"Rates By Exchange Rate API"をexchangerate-api.comへのリンク付きで表示すること。もう1つは再配布禁止で、生フィードを再公開することはできないが、自分のアプリのためにキャッシュすることは許されている。レート制限を超えるとHTTP 429が返り、20分後に制限が解除される。帰属表示の要件がないキー付きプランもあり、月1,500リクエストを提供する。
並べて比較する
どちらをどんな用途に使うか
社内ダッシュボードには満たすべき帰属表示の掲示面がそもそもないため、ExchangeRate-APIの条件は無意味になり、どちらの情報源も同じように使える。コードを検査したいか(Frankfurter)、トラフィックが伸びたときのためにキー付きのアップグレード経路を用意しておきたいか(ExchangeRate-API)で選ぶとよい。
公開される面——通貨換算ウィジェットや商品ページ上の価格ウィジェットなど——であれば、帰属表示の行が重要になり始める。Frankfurterにはそうした義務は一切ない。目に見える帰属表示リンクが自社プロダクトにとって問題にならないなら、ExchangeRate-APIのオープンアクセスも同じように使える。
高頻度のcronジョブをどちらかに向ける前に、細かい条件を読んでおくこと。Frankfurterは強制的なクォータがないと明言しているが、それは無制限に聞こえても文書化されたSLAではない。ExchangeRate-APIは自らの上限について明確である——上限に達すれば429が返り、20分待つ必要がある。
週末は、ECB限定のソースであることを最も如実に露呈させる。5日前の代用値ではなく、レートが描画される必要のある土曜日の旅行予約フローを想像してほしい——ECBのフィックスがなければ、フランクフルトの市場が休みのどの日であっても、新しい数値は得られない。
どちらも合わない場合
どちらも設計上1日1回のスナップショットであり、請求業務、会計エクスポート、週次レポートなど、多くのFXユースケースにとってそれは適切な鮮度である。プロジェクトが1時間前に変化した値を反映するレートを必要とするなら、それは別のカテゴリの情報源であり、exchangerate.devは1つの選択肢である——主要通貨ペアでライブ更新される情報源を持つキー付きAPIである。どちらの代わりにもならない——それぞれの土俵の上では代替ではなく、日中の鮮度が実際の要件になったときの選択肢である。