認証と制限
データエンドポイントは匿名で試せます。IPごとに毎分12リクエスト、毎時100リクエストです。キーを付けるとアカウントの月間枠が使われます。
鮮度を説明するフィールド
`source`はデータ種別、`market_session`は市場状態、`data_updated_at`はレスポンスに寄与した最も古い観測の時刻です。3つとも保存してください。
エンドポイント
イントラデイ系列と対象通貨
/v1/timeseries は1m、5m、15m、1h、4hと日次参照値1dに対応します。2hはありません。USDを含まないSGDクロスは4hの対象外ですが、USD/SGDと逆方向は対象です。市場データの収集開始日は2026-09-14です。1mは30日間保持し、それより大きい間隔には定期的な削除期限がありません。保持期間と実際に蓄積した履歴の長さは異なります。
履歴クロスは同じUTC区間にある実際の終値観測を使い、時刻差は最大5秒です。effective_atは古い方の観測時刻です。欠損は補完せず、進行中の区間は変わる場合があります。1dは全カタログの日次参照値です。表は通貨ペアを重複せず数え、両方向に対応します。
| interval | 通貨ペア数 |
|---|---|
1m | 91 |
5m | 91 |
15m | 91 |
1h | 91 |
4h | 79 |
1d | 465 |
対象期間に観測がない場合はHTTP 200でdata: []、has_more: false、next_cursor: nullを返します。不明な間隔はunsupported_interval、対象外ペアはunsupported_pair_intervalとrejected_pairsを返します(HTTP 400)。対象外を含むリクエストは全体を拒否します。
AUD, CAD, CHF, EUR, GBP, JPY, MXN, NOK, NZD, PLN, SEK, SGD, USD, ZAR
ライブWebSocket
wss://api.exchangerate.dev/v1/streamへ接続し、10秒以内にauthを送信します。APIキーはサーバーに保存し、URLや公開JavaScriptに含めないでください。匿名接続は非対応です。authenticatedの後にsubscribeを送ります。対象通貨は下記のとおりです。クロスには両方の最新観測が新鮮で、時刻差が最大5秒であることが必要です。unavailableやstaleになる場合があります。受け付けた接続ごとに月間クォータを1回消費します。
表は新規アカウントの上限です。既存アカウントはFree 1 × 5、Basic 3 × 25、Pro 10 × 100(接続数 × 接続あたりの通貨ペア数)を維持します。実際の上限はauthenticatedメッセージに表示されます。
AUD, CAD, CHF, EUR, GBP, JPY, MXN, NOK, NZD, PLN, SEK, SGD, USD, ZAR
| プラン | 同時接続数 | 接続あたりのペア数 |
|---|---|---|
| Free | 0 | 0 |
| Basic | 0 | 0 |
| Pro | 0 | 0 |
| Realtime | 10 | 100 |
エラー
REST: すべて`{ result: "error", code, message }`形式です。429には`Retry-After`が付き、取得失敗時にモック値へ切り替わることはありません。
使い慣れた環境で使う
同じリクエストを curl、Python、JavaScript で実行できます。評価に API キーは不要です。
レスポンス例
{
"result": "success",
"base": "USD",
"source": "live",
"sources": {
"EUR": "live",
"GBP": "live"
},
"market_session": "open",
"timestamp": "2026-06-15T12:00:00Z",
"data_updated_at": "2026-06-15T12:00:00Z",
"effective_at": {
"EUR": "2026-06-15T12:00:00Z",
"GBP": "2026-06-15T12:00:00Z"
},
"rates": {
"EUR": 0.86207,
"GBP": 0.74627
},
"derived_symbols": [],
"notice": "Indicative rates, not for settlement."
}rates.EUR は 1 USD あたりの EUR 額です。effective_at.EUR は観測時刻、sources.EUR はソース区分を示します。値と時刻は例です。