2026 全球外汇免费实时行情汇率数据 API 接口大全

金融后端Python

在 2026 年,随着全球金融市场的数字化转型,外汇交易数据的需求日益增长。外汇 API 接口已成为交易者、开发者、金融分析师不可或缺的工具。这些接口提供实时行情、实时汇率、历史 K 线、盘口深度等数据,帮助用户进行算法交易、风险分析和市场监控。汇总了全球外汇实时行情汇率数据 API 接口大全。我将逐一简单介绍每个接口的使用方法,并挑选 3 个典型接口提供 Python 代码示例。

picture.image 本文将分享如何使用 iTick API 实现获取外汇行情数据。接口类型主要分为 RESTful HTTP GET 请求和 WebSocket 实时推送。REST API 适合批量查询历史数据或单次获取实时行情,而 WebSocket 则适用于低延迟的实时数据流订阅。

接口列表及使用介绍

在使用前,用户需在官网注册获取 Token。以下将分模块总结接口,不逐一列出所有代码示例,而是重点突出请求地址、参数,并挑选典型接口提供详细 Python 示例。 注意:接口基 URL 为https://api.itick.org。数据覆盖主流货币对如 EURUSD、GBPUSD 等,市场代码统一为"GB"。请参考官方文档以获取最新信息。

1. 实时成交 (/forex/tick)

  • 描述:获取单个外汇货币对的实时成交数据,包括最新价、时间戳和成交量。
  • 使用方法:GET 请求,参数包括region(市场代码,如"GB")、code(货币对,如"EURUSD")。响应包含产品代码、最新价等。
  • 适用场景:监控单一货币对的即时成交情况。

2. 批量实时盘口 (/forex/depths)

  • 描述:批量获取多个外汇货币对的实时订单簿深度数据,包括买卖盘口的多档价位和挂单量。
  • 使用方法:GET 请求,参数包括regioncodes(多个货币对,用逗号分隔,如"EURUSD,GBPUSD")。响应为字典格式,包含每个货币对的买/卖盘数据。
  • 适用场景:高频交易或批量监控市场深度。

3. 批量实时报价 (/forex/quotes)

  • 描述:批量获取多个外汇货币对的实时报价,包括最新价、开盘价、最高/最低价、涨跌幅等。
  • 使用方法:GET 请求,参数包括regioncodes(多个货币对,用逗号分隔)。响应包含每个货币对的详细报价信息。
  • 适用场景:投资组合实时监控。

4. 批量实时成交 (/forex/ticks)

  • 描述:批量获取多个外汇货币对的实时成交数据,包括最新价、时间戳和成交量。
  • 使用方法:GET 请求,参数包括regioncodes(多个货币对,用逗号分隔)。响应为字典格式,包含每个货币对的成交详情。
  • 适用场景:多货币对的成交流分析。

5. 实时报价 (/forex/quote)

  • 描述:获取单个外汇货币对的实时报价,包括最新价、开盘价、最高/最低价、涨跌幅等。
  • 使用方法:GET 请求,参数包括regioncode。响应包含详细报价字段。
  • 适用场景:单一货币对的即时行情查询。

6. 批量历史 K 线查询 (/forex/klines)

  • 描述:批量获取多个外汇货币对的历史 K 线数据,支持多种周期(分钟到月线)。
  • 使用方法:GET 请求,参数包括regioncodeskType(K 线类型,如 1 为分钟线)、limit(K 线数量)、et(可选,截止时间戳)。响应为字典格式,包含每个货币对的 K 线数组。
  • 适用场景:历史数据分析或回测。

7. 实时盘口 (/forex/depth)

  • 描述:获取单个外汇货币对的实时盘口数据,包括多档买卖价位和挂单量。
  • 使用方法:GET 请求,参数包括regioncode。响应包含买/卖盘数组。
  • 适用场景:查看单一货币对的市场深度。

8. 历史 K 线查询 (/forex/kline)

  • 描述:获取单个外汇货币对的历史 K 线数据,支持多种周期。
  • 使用方法:GET 请求,参数包括regioncodekTypelimitet(可选)。响应为 K 线数组。
  • 适用场景:单一货币对的历史趋势分析。

这些接口覆盖了从实时到历史、从单一到批量的外汇数据需求。开发者可根据场景选择 RESTful API 或 WebSocket。

获取实时汇率报价行情

这个接口适合快速获取单一货币对的最新行情。下面是 Python 示例,使用requests库。

import requests

# API参数
url = "https://api.itick.org/forex/quote?region=GB&code=EURUSD"
headers = {
    "accept": "application/json",
    "token": "your_token"  # 替换为你的API Token
}

# 发送请求
response = requests.get(url, headers=headers)

# 处理响应
if response.status_code == 200:
    data = response.json()
    if data["code"] == 0:
        quote = data["data"]
        print(f"货币对: {quote['s']}")
        print(f"最新价: {quote['ld']}")
        print(f"涨跌幅: {quote['chp']}%")
    else:
        print("API错误:", data["msg"])
else:
    print("HTTP错误:", response.status_code)

运行后,你将看到 EURUSD 的实时报价信息。

历史数据 K 线查询

这个接口用于获取历史数据,便于趋势分析。示例查询 EURUSD 的最近 10 条 5 分钟 K 线。

import requests

# API参数
url = "https://api.itick.org/forex/kline?region=GB&code=EURUSD&kType=2&limit=10"
headers = {
    "accept": "application/json",
    "token": "your_token"  # 替换为你的API Token
}

# 发送请求
response = requests.get(url, headers=headers)

# 处理响应
if response.status_code == 200:
    data = response.json()
    if data["code"] == 0:
        klines = data["data"]
        for kline in klines[:3]:  # 只打印前3条以简化输出
            print(f"时间戳: {kline['t']}, 开盘: {kline['o']}, 收盘: {kline['c']}, 成交量: {kline['v']}")
    else:
        print("API错误:", data["msg"])
else:
    print("HTTP错误:", response.status_code)

此代码输出 K 线数据数组的前几条,帮助你分析历史价格。

WebSocket 实时行情

通过 WebSocket 提供外汇数据的实时推送,包括报价、成交、盘口和 K 线,支持订阅多个货币对,连接wss://api.itick.org/forex,使用 Token 认证后发送订阅消息(如{"ac": "subscribe", "params": "EURUSD$GB", "types": "quote"})。需处理心跳(ping/pong)。

示例使用websocket库订阅 EURUSD 的报价数据,并处理心跳。

import websocket
import json
import threading
import time

# WebSocket参数
WS_URL = "wss://api.itick.org/forex"
API_TOKEN = "your_token"  # 替换为你的API Token

def on_message(ws, message):
    data = json.loads(message)
    if data.get("data"):
        market_data = data["data"]
        if market_data.get("type") == "quote":
            print(f"实时报价: {market_data['s']} - 最新价: {market_data['ld']}")

def on_open(ws):
    print("连接成功")
    # 订阅
    subscribe_msg = json.dumps({"ac": "subscribe", "params": "EURUSD$GB", "types": "quote"})
    ws.send(subscribe_msg)

def send_heartbeat(ws):
    while True:
        time.sleep(30)
        ping_msg = json.dumps({"ac": "ping", "params": str(int(time.time() * 1000))})
        ws.send(ping_msg)

# 创建连接
ws = websocket.WebSocketApp(WS_URL,
                            header={"token": API_TOKEN},
                            on_message=on_message,
                            on_open=on_open)

# 启动心跳线程
threading.Thread(target=send_heartbeat, args=(ws,)).start()

# 运行WebSocket
ws.run_forever()

运行此代码后,它会连接 WebSocket、订阅数据,并实时打印报价更新

结语

这些 API 接口为 2026 年的外汇开发者提供了强大工具箱。无论是 RESTful 调用还是 WebSocket 推送,都能满足不同需求。建议从官方文档获取 Token,并注意速率限制。如果你是初学者,从实时报价接口入手;高级用户可探索 WebSocket 实现低延迟应用。

温馨提示:本文仅供代码参考,不构成任何投资建议。市场有风险,投资需谨慎

参考文档:https://docs.itick.org
GitHub:https://github.com/itick-org/

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
AI 硬件解决方案白皮书——全流程落地指南
火山方舟依托字节跳动在大模型与实时通信领域的技术积累,构建了 “端到端 AI 硬件解决方案”,为硬件厂商提供可落地、可扩展、可演进的智能能力。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论