2つの正直な答え、短い方から。APIを試すだけならキーは不要だ:/v1/latest、/v1/convert、/v1/range、/v1/{date}のすべてのデータエンドポイントは、IPごとに毎分10リクエスト・毎時100リクエストで匿名リクエストに応答する。スケジュール実行するものや他者に配布するものには、exchangerate.dev/signupで登録し、メールを確認し、ダッシュボードからexr_live_で始まるキーをコピーする。無料枠:月5,000コール、毎分10リクエスト、日次履歴は直近30日、カード不要。
- 試すだけならキーは不要、すべてのデータ読み取りはIPごとに毎分10リクエスト、毎時100リクエストで匿名応答する。
- 無料キーは/signupで作成する、メール確認のみ、カード不要,
exr_live_...のような形をしている。 - 無料枠:月5,000コール、毎分10リクエスト、日次履歴は直近30日、ライブレートは15分遅れで届く。
- キーは
Authorization: Bearer exr_live_...として送る。コネクタがAuthorizationヘッダーを設定できない場合はX-API-Keyを使う。 - キーをURLや公開のブラウザバンドルに置いてはならない、ヘッダーのみで、フロントエンド用にはサーバー側でプロキシする。
キー不要の道:まずAPIを試す
何かを作る前に、APIを呼び出して実際のペイロードを見てみる。これはどのターミナルからも登録なしで動く:
# No key, no signup, works at 10 req/min, 100 req/hour per IPcurl -s https://api.exchangerate.dev/v1/latest/USD# A single pair, convertedcurl -s https://api.exchangerate.dev/v1/convert/USD/JPY/250すべてのレスポンスにsourceとmarket_sessionが含まれるため、何か決める前に、そのレートがライブ市場レートなのかECBの日次フィックスなのかを確認できる。同じ呼び出しをブラウザで実行し、そこでJSONを読むこともできる。
単発のスクリプト、授業の演習、手動でのレート確認は毎時100リクエストの範囲に収まる。それが自分のユースケースのすべてなら、それで完了だ、キーも、保管・ローテーションするものも何もない。
無料キーを取得する
- exchangerate.dev/signupを開き、メールアドレスで登録する。クレジットカードの手順はない。
- メールを確認する。ダッシュボードが開き、すでにAPIキーが発行されている。
- キーをコピーする、
exr_live_で始まる。この接頭辞で、後で設定の中でもそれと分かる。
無料枠は月5,000コール、毎分10リクエストで、日次履歴は直近30日と、15分遅れで届くライブレートも含む。有料プランは同じフィードをリアルタイムで受け取り、無料プランとキーなしの呼び出しは15分遅れで受け取る。
キーの使い方:ヘッダーのみ、URLには入れない
キーはヘッダーで渡す。Authorization: Bearerが基本形で、X-API-KeyはAuthorizationヘッダーを設定できないコネクタ(一部のBIツールやノーコードプラットフォーム)向けに存在する:
# Primary formcurl -s https://api.exchangerate.dev/v1/latest/USD \ -H "Authorization: Bearer exr_live_your_key_here"# Fallback for connectors without Authorization supportcurl -s https://api.exchangerate.dev/v1/latest/USD \ -H "X-API-Key: exr_live_your_key_here"キーはクエリ文字列に入れず、クライアント側のJavaScriptバンドルにも、バージョン管理にも入れない。アプリケーションコードでは環境変数から読み込み、公開フロントエンドでは小さなサーバー側プロキシを経由させ、キーがブラウザに届かないようにする。
実際にはどちらの道が必要か
| 状況 | 匿名 | 無料キー |
|---|---|---|
| APIを試す、単発の確認 | 可,IPごとに毎分10リクエスト | これも動くが必須ではない |
| cronジョブやスケジュール更新 | 不安定,IPごとの上限を共有する | 可、自分専用の月5,000コールのクォータ |
| 他者が更新するワークブックやシート | 不可,相手のIP・相手の上限になる | 可、クォータはキーに紐づく |
| 販売・配布するプロダクト | 可 | 可、出典リンク付き(/pricing) |
匿名でもキー付きでも、フィードは同じだ、モデル、分析、表示向けのインディケーティブなミッドマーケットデータであり、ディーリングクォートではない。すべてのレスポンスがこれをnoticeフィールドで繰り返している。