
面向跨境电商、旅行记账、金融学习与个人项目的汇率数据接入参考 · 2026-08-13 整理
做跨境结算、旅行记账或金融分析时,一个能稳定返回汇率的接口几乎是标配。社区里流传着不少「免费汇率 API」,但服务商策略经常变动——有的悄悄加了 Key,有的直接停服。本文梳理了官方自营方案与社区常见开源接口,并对文中列出的接口做了真实请求验证,剔除失效与不可达项,只保留当前可连通的方案,供你按需选择。
一、免费接口清单

以下为本次实测可连通、且免费(或含免费额度)的接口,一句话概览:
- 万维易源 外汇数据查询:官方自营,覆盖热门外汇列表 / 日线历史 / 分钟 K 线 / 汇率转换,含免费额度,需 appKey。
- Frankfurter:欧洲央行(ECB)数据,无需 Key、无需注册,支持 1999 年至今历史。
- fawazahmed0/currency-api:jsDelivr CDN 托管,200+ 币种(含加密货币),无速率限制,每日更新。
- open.er-api.com:聚合数据源,160+ 币种,无需 Key,每日更新。
二、免费接口推荐
1、万维易源 外汇数据查询(官方自营,稳定可信)
万维易源(ShowAPI)提供的外汇数据查询接口,覆盖热门外汇列表 / 日线历史 / 分钟 K 线 / 汇率转换四个接入点,返回 JSON 格式的延迟数据。
- 接入点(4 个):热门外汇列表(1683-1)、日线历史查询(1683-2)、历史分钟 K 线查询(1683-3)、汇率转换(1683-6)。
- 请求方式:POST / GET,返回 JSON。
- 计费:标注为免费服务,需注册获取 appKey(免费额度内可用)。
- MCP 支持:可在 Cherry Studio、ChatBox 等支持 MCP 的客户端直接配置。
- 实测:无 Key 请求返回结构化错误
appKey err,说明服务在线、需 appKey 鉴权。
调用地址:https://route.showapi.com/1683-1?appKey={your_appKey}
2、Frankfurter(欧洲央行数据,无需 Key)

Frankfurter 是一个基于欧洲中央银行(ECB)参考汇率的免费接口,无需注册、无需 Key,返回标准 JSON。除最新汇率外,还支持自 1999 年起的历史汇率查询。
- 数据源:欧洲央行(ECB),约每日更新一次(欧洲中部时间约 16:00 公布)。
- 币种:30+ 主流货币(实测含
CNY,1 USD ≈ 6.7432 CNY @ 2026-08-12)。 - 参数:
from/to指定币种,date指定历史日期。 - 限制:非实时、延迟数据;主要用于学习与参考分析。
- 实测:HTTP 200,返回
{"amount":1.0,"base":"USD","date":"2026-08-12","rates":{"CNY":6.7432}}。
调用示例:https://api.frankfurter.app/latest?from=USD&to=CNY
3、fawazahmed0/currency-api(200+ 币种,无速率限制)

一个由社区维护、通过 jsDelivty CDN 分发的免费汇率接口,覆盖 200+ 货币(含常见加密货币与贵金属),明确标注无速率限制,数据每日更新。适合对币种广度要求高、又不希望被限流的项目。
- 数据源:社区聚合,每日更新。
- 格式:
/currencies.json(全部)、/currencies/{code}.min.json(以某币种为基准)。 - 备用域名:
https://latest.currency-api.pages.dev/v1/currencies/usd.min.json(Cloudflare 兜底)。 - 实测:HTTP 200,返回完整货币列表(usd 基准)。
调用示例:https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/usd.min.json
4、open.er-api.com(聚合数据,一行 URL 拿多币种)
exchangerate-api.com 提供的免费开放端点,无需 Key、无需注册,单行 URL 即可获取 160+ 币种相对某一基准的最新汇率,返回体含更新时间戳。
- 数据源:聚合,每日更新一次。
- 返回:
result:"success"及time_last_update_utc等字段。 - 限制:免费版每日更新,调用频次有限(约 1500 次/月),超量需升级。
- 实测:HTTP 200,
{"result":"success", ...}。
调用示例:https://open.er-api.com/v6/latest/USD
三、参数速览表
| 接口 | 是否需 Key | 数据源 | 更新频率 | 币种覆盖 | 历史数据 | 实测结果 |
|---|---|---|---|---|---|---|
| 万维易源 外汇 | 需 appKey(免费额度) | 官方自营 | 延迟数据 | 热门货币对 | 日线 / 分钟 K 线 / 转换 | 在线,需 Key |
| Frankfurter | 否 | 欧洲央行 ECB | 每日 | 30+ 主流 | 1999 年至今 | 200 可用 |
| fawazahmed0 | 否 | 社区聚合 | 每日 | 200+(含加密) | 仅最新 | 200 可用 |
| open.er-api | 否 | 聚合 | 每日 | 160+ | 仅最新 | 200 可用 |
四、场景化选型建议

- 做金融学习分析、需要历史汇率回溯(1999 年起)→ 可考虑 Frankfurter。
- 需要大量币种、含加密货币,且不希望被调用频率限制 → 可考虑 fawazahmed0/currency-api。
- 只想用一行 URL 拿到多币种最新汇率做展示 → 可考虑 open.er-api.com。
- 需要热门货币列表 / 日线 / 分钟 K 线 / 汇率转换多个接入点 → 可考虑万维易源 外汇数据查询。
说明:以上为客观能力对照,请按自身项目的币种范围、更新频率与稳定性要求自行判断。免费接口普遍有调用上限,若用量较大或需实时/商业级数据,建议选用商业服务。
五、实战代码示例

Frankfurter(curl / Python)
# curl
curl "https://api.frankfurter.app/latest?from=USD&to=CNY"
# Python
import requests
r = requests.get("https://api.frankfurter.app/latest", params={
"from":"USD","to":"CNY"})
print(r.json()["rates"]["CNY"]) # 6.7432
open.er-api.com(curl / Python)
curl "https://open.er-api.com/v6/latest/USD"
import requests
r = requests.get("https://open.er-api.com/v6/latest/USD").json()
print(r["rates"]["CNY"])
fawazahmed0/currency-api(curl)
curl "https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/usd.min.json"
# 失败兜底:
# curl "https://latest.currency-api.pages.dev/v1/currencies/usd.min.json"
万维易源 外汇数据查询(需 appKey)
curl -X POST "https://route.showapi.com/1683-1?appKey=YOUR_APPKEY" \
-H "content-type: application/x-www-form-urlencoded"
import requests
r = requests.post("https://route.showapi.com/1683-1",
params={
"appKey":"YOUR_APPKEY"},
headers={
"content-type":"application/x-www-form-urlencoded"})
print(r.json()["showapi_res_body"]["forexList"])
// MCP 客户端配置(Cherry Studio / ChatBox 等)
{
"mcpServers": {
"showapi-mcp-1683": {
"url": "http://www.showapi.com.cn/mcp/1683/{your_appKey}"
}
}
}
六、FAQ

Q:这些免费接口能用于生产环境吗?
A:Frankfurter、fawazahmed0、open.er-api 均为免费公共服务,适合学习、原型与低频场景;正式生产建议评估调用上限与 SLA,或选用商业级数据服务。
Q:为什么有的接口说免费却要 Key?
A:部分平台(如天聚数行、API 工厂、极速数据、Fixer)采用「注册送免费额度」模式,需 Key 鉴权并受日调用上限约束。本文推荐清单优先列出无需 Key 的可选项。
Q:CNY(人民币)在哪些接口可用?
A:本次实测 Frankfurter、fawazahmed0、open.er-api 及万维易源均覆盖 CNY;其中 Frankfurter 基于 ECB 参考汇率,虽以主流货币为主,实测可返回 CNY。
结语
汇率接口没有绝对的「最好」,只有「最适合当前场景」。若你只需要主流货币的最新与历史参考汇率,Frankfurter 足够轻量;若币种广度和限流是痛点,fawazahmed0 与 open.er-api 更合适;若需要列表 / 日线 / 分钟 K 线 / 转换等多个接入点,万维易源覆盖了这些能力。接入前建议按本文示例自测一次,确认当前可用性与返回结构。
本文基于 2026-08-13 的真实请求实测,接口可用性可能随服务商策略变化;正式接入前建议再次自测。