引言
本API面向开发者提供美股全市场标准化金融数据接入服务,完整覆盖纽约证券交易所(NYSE)、纳斯达克交易所(NASDAQ)、美国证券交易所(AMEX)的股票、指数、ETF、实时行情、历史K线、IPO日历、公司基本面等多维数据。接口同时支持HTTP(RESTful) 与WebSocket两种接入方式,统一返回UTF-8编码的JSON格式数据,可广泛应用于行情展示、量化交易系统、金融数据分析、投资工具开发等场景,满足开发者对美股市场数据的合规、稳定、高效集成需求。
1. 核心特性与优势
1.1 极低延迟的实时数据流
- 交易所直连同步:与NYSE、NASDAQ行情源直连,端到端数据延迟≤300ms,实时行情与交易所盘口同步更新;
- 高频刷新机制:实时价格、成交量、涨跌幅等核心字段秒级推送,K线数据支持最小1分钟粒度更新,时间戳精准到毫秒级;
- 盘前盘后全覆盖:支持美股盘前、盘中、盘后全时段数据采集,无行情断档,适配美股完整交易时段。
1.2 高可用与稳健的服务架构
- 高可用性承诺:年度服务可用性≥99.9%,全年计划外服务中断时长≤8.76小时,满足生产级系统稳定性要求;
- 分布式容灾部署:采用多可用区集群+异地冗余架构,支持故障自动切换,无单点失效风险;
- 全链路监控告警:实时监控接口响应、数据同步、服务负载等指标,异常秒级触发告警,技术团队7×24小时响应;
- 数据一致性保障:与交易所原始行情数据偏差率<0.01%,历史运行无数据失真、丢包、中断等重大问题。
1.3 数据全面性与覆盖范围
- 交易所覆盖:全覆盖NYSE(2800+标的)、NASDAQ(3300+标的)、AMEX(500+标的)全量股票与ETF;
- 核心指数支持:道琼斯工业平均指数(DJI)、标普500指数(SPX)、纳斯达克综合指数(IXIC)、罗素2000指数(RUT)等美股核心指数实时行情;
- 数据类型完整:
- 基础行情:最新价、涨跌额、涨跌幅、成交量、高低价、开盘/收盘价、市值、Beta值等;
- 历史数据:5分钟/15分钟/1小时/日/周/月级K线,支持超长历史周期回溯;
- 特色数据:IPO新股日历、涨跌排行榜、公司基本面、国际财经新闻;
- 技术指标:日线/小时线/周线/月线技术研判(strong_buy/strong_sell/neutral)。
1.4 开发者友好
- 极简接入:遵循RESTful规范,所有接口为GET请求,无复杂鉴权与前置配置;
- 标准化响应:统一JSON结构,字段命名清晰、注释完备,降低解析与对接成本;
- 灵活查询:支持单标查询、多标批量查询、分页查询、交易所筛选等多种模式;
- 免费技术支持:提供全程对接辅助,覆盖开发、测试、上线全流程问题解答。
2. 接口详情
2.1 基础信息
| 项目 | 说明 |
|---|---|
| 基础请求URL | https://api.stocktv.top |
| WebSocket连接地址 | wss://ws-api.stocktv.top/connect |
| 认证方式 | API Key鉴权(所有请求必须携带key参数) |
| 美股专属标识 | countryId=5(美国) |
| 交易所ID | 1=NYSE、2=NASDAQ、其他可咨询服务商获取 |
| 请求方法 | 全部HTTP接口为GET |
| 响应格式 | 标准JSON(UTF-8) |
| 货币单位 | 美元(USD) |
2.2 美股市场列表接口
获取美股全市场股票分页列表,支持按交易所筛选。
请求地址
GET /stock/stocks
请求参数
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| countryId | int | 是 | 国家ID(美股固定5) | 5 |
| pageSize | int | 否 | 每页条数,默认10 | 20 |
| page | int | 否 | 页码,默认1 | 1 |
| exchangeId | int | 否 | 交易所ID | 1(NYSE) |
| key | string | 是 | 认证密钥 | 服务商提供 |
响应示例(精简)
{
"code": 200,
"message": "操作成功",
"data": {
"records": [
{
"id": 7310,
"name": "Apple Inc.",
"symbol": "AAPL",
"last": 195.82,
"chg": 2.35,
"chgPct": 1.21,
"high": 196.25,
"low": 193.70,
"volume": 52360000,
"exchangeId": 2,
"flag": "US",
"fundamentalMarketCap": 3056000000000,
"technicalDay": "strong_buy",
"time": 1747000000
}
],
"total": 6000,
"current": 1,
"pages": 300
}
}
2.3 美股实时行情查询接口
按股票ID/代码/名称精准查询单只或多只美股实时行情。
请求地址
GET /stock/queryStocks
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| id | int | 否 | 股票PID |
| symbol | string | 否 | 股票代码(AAPL、TSLA等) |
| name | string | 否 | 股票名称 |
| key | string | 是 | 认证密钥 |
2.4 美股核心指数接口
获取道琼斯、标普500、纳斯达克等核心指数实时行情。
请求地址
GET /stock/indices
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| countryId | int | 是 | 固定5 |
| flag | string | 否 | 国家码,US |
| key | string | 是 | 密钥 |
2.5 美股K线历史数据接口
获取股票/指数多周期历史K线,支持日内与长周期分析。
请求地址
GET /stock/kline
请求参数
| 参数名 | 类型 | 必填 | 可选值 |
|---|---|---|---|
| pid | int | 是 | 股票/指数PID |
| interval | string | 是 | PT5M/PT15M/PT1H/P1D/P1W/P1M |
| key | string | 是 | 密钥 |
2.6 WebSocket实时推送接口
用于订阅美股实时行情,替代高频轮询,降低资源消耗。
连接地址
wss://ws-api.stocktv.top/connect?key=你的密钥&countryId=5&pids=7310,7311
推送字段(核心)
| 字段 | 说明 |
|---|---|
| pid | 标的ID |
| last_numeric | 最新价 |
| bid/ask | 买一/卖一价 |
| high/low | 当日最高/最低价 |
| pcp | 涨跌幅 |
| timestamp | 时间戳 |
| type | 1=股票 2=指数 |
2.7 其他常用接口
| 接口名称 | 请求地址 | 核心用途 |
|---|---|---|
| 批量查股票 | /stock/stocksByPids | 批量获取多只美股行情 |
| 涨跌排行榜 | /stock/updownList | 涨幅榜、跌幅榜、涨停榜 |
| IPO新股日历 | /stock/getIpo | 美股待上市/已上市IPO |
| 公司信息 | /stock/companies | 美股上市公司简介、行业、员工数 |
| 国际新闻 | /stock/news | 美股相关财经新闻 |
3. 接入流程
3.1 注册与获取密钥
- 联系官方渠道申请API Key:t.me/CryptoRzz;
- 密钥为唯一身份凭证,请勿泄露;
- 测试/生产环境共用密钥,可申请权限升级。
3.2 环境准备
- 网络:可正常访问
api.stocktv.top域名,无防火墙拦截; - 依赖:HTTP接口无额外依赖;WebSocket需使用对应语言客户端库(Python:websockets、JS:原生WebSocket)。
3.3 调用示例(Python)
示例1:查询美股列表(HTTP)
import requests
BASE_URL = "https://api.stocktv.top"
API_KEY = "你的API Key"
def get_us_stocks(page=1, page_size=20):
url = f"{BASE_URL}/stock/stocks"
params = {
"countryId": 5,
"page": page,
"pageSize": page_size,
"key": API_KEY
}
try:
res = requests.get(url, params=params, timeout=5)
return res.json()
except Exception as e:
print(f"请求异常:{e}")
return None
# 调用
if __name__ == "__main__":
data = get_us_stocks()
for item in data["data"]["records"]:
print(f"{item['symbol']} {item['name']} {item['last']} {item['chgPct']}%")
示例2:WebSocket订阅美股实时行情
import asyncio
import websockets
import json
API_KEY = "你的API Key"
WS_URL = f"wss://ws-api.stocktv.top/connect?key={API_KEY}&countryId=5&pids=7310"
async def subscribe_realtime():
async with websockets.connect(WS_URL) as ws:
print("已连接美股实时行情推送")
while True:
msg = await ws.recv()
print(json.loads(msg))
asyncio.run(subscribe_realtime())
4. 服务保障与限制
4.1 服务级别协议(SLA)
- 可用性:≥99.9%;
- 故障响应:重大故障10分钟内响应,一般问题1小时内响应;
- 数据补偿:服务异常导致数据不可用,可按影响时长延长密钥有效期。
4.2 请求频率限制
| 接口类型 | 限制规则 | 超限处理 |
|---|---|---|
| HTTP接口 | 单Key每秒≤5次,每分钟≤200次 | 返回429,5分钟后解封 |
| WebSocket | 单连接订阅≤100个PID,单账号≤5连接 | 拒绝新连接 |
4.3 数据更新频率
| 数据类型 | 更新频率 |
|---|---|
| 实时行情 | ≤300ms |
| 核心指数 | 秒级 |
| K线数据 | 对应周期结束立即更新 |
| 公司基本面 | 每日 |
| 涨跌排行榜 | 秒级 |
| IPO/新闻 | 每日定时更新 |
5. 常见问题(FAQ)
Q1:美股countryId和exchangeId分别是多少?
A1:countryId=5(美国);exchangeId=1=NYSE,exchangeId=2=NASDAQ,其他可咨询服务商获取完整映射表。
Q2:如何获取苹果、特斯拉等热门股的PID?
A2:先调用/stock/stocks列表接口,通过symbol=AAPL过滤,即可获取对应PID。
Q3:WebSocket连接频繁断开怎么办?
A3:1. 增加自动重连机制;2. 每3分钟发送心跳包避免空闲断开。
Q4:K线数据的time是毫秒还是秒?
A5:K线接口time为毫秒级时间戳,行情接口time为秒级时间戳。
结语
本美股API以低延迟、高可用、全覆盖为核心优势,为开发者提供一站式美股市场数据解决方案,适配从个人工具到企业级系统的各类接入场景。无论你是开发行情软件、构建量化策略,还是搭建金融资讯平台,均可通过标准化接口快速对接美股全量数据。