exchangerate.dev是提供货币汇率的REST API。使用/v1/latest/{BASE}查询CNY兑美元的最新汇率,也可指定日期查询历史数据。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 | 日内K线 | Plus |
/v1/stream | 通过WebSocket推送实时汇率 | Plus |
/v1/currencies | 所有支持的货币 | Free |
发送首次请求
此请求查询CNY及另外两种货币兑美元的汇率。请从服务器通过Authorization: Bearer请求头发送密钥,也可在免密钥限额内直接发送同一请求。
curl "https://api.exchangerate.dev/v1/latest/USD?symbols=CNY,HKD,EUR" \ -H "Authorization: Bearer $EXCHANGERATE_API_KEY"const res = await fetch("https://api.exchangerate.dev/v1/latest/USD?symbols=CNY,HKD,EUR", { 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=CNY,HKD,EUR", 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": { "CNY": "live", "HKD": "live", "EUR": "live" }, "market_session": "open", "timestamp": "2026-10-19T13:21:58Z", "data_updated_at": "2026-10-19T13:05:59Z", "effective_at": { "CNY": "2026-10-19T13:05:59Z", "HKD": "2026-10-19T13:05:59Z", "EUR": "2026-10-19T13:05:59Z" }, "rates": { "CNY": 6.68522, "HKD": 7.8483, "EUR": 0.8907 }, "stale": { "CNY": false, "HKD": false, "EUR": false }, "derived_symbols": [], "notice": "Indicative rates, not for settlement."}比较套餐
所有套餐均支持最新汇率、货币换算和历史查询。付费套餐还提供实时汇率、更多历史数据、日内K线、流式推送和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年起 |
| 日内K线 | 否 | 否 | 是 | 是 |
| WebSocket流式推送 | 否 | 否 | 是 | 是 |
| Webhook端点 | 0 | 0 | 5 | 25 |
| MCP服务器 | 是 | 是 | 是 | 是 |
| 商业使用 | 允许,需注明来源并附链接 | 是 | 是 | 是 |
免密钥试用
数据接口无需密钥即可返回Free套餐数据,每个IP地址每分钟限10次请求,每小时限100次。超限后,API返回429,JSON响应体会说明触发了哪项限制。
接下来
在文档中查看各接口和参数,再获取免费密钥,使用自己的请求配额。