exchangerate.devは為替レートを取得できるREST APIです。/v1/latest/{BASE}でJPYの対米ドルレートを取得し、日付を指定すれば過去のレートも調べられます。Freeプランは月5,000リクエストまで。以下のリクエストはすべてキーなしで試せます。
APIが返すデータ
すべてのエンドポイントがHTTPS経由でJSONを返します。各エンドポイントの取得内容と、利用に必要なプランを表にまとめました。
| エンドポイント | 取得内容 | 利用に必要なプラン |
|---|---|---|
/v1/latest/{BASE} | 基準通貨に対する最新レート | Free |
/v1/convert/{FROM}/{TO}/{AMT} | 指定金額の通貨換算 | Free |
/v1/{YYYY-MM-DD}/{BASE} | 指定日のレート(Freeは過去30日分) | Free |
/v1/timeseries | 日中の足データ | Plus |
/v1/stream | WebSocketによるリアルタイムのレート配信 | Plus |
/v1/currencies | 対応するすべての通貨 | Free |
最初のリクエスト
このリクエストでは、JPYとほかの二つの通貨の対米ドルレートを取得します。キーはサーバーからAuthorization: Bearerヘッダーで送信してください。キーなしでも、匿名利用の上限内で同じリクエストを実行できます。
curl "https://api.exchangerate.dev/v1/latest/USD?symbols=JPY,EUR,CNY" \ -H "Authorization: Bearer $EXCHANGERATE_API_KEY"const res = await fetch("https://api.exchangerate.dev/v1/latest/USD?symbols=JPY,EUR,CNY", { headers: { Authorization: `Bearer ${process.env.EXCHANGERATE_API_KEY}` },})const data = await res.json()if (data.result !== "success") throw new Error(data.code)import os, requestsres = requests.get( "https://api.exchangerate.dev/v1/latest/USD?symbols=JPY,EUR,CNY", headers={"Authorization": f"Bearer {os.environ['EXCHANGERATE_API_KEY']}"}, timeout=10,)data = res.json()if data["result"] != "success": raise RuntimeError(data["code"])レスポンスの見方
ratesには、指定した通貨ごとにbaseに対するレートが入ります。timestampはレスポンス時刻をUTCで示し、staleは各通貨のレートが想定より古くなっていないかを示します。以下は2026年10月19日に取得した例で、現在のレートではありません。
{ "result": "success", "base": "USD", "source": "live", "sources": { "JPY": "live", "EUR": "live", "CNY": "live" }, "market_session": "open", "timestamp": "2026-10-19T13:21:58Z", "data_updated_at": "2026-10-19T13:05:59Z", "effective_at": { "JPY": "2026-10-19T13:05:59Z", "EUR": "2026-10-19T13:05:59Z", "CNY": "2026-10-19T13:05:59Z" }, "rates": { "JPY": 158.308, "EUR": 0.8907, "CNY": 6.68522 }, "stale": { "JPY": false, "EUR": false, "CNY": false }, "derived_symbols": [], "notice": "Indicative rates, not for settlement."}プランを比較
すべてのプランで最新レート、通貨換算、履歴を利用できます。有料プランでは、リアルタイムのレート、より長い履歴、日中の足データ、ストリーミング、Webhookも利用できます。詳細は料金ページをご覧ください。
| プラン | Free | Basic | Plus | Pro |
|---|---|---|---|---|
| 月額料金(米ドル) | $0 | $19 | $39 | $89 |
| 月間リクエスト数 | 5,000 | 100,000 | 300,000 | 1,000,000 |
| 毎分のリクエスト数 | 10 | 60 | 120 | 300 |
| レート | 15分遅延 | リアルタイム | リアルタイム | リアルタイム |
| 日次履歴 | 30日 | 1年 | 全履歴、1999年から | 全履歴、1999年から |
| 日中の足データ | なし | なし | あり | あり |
| WebSocketストリーミング | なし | なし | あり | あり |
| Webhookエンドポイント | 0 | 0 | 5 | 25 |
| MCPサーバー | あり | あり | あり | あり |
| 商用利用 | 可、リンク付きのクレジット表記が必要 | あり | あり | あり |
キーなしで試す
データ取得エンドポイントはキーなしでもFreeプランのデータを返します。上限はIPアドレスごとに毎分10回、毎時100回です。上限を超えると、APIは429と、該当する制限を示すJSONボディを返します。
次に進む
ドキュメントで各エンドポイントとパラメーターを確認し、無料キーを取得して自分の利用枠を使いましょう。