美股 (US) 与 墨西哥 (Mexico) 股票数据接口集成指南

1. 接入概述 (General)

本接口用于获取美国(NYSE, NASDAQ, AMEX)及墨西哥(BMV, BIVA)证券市场的实时行情、历史 K 线及指数数据。

  • API Base URL : https://api.stocktv.top
  • WebSocket URL : wss://ws-api.stocktv.top/connect
  • 鉴权方式 : 所有请求均需携带 URL 参数 key=您的API密钥

1.1 关键市场 ID (Country ID)

在调用相关接口时,请务必区分以下 countryId

市场名称 Country ID 交易所示例
美国 (USA) 5 NYSE (1), NASDAQ (2), AMEX
墨西哥 (Mexico) 7 Mexico (53), BIVA (144)

2. 核心数据接口

2.1 获取股票列表 (Stock List)

用于查询指定市场的股票清单,获取股票的名称、代码 (Symbol) 和 系统 ID (PID)

注意id (PID) 是后续查询 K 线和订阅 WebSocket 的唯一标识符。

  • 接口地址 : /stock/stocks
  • 请求方式 : GET
  • 请求参数:
参数名 类型 必填 说明
key String 您的 API Key
countryId Int 5 (美股) 或 7 (墨西哥)
pageSize Int 每页数量 (默认 10)
page Int 页码 (默认 1)
  • 请求示例 (获取美股列表):

    http 复制代码
    GET https://api.stocktv.top/stock/stocks?countryId=5&pageSize=20&page=1&key=YOUR_KEY
  • 响应示例:

    json 复制代码
    {
      "code": 200,
      "data": {
        "records": [
          {
            "id": 8888,          // [关键] PID,用于K线接口
            "name": "Apple Inc", // 股票名称
            "symbol": "AAPL",    // 股票代码
            "exchangeId": 2,     // 交易所ID (2=NASDAQ)
            "last": 180.5,       // 最新价
            "chgPct": 1.25,      // 涨跌幅%
            "countryNameTranslated": "United States"
          }
        ]
      }
    }

2.2 获取 K 线数据 (Candlestick Data)

获取指定股票的历史行情数据,支持多种时间周期。

  • 接口地址 : /stock/kline
  • 请求方式 : GET
  • 请求参数:
参数名 类型 必填 说明
key String 您的 API Key
pid Int 股票系统 ID (通过 2.1 接口获取)
interval String K线周期 (ISO 8601格式)
  • 周期 (Interval) 说明:

    • PT1M (1分钟), PT5M (5分钟), PT15M (15分钟), PT30M (30分钟), PT1H (1小时)
    • P1D (日线), P1W (周线), P1M (月线)
  • 请求示例 (获取墨西哥某股票日线):

    http 复制代码
    GET https://api.stocktv.top/stock/kline?pid=12345&interval=P1D&key=YOUR_KEY
  • 响应示例:

    json 复制代码
    {
      "code": 200,
      "data": [
        {
          "time": 1719818400000, // 时间戳 (毫秒)
          "open": 150.0,
          "high": 155.0,
          "low": 149.0,
          "close": 153.0,
          "volume": 200000
        }
      ]
    }

2.3 获取大盘指数 (Indices)

获取美股(如纳斯达克、标普500)或墨西哥(如 S&P/BMV IPC)的指数行情。

  • 接口地址 : /stock/indices

  • 请求方式 : GET

  • 请求参数 : countryId (5=美国, 7=墨西哥)

  • 请求示例:

    http 复制代码
    GET https://api.stocktv.top/stock/indices?countryId=7&key=YOUR_KEY

3. WebSocket 实时推送

通过 WebSocket 长连接接收实时报价更新。

  • 连接地址 : wss://ws-api.stocktv.top/connect?key=YOUR_KEY

  • 心跳机制: 连接建立后,建议定期发送心跳包以保持连接。

  • 推送数据结构 :

    json 复制代码
    {
        "pid": "8888",         // 对应 Rest API 中的 id
        "last_numeric": 181.2, // 最新价
        "pcp": "0.39",         // 涨跌幅%
        "timestamp": "1717728251",
        "bid": "181.1",        // 买价
        "ask": "181.3",        // 卖价
        "type": 1              // 1=股票, 2=指数
    }

4. 接入代码示例 (JavaScript)

以下代码展示了如何根据 countryId 封装获取美股和墨西哥股票的逻辑。

javascript 复制代码
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://api.stocktv.top';

// 配置 ID
const MARKETS = {
    USA: 5,
    MEXICO: 7
};

/**
 * 获取指定市场的股票列表
 * @param {number} countryId - 5 for USA, 7 for Mexico
 */
async function getMarketStocks(countryId) {
    const url = `${BASE_URL}/stock/stocks?countryId=${countryId}&pageSize=10&page=1&key=${API_KEY}`;
    try {
        const response = await fetch(url);
        const result = await response.json();
        
        if (result.code === 200) {
            console.log(`市场 (ID:${countryId}) 股票列表:`, result.data.records);
            // 示例:获取第一个股票的 PID 用于查 K 线
            if(result.data.records.length > 0) {
                const firstStock = result.data.records[0];
                console.log(`示例股票: ${firstStock.name}, PID: ${firstStock.id}`);
            }
        }
    } catch (error) {
        console.error('API 请求失败:', error);
    }
}

// 1. 获取美股数据
getMarketStocks(MARKETS.USA);

// 2. 获取墨西哥股票数据
getMarketStocks(MARKETS.MEXICO);
相关推荐
涡能增压发动积1 天前
同样的代码循环 10次正常 循环 100次就抛异常?自定义 Comparator 的 bug 让我丢尽颜面
后端
Wenweno0o1 天前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
swg3213211 天前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
tyung1 天前
一个 main.go 搞定协作白板:你画一笔,全世界都看见
后端·go
gelald1 天前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川1 天前
深入拆解 Java 内存模型:从原子性、可见性到有序性,彻底搞懂 happen-before 规则
java·后端
元宝骑士1 天前
FIND_IN_SET使用指南:场景、优缺点与MySQL优化策略
后端·mysql
用户31952370347711 天前
记一次 PostgreSQL WAL 日志撑爆磁盘的排查
后端
nghxni1 天前
LightESB PlatformHttp v3.0.0:JSONPath 订单转换 HTTP 路由实战
后端
武子康1 天前
大数据-263 实时数仓-Canal 增量订阅与消费原理:MySQL Binlog 数据同步实践
大数据·hadoop·后端