5 分钟快速接入(Quick Start)
三步调通第一个请求:注册领取试用 Key → 把请求域名换成本站国内加速网关地址 → 发起调用,返回的全部 283 个接口数据与 FMP 官方 Ultimate 档位完全一致。
请求地址改成下面这个,统一支持 /stable/ 标准路径(旧版 v3 / v4 路径已退役):
https://quote-fmp.com/stable/原生转发、不做二次加工,解决国内直连超时与 yfinance 429 封 IP 问题。
参考下方任一语言示例,几行代码即可拿到实时行情与财报数据。分钟限流与滚动 30 天流量在个人中心实时可见。
三行代码调通
cURL / Python / JavaScript以查询苹果公司(AAPL)的 Stock Quote(股票实时报价)(路径 /stable/quote)为例,建议将 API Key 存入环境变量 FMP_KEY 即可运行:
Python 量化与投研实战模板
pandas DataFrame + 429 自动退避在批量拉取多年 Income Statement(利润表)、Stock Price and Volume Data(历史日线行情) 或轮询股票池时,建议封装一个带 requests.Session() 连接池复用与 HTTP 429 指数退避重试的辅助函数,直接将返回的 JSON 数组转为 pandas.DataFrame 分析:
多市场标的代码传参规则
Multi-Market Symbol RulesFMP 使用统一的 symbol 参数标识全球不同交易所与资产类别的标的。调用美股、港股财报、A股行情、外汇汇率、加密货币或黄金原油接口前,请按以下格式传参(不确定代码时可先调 Stock Symbol Search(证券代码搜索) 或 Company Name Search(公司名称搜索)):
| 市场 / 资产类别 | symbol 传参格式规则 | 常用标的代码示例 | 代表接口入口 |
|---|---|---|---|
| US Equities & ETFs(美股与美股 ETF) | 直接传交易所挂牌代码(无需后缀) | AAPL、NVDA、MSFT、SPY、QQQ | Stock Quote(股票实时报价) |
| HK & China A-Shares(港股与沪深 A 股) | 港股加 .HK;上交所加 .SS;深交所加 .SZ | 0700.HK、9988.HK、600519.SS、000858.SZ | Income Statement(利润表) |
| Global Indexes(全球主要股票指数) | 指数代码前加 ^(URL 中可转义为 %5E) | ^GSPC(标普500)、^NDX(纳指100)、^HSI、^VIX | Index Quote(指数实时报价) |
| Forex Pairs(实时外汇汇率) | 6 位基准货币+计价货币拼写 | EURUSD、USDJPY、GBPUSD、USDCNH(离岸人民币) | Forex Quote(外汇实时报价) |
| Cryptocurrency(加密货币行情) | 币种代码 + USD 计价后缀 | BTCUSD、ETHUSD、SOLUSD | Full Cryptocurrency Quote(加密货币报价) |
| Commodities(黄金原油等大宗商品) | 商品代码 + USD(或主力合约代码) | GCUSD(黄金)、SIUSD(白银)、CLUSD(原油) | Commodities Quote(大宗商品报价) |
常见 HTTP 状态码与排查指南
Status Codes & Troubleshooting网关严格遵循标准 HTTP 状态码规范。当脚本出现非预期响应或空数组 [] 时,可按下表快速定位原因:
| HTTP 状态码 | 状态含义 | 排查方法与解决建议 |
|---|---|---|
200 OK | 请求成功并返回 JSON / CSV 数据 | 若返回空数组 [],请检查:① 港股/A股是否漏写 .HK / .SS 后缀;② from / to 日期是否落在周末或休市日(可调 Holidays By Exchange(交易所休市日历) 核对);③ 非美股标的是否误调了仅限美股的 13F 或国会交易接口。 |
400 Bad Request | 凭据冲突(Query 与 Header 的 apikey 不一致)或参数错误 | 两种情形:① 缺必填参数或参数值非法时,上游返回 400 Query Error: Invalid or missing query parameter - xxx,注意该响应体是纯文本而非 JSON 数组,客户端请先看 Content-Type 再决定是否调用 resp.json();② 在 URL 查询参数与 HTTP Header 中同时传入不同的 apikey,触发 Conflicting API KEY credentials.,统一保留一处即可。 |
401 Unauthorized | API Key 缺失、拼写错误、已过期或已被重置作废 | 网关对未传 Key、错误 Key、已过有效期(expires_at)或已重置作废的 Key 统一返回 401 Invalid API KEY.;请登录「个人中心」核对有效期与最新 Key。 |
403 Forbidden | 端点处于网关策略封禁列表(block_paths) | 仅当路径命中网关策略封禁配置时返回(当前生产环境 block_paths 为空,/stable/* 全量开放,正常调用不会触发)。 |
404 Not Found | 接口路径不存在或使用了旧版 v3/v4 前缀 | 本站仅支持 FMP 最新 /stable/* 标准路径(不支持旧版 /api/v3/ 或 /api/v4/),请对照 接口总览 核对端点名称。 |
429 Too Many Requests | 触发每分钟调用次数(RPM)或滚动 30 天流量上限 | 先看响应原因:分钟限流可按 Retry-After 提示有限重试,没有提示时等待分钟窗口;若响应说明 Bandwidth limit reached for the rolling 30-day window.,请停止密集重试,在个人中心核对用量,等待旧消耗滑出窗口或升级档位。Bulk(全市场批量数据) 可减少请求次数,但不保证减少响应字节,也不能解除已耗尽的流量额度。 |
提示:请妥善保管你的 API Key,通过环境变量 os.environ["FMP_KEY"] 读取,不要硬编码提交到公开 GitHub 仓库或前端页面。若 Key 不慎泄露,可随时在个人中心一键更换。更多计费与限流细节请见 常见问题 FAQ。
量化回测与数据清洗三大实盘避坑
Data Hygiene & Field Pitfalls将接口数据接入回测引擎或投研数据库前,请重点留意以下三个高频字段口径细节:
三大财务报表同时返回 date(财期截止日)、filingDate(披露日)与 acceptedDate(SEC 精确到秒接收时间,季报常滞后 30~45 天)。构建 Point-in-Time 量化因子必须按 acceptedDate 对齐交易日。
Income Statement(利润表) →常规历史日线(historical-price-eod/full)仅做拆股调整且已结算日线的 vwap = (open+high+low+close)/4(四价均值)。回测需含现金分红的前复权价格序列时,请调用 dividend-adjusted 接口。
Dividend-Adjusted Price Chart(复权日线) →台积电(TSM)等 ADR 的股价为 USD,但原始财报 reportedCurrency 为 TWD(新台币),直接相除会算错 PE;机构 13F 查询时 cik 参数须用 zfill(10) 补齐 10 位前导零(如 0001067983)。
Financial Ratios(财务比率公式对账) →常用核心接口直达
Core Endpoints股票实时报价、涨跌幅、市值与盘口核心字段
Dividend-Adjusted Price Chart复权日线行情长达 30+ 年的日线 OHLCV 与含分红前复权价格
Income Statement利润表营业收入、毛利、研发费用、净利润与 EPS
Balance Sheet Statement资产负债表总资产、现金及等价物、总负债与股东权益(60字段)
Cash Flow Statement现金流量表经营现金流、资本开支 CapEx 与自由现金流 FCF
Key Metrics TTM关键指标 TTMPE、PB、EV/EBITDA、ROE、ROIC 等滚动估值指标
Institutional Ownership Filings机构 13F 持仓申报华尔街机构季度持仓申报、增减仓与持仓市值汇总
Earnings Transcript财报电话会文字稿管理层陈述与分析师问答(Q&A)完整英文全文
All 283 APIs浏览全部 283 个接口 →按 30 个数据分类检索外汇、加密、商品、宏观与批量接口