CurrencyRateAPI

クイック起動ツール

詳細なドキュメントを読まずにAPIをテストしたいですか?コントロールパネルのクイック起動ツールを使えば、利用可能なすべてのエンドポイントをワンクリックで簡単に試すことができます。

下のボタンをクリックして無料で登録し、クイック起動ツールの使用を開始してください。

はじめる

Currency Rate API を使い始めるために必要な主要な用語と概念:

意味 説明
シンボル 3文字の通貨コード(例:USD、EUR)。法定通貨についてはISO 4217標準コード、暗号通貨については様々なコードをサポートしています。
基軸通貨 換算開始通貨。例えば、1 USD = X EURの場合、USDが基準通貨となります。デフォルトの基準通貨はEURです。
対象通貨 基準通貨を変換する通貨。同じ例で言えば、EURが変換先通貨となります。
暗号通貨 従来の法定通貨に加えて、当社の API は幅広い一般的な暗号通貨の為替レートを処理し、提供します。
ベースURL すべてのAPIエンドポイントで使用されるルートURL。すべてのリクエストはこのベースパスに送信されます。

APIレスポンス

CurrencyRateAPI が提供する為替レートは、デフォルトでユーロで表示されます。すべてのデータは標準のJSON形式で返され、あらゆるプログラミング言語で簡単に解析できます。

サンプル応答:
以下に、ユーロ通貨を基準とした世界の一般的な通貨の範囲と、それらを受信したタイムスタンプを含むサンプル API 応答を示します。

{
    "success": true,
    "base": "eur",
    "date": "2025-08-25",
    "rates": {
        "usd": "1.1697",
        "gbp": "0.8659",
        "cad": "1.6171"
    },
    "last_update_unix": "1769067006"
}

上記のように、リアルタイム為替レートの API 応答にはいくつかの重要なフィールドが含まれています。

  • success リクエストが成功したかどうかを示します。
  • base このリクエストに使用される基本通貨の 3 文字のコードを返します。
  • date 為替レートが提供される実際の日付を返します (形式: YYYY-MM-DD)。
  • rates 要求された通貨とその現在の為替レートのリストを保持します。
  • last_update_unix システム内の最新の利用可能なデータのタイムスタンプ (Unix 形式) を表示します。

利用可能なエンドポイント

CurrencyRateAPIには複数のAPIエンドポイントが含まれており、それぞれが特定の機能を提供します。特定のエンドポイントの利用可否は、ご契約のサブスクリプションプランによって異なります。

  • 通貨リストの終点。 このエンドポイントは、サポートされているすべての通貨の完全なリストを返します。 /api/codes (代替: /api/currencies)
  • 最新レートの終了ポイント。 このエンドポイントは、サポートされているすべての通貨のリアルタイムの為替レートデータを返します。 /api/latest
  • 履歴レートの終了ポイント。 このエンドポイントは、特定の日付の為替レートの履歴データを返します。 /api/YYYY-MM-DD (代替: /api/history?date=YYYY-MM-DD). 履歴データは 1999 年 1 月 4 日から利用可能です。

為替レート算出方法

データの正確性と一貫性を確保するため、 CurrencyRateAPI為替レートの管理と配信に厳格な方法論に従っています。

  • ミッドマーケットレート: デフォルトでは、APIはmidレートを返します。これは、市場の買値( bid )と売値( ask )の算術平均、または中央銀行の公式参照レートを表します。
  • 終業時刻(EOD)の確定: API によって提供される履歴レートは、 UTC (協定世界時) の当日の終了時点で確定されます。
  • クロスレート計算: 当社の情報源から直接入手できない通貨ペアについては、主要な世界通貨をブリッジ(ピボット)として使用して、システムが高精度のクロスレートを自動的に計算します。
  • スマートフォールバックメカニズム: 要求された日付のデータが利用できない場合(たとえば、週末や祝日の市場閉鎖のため)、システムは8 日間のスライディング ウィンドウ内で最新の有効なレートを自動的に検索します。
  • 高精度: 財務計算における四捨五入のエラーを防ぐため、為替レートは小数点以下 18 桁まで保存および処理されます。

エンドポイント

サポートされているシンボルエンドポイント

https://currencyrateapi.com/api/codes

このエンドポイントは、サポートされているすべての通貨の完全なリストを返します。エイリアス /api/currencies を使用することもできます。

サポートされているすべての通貨の判読可能なリストも、 「サポートされている通貨」ページでご覧いただけます。

基本通貨: デフォルトでは、他のエンドポイント(/latest/{YYYY-MM-DD} など)は、トラフィックを最小限に抑えるために、主要なグローバル通貨の一部のみを返します。これらの「基本」通貨は以下のとおりです。

USD, EUR, GBP, CHF, JPY, CAD, AUD, NZD, SEK, NOK, DKK, ISK, PLN, CZK, HUF, RON, HRK, RSD,
MKD, MDL, TRY, SGD, HKD, KRW, TWD, ILS, AED, SAR, QAR, KWD, BHD, OMR, ZAR

APIレスポンス:

{
    "success": true,
    "currencies": {
        "EUR": {
            "entity": "EUROPEAN UNION",
            "currency": "Euro",
            "alphabetic_code": "EUR",
            "numeric_code": 978,
            "minor_unit": 2,
            "title": "Euro",
            "symbol": "€",
            "data_from": "1999-01-04"
        },
        "BTC": {
            "entity": "CRYPTOCURRENCY",
            "currency": "Bitcoin",
            "alphabetic_code": "BTC",
            "title": "Bitcoin",
            "symbol": "₿",
            "is_crypto": true,
            "data_from": "2024-03-02"
        },
        [...]
    }
}

レスポンスオブジェクト:

説明
success リクエストが成功した場合はtrueを返します。falseの場合、レスポンスにエラーオブジェクトが含まれます。
currencies サポートされているすべての通貨と、それぞれの詳細情報を返します。
entity 通貨が使用されている国または地域、またはデジタル資産の場合は「CRYPTOCURRENCY」。
currency 通貨の完全な正式名称。
alphabetic_code 標準の 3 文字のアルファベットコード (法定通貨の場合は ISO 4217)。
numeric_code 該当する場合は ISO 4217 数値コード。
minor_unit 通貨に使用される小数点以下の桁数。
withdrawal_date 該当する場合、通貨が流通から撤回された日付。
title 通貨の短い表示タイトル。
symbol 通貨のグラフィカルシンボル(例:$、€、₿)。
is_crypto 通貨が暗号通貨である場合のフラグ ( true )。
data_from この通貨の為替レートデータが利用可能な最も早い日付。

最新レートエンドポイント

https://currencyrateapi.com/api/latest?
    base=USD&
    quote=GBP,JPY,EUR

リクエストパラメータ:

パラメータ 説明
base [オプション] 換算の基本通貨を設定するには、3文字のISO通貨コードを入力してください。デフォルトはEURです。
quote [オプション] 特定の通貨に応答を制限するには、通貨コードをコンマで区切って入力します。(代替: codes)
extended_list [オプション] 1 に設定すると、API は利用可能な通貨の完全なリストを返します。デフォルトでは、トラフィックを削減するために最小限のリストのみが返されます。
precision [オプション] 出力レートの小数点以下の桁数(0~18)を設定します。デフォルトでは、科学的記数法を使用せずに利用可能な最大精度を返します。

APIレスポンス:

{
    "success": true,
    "base": "usd",
    "date": "2026-01-22",
    "rates": {
        "gbp": "0.74350935478637",
        "jpy": "158.00358051914",
        "eur": "0.8518613169776"
    },
    "last_update_unix": "1769067006"
}

レスポンスオブジェクト:

説明
success リクエストが成功した場合はtrueを返します。falseの場合、レスポンスにエラーオブジェクトが含まれます。
base 基本通貨の 3 文字コードを返します。
date 為替レートが提供される実際の日付を返します。
rates リクエストで指定された通貨の為替レートデータを返します。
last_update_unix 返されたデータが最後に更新された日時を示す Unix タイムスタンプを返します。

履歴レートのエンドポイント

https://currencyrateapi.com/api/2025-08-25?
    base=EUR&
    quote=USD,GBP,CAD

代替フォーマット: /api/history?date=2025-08-25...

リクエストパラメータ:

パラメータ 説明
date [必須] 為替レートをリクエストする過去の日付。形式:YYYY-MM-DD。URLパス(例:/api/2025-08-25)またはクエリパラメータ(例:/api/history?date=2025-08-25)で指定できます。
base [オプション] 変換の基本通貨を設定するには、3文字の通貨コードを入力してください。デフォルトはEURです。
quote [オプション] 特定の通貨に応答を制限するには、通貨コードをコンマで区切って入力します。(代替: codes)
extended_list [オプション] 1 に設定すると、API は利用可能な通貨の完全なリストを返します。デフォルトでは、トラフィックを削減するために最小限のリストのみが返されます。
precision [オプション] 出力レートの小数点以下の桁数(0~18)を設定します。デフォルトでは、科学的記数法を使用せずに利用可能な最大精度を返します。

APIレスポンス:

{
    "success": true,
    "base": "eur",
    "date": "2025-08-25",
    "rates": {
        "usd": "1.1697",
        "gbp": "0.8659",
        "cad": "1.6171"
    },
    "last_update_unix": "1769067006"
}

レスポンスオブジェクト:

説明
success リクエストが成功した場合はtrueを返します。falseの場合、レスポンスにエラーオブジェクトが含まれます。
base 基本通貨の 3 文字コードを返します。
date 為替レートが提供される実際の日付を返します。
rates リクエストで指定された日付の通貨の為替レートデータを返します。
last_update_unix 返されたデータが最後に更新された日時を示す Unix タイムスタンプを返します。

サンプルコード

PHP(カール)

// Set API Endpoint (can be 'latest' or a date 'YYYY-MM-DD')
$endpoint = 'latest';

// Initialize CURL:
$ch = curl_init('https://currencyrateapi.com/api/'.$endpoint.'?base=USD"e=GBP,JPY');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Store the data:
$json = curl_exec($ch);
curl_close($ch);

// Decode JSON response:
$exchangeRates = json_decode($json, true);

// Access the exchange rate values, e.g. GBP:
echo $exchangeRates['rates']['GBP'];

JavaScript(フェッチ)

 // Set endpoint (can be 'latest' or a date 'YYYY-MM-DD')
const endpoint = 'latest';
const params = '?base=USD"e=GBP,JPY';

// Get exchange rates via the selected endpoint:
fetch('https://currencyrateapi.com/api/' + endpoint + params)
    .then(response => {
        return response.json();
    })
    .then(json => {

        // Exchange rate data is stored in json.rates
        console.log(json.rates.GBP);

        // Timestamp can be accessed in json.last_update_unix
        console.log(json.last_update_unix);
    })
    .catch(error => {
        console.error('Fetch error:', error);
    });