FinnHub API 集成技能用于接入 FinnHub 的金融数据 API,可访问股票、外汇、加密货币、公司基本面、新闻以及实时市场数据。
一、用途 适用于需要获取金融数据的场景,包括查询实时报价、公司档案、财务指标,以及构建行情监控、财报日历、新闻聚合等数据获取流程。
二、主要能力
- 股票市场数据:/quote 实时报价、/stock/candle 历史 OHLCV、/stock/profile2 公司档案、/stock/peers 相似公司、/company-news 公司新闻、/stock/metric 基础财务指标、/stock/financials 财务报表(以上免费);/stock/insider-transactions 内部人交易、/stock/insider-sentiment 内部人情绪(需 Premium)。
- 基本面数据:/stock/financials-reported SEC 报告、/stock/earnings 盈利历史、/stock/recommendation 分析师评级、/stock/price-target 目标价(免费);/stock/revenue-estimate 营收预估、/stock/eps-estimate EPS 预估(需 Premium)。
- 外汇与加密货币:/forex/rates 汇率、/forex/candle 外汇 OHLCV、/crypto/candle 加密货币 OHLCV、/crypto/exchanges 交易所、/crypto/symbol 交易对(均免费)。
- 新闻与情绪:/company-news 公司新闻、/news 市场新闻(免费);/press-releases 新闻稿、/news-sentiment 新闻情绪(需 Premium)。
- 日历事件:/calendar/earnings 财报日历、/calendar/ipo IPO 日历、/stock/dividends 股息历史、/stock/splits 拆股(均免费)。
- WebSocket 实时数据:连接 wss://ws.finnhub.io?token=API_KEY,可订阅符号接收 trade 类型推送。
三、使用方式
- 认证:通过环境变量配置密钥,export FINNHUB_API_KEY="your_api_key",或在 .env 文件中写入 FINNHUB_API_KEY=your_api_key。
- REST 调用:使用基础地址 https://finnhub.io/api/v1,在请求参数中携带 token。例如 /quote 传入 symbol 与 token 获取报价,返回字段包括 c(当前价)、d(涨跌额)、dp(涨跌幅)、h(最高)、l(最低)。
- 官方 SDK:Python 使用 pip install finnhub-python,JavaScript 使用 npm install finnhub。Python 示例:client = finnhub.Client(api_key="your_api_key"),可调用 client.quote("AAPL")、client.company_profile2(symbol="AAPL")、client.company_basic_financials("AAPL", "all")。
- 历史 K 线:/stock/candle 参数包含 symbol、resolution(1、5、15、30、60、D、W、M)、from、to、token。
- 财报日历:/calendar/earnings 参数为 from、to、token,返回 earningsCalendar 列表。
- 财务指标:/stock/metric 参数 symbol、metric=all、token,可返回 peBasicExclExtraTTM、pbQuarterly、psAnnual、roeTTM、roaTTM、totalDebt/totalEquityQuarterly、currentRatioQuarterly、grossMarginTTM、operatingMarginTTM、52WeekHigh、52WeekLow、beta 等字段。
- WebSocket:订阅时发送 {"type": "subscribe", "symbol": "AAPL"},接收 trade 数据中包含 s(符号)、p(价格)、v(数量)。
四、速率限制 免费层每分钟 60 次调用,提供美国股票、外汇、加密货币数据;付费层每分钟 300 次以上,具体按市场定价。响应头包含 X-Ratelimit-Limit(每分钟最大调用数)、X-Ratelimit-Remaining(剩余调用数)、X-Ratelimit-Reset(重置时间戳)。
五、错误处理与最佳实践 遇到 429 速率限制可等待 60 秒后重试;建议缓存静态数据(如公司档案、财务指标),使用 WebSocket 替代轮询获取实时报价,尽可能批量调用,实施指数退避,并将 API 密钥存放在环境变量中。
六、限制与暂未提供内容 免费层包含实时美国股票报价、一年历史数据、公司档案与同业、基础财务指标、财报日历、公司新闻、外汇与加密货币数据、WebSocket(美国股票、外汇、加密货币);内部人交易与情绪、SEC 文件、ESG 评分、专利数据、国会交易、国际市场、营收与 EPS 预估、游说数据、扩展历史数据需 Premium。资料未提供具体价格、免费层一年历史数据以外的范围细节、各端点完整参数与返回结构,以及官方文档与定价页链接,这些内容暂未提供。