stock-api
v2.3.0
Published
Stock market data API for Node.js and TypeScript
Downloads
2,237
Maintainers
Readme
stock-api 是一个零运行时依赖的股票行情工具,提供 Node.js API 和 CLI。默认使用 stocks.auto 自动兜底数据源,也可以显式指定腾讯、新浪或东方财富。
特性
- Node.js API + TypeScript 类型
- CLI 查询股票行情和搜索股票
- 默认自动兜底:
tencent -> sina -> eastmoney - 指定数据源:
stocks.tencent/stocks.sina/stocks.eastmoney - 支持 A 股、港股、美股代码格式
- 零运行时依赖
安装
npm install stock-api要求 Node.js >=18。
快速使用
默认用 stocks.auto:
import { stocks } from "stock-api";
const stock = await stocks.auto.getStock("SH510500");
const list = await stocks.auto.getStocks(["SH510500", "SZ000651"]);
const results = await stocks.auto.searchStocks("格力电器");CommonJS:
const { stocks } = require("stock-api");指定某个数据源时,把 auto 换成数据源名称:
const stock = await stocks.tencent.getStock("SH510500");
const list = await stocks.sina.getStocks(["SH510500", "SZ000651"]);
const results = await stocks.eastmoney.searchStocks("贵州茅台");检查数据源状态:
const autoInspection = await stocks.auto.inspectStock("SH510500");
const sinaInspection = await stocks.sina.inspectStock("SH510500");CLI
CLI 默认也是 auto 模式:
npx stock-api get-stock SH510500
npx stock-api get-stocks SH510500 SZ000651
npx stock-api search 格力电器指定数据源:
npx stock-api get-stock SH510500 --source sina
npx stock-api search 贵州茅台 --source eastmoney数据源
| 数据源 | 用法 | 能力 |
| --- | --- | --- |
| 自动兜底 | stocks.auto | 单只行情、批量行情、搜索、诊断 |
| 腾讯 | stocks.tencent | 单只行情、批量行情、搜索、诊断 |
| 新浪 | stocks.sina | 单只行情、批量行情、搜索、诊断 |
| 东方财富 | stocks.eastmoney | A 股单只行情、批量行情、搜索、诊断 |
可用数据源:
const sources = stocks.getSources();
// ["tencent", "sina", "eastmoney"]股票代码
统一使用 交易所 + 股票代码:
| 市场 | 前缀 | 示例 |
| --- | --- | --- |
| 上海交易所 | SH | SH510500 |
| 深圳交易所 | SZ | SZ000651 |
| 香港市场 | HK | HK02020 |
| 美国市场 | US | USDJI |
返回结构
type Stock = {
code: string;
name: string;
percent: number;
now: number;
low: number;
high: number;
yesterday: number;
source?: "base" | "tencent" | "sina" | "eastmoney";
};source 用于标记实际返回数据的数据源。stocks.auto 和 inspectStock 会带上 source;直接使用 stocks.tencent.getStock、stocks.sina.getStock、stocks.eastmoney.getStock 时不会自动兜底,返回结构保持该数据源的原始行为。
文档
| 文档 | 内容 | | --- | --- | | API 使用 | Node.js API、自动兜底、诊断返回结构 | | CLI 使用 | 命令、参数、输出、退出码 | | 项目架构 | 目录结构、provider 工厂、解析和错误模型 | | 开发指南 | 本地开发、测试、发布前检查、新增数据源 | | API 监控 | 定时检查第三方数据源并更新状态徽章 |
浏览器使用
stock-api 面向 Node.js、后端服务、Serverless 函数和 CLI。不建议在浏览器前端直接请求第三方行情接口,因为数据源可能存在 CORS 限制和编码问题。
frontend -> your backend API -> stock-api -> market data sourceLicense
MIT
