CurrencyRateAPI
快速启动工具
想测试 API 而又不想查阅完整的文档?前往控制面板,您会找到快速启动工具——只需单击一下即可轻松尝试所有可用的端点。
点击下方按钮即可免费注册并开始使用快速启动工具。
入门
使用货币汇率 API 时,您需要了解以下关键术语和概念:
| 定义 | 描述 |
|---|---|
| 象征 | 三字母货币代码(例如,USD、EUR)。我们支持法定货币的ISO 4217标准代码以及各种加密货币代码。 |
| 基础货币 | 转换所用的基准货币。例如,如果 1 美元 = X 欧元,则美元为基础货币。默认基准货币为欧元。 |
| 目标货币 | 基础货币转换成的目标货币。以上述例子为例,欧元是目标货币。 |
| 加密货币 | 除了传统的法定货币外,我们的 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 | 货币使用的国家或地区,或者“加密货币”用于数字资产。 |
| 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 | [选修的] 输入一个三字母的 ISO 货币代码以设置转换的基础货币。默认值为欧元。 |
| 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 | [选修的] 输入一个三字母货币代码以设置转换的基础货币。默认值为欧元。 |
| 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(cURL)
// 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(fetch)
// 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);
});