QVeris
FMP API Developer Guide
FMP API 开发者指南

Financial Modeling Prep API: Pricing, Limits & ExamplesFinancial Modeling Prep API:价格、限制与示例

A practical guide to FMP pricing, free-tier limits, Stable API endpoints, authentication, code examples, validation, alternatives, and production use with AI agents.

一份面向开发者的 FMP 实用指南,涵盖价格、免费额度、Stable API 端点、认证、代码示例、数据验证、替代方案及 AI Agent 生产接入。

250Basic calls per dayBasic 每日调用次数
150+endpoints listed on BasicBasic 可探索端点
Stablecurrent API family当前 API 系列
Financial Modeling Prep API endpoint selection, schema normalization, freshness validation, and AI agent workflow
TL;DR

FMP is broad and easy to test, but production fit depends on plan access and data semantics

FMP 覆盖广、容易测试,但生产可用性取决于套餐权限与数据语义

Financial Modeling Prep provides stock quotes, historical prices, company profiles, financial statements, ratios, calendars, news, filings, and other market datasets through JSON APIs. The Basic plan is useful for evaluation and small personal workflows; commercial products should verify endpoint access, history, freshness, bandwidth, display rights, and redistribution terms before launch.

Financial Modeling Prep 通过 JSON API 提供股票报价、历史价格、公司资料、财务报表、比率、日历、新闻、监管文件等数据。Basic 套餐适合评估和小型个人工作流;商业产品上线前应核对端点权限、历史深度、时效、带宽、展示权和再分发条款。

BEST FOR
Prototypes and financial research apps
原型与金融研究应用

A practical fit when one API must cover fundamentals, prices, calendars, profiles, and news.

适合希望通过一个 API 覆盖基本面、价格、日历、公司资料和新闻的团队。

CHECK FIRST
Plan-specific access and licensing
套餐权限与授权

Do not assume every documented endpoint, market, history window, or display use is included in every plan.

不要假设所有文档端点、市场、历史范围或展示用途都包含在每个套餐中。

AGENT RULE
Keep evidence with every result
每个结果都保留证据

Return source, symbol, exchange, currency, event time, fiscal period, units, and freshness with the data.

随数据返回来源、代码、交易所、币种、事件时间、财报期、单位和时效。

Who should use the Financial Modeling Prep API?

谁适合使用 Financial Modeling Prep API?

DEVELOPERS
Dashboards, screeners, and valuation tools
看板、筛选器与估值工具

Teams that need familiar REST endpoints for profiles, quotes, statements, metrics, and calendars.

需要通过熟悉的 REST 端点获取公司资料、报价、财务报表、指标和日历的团队。

DATA TEAMS
Research and monitoring pipelines
研究与监控管道

Analysts building scheduled earnings, filings, news, price, or fundamental-data workflows.

构建财报、文件、新闻、价格或基本面定时工作流的分析团队。

AI TEAMS
Financial agents with controlled tools
使用受控工具的金融 Agent

Agent builders that can validate structured results before a model summarizes or acts on them.

能在模型总结或执行动作前验证结构化结果的 Agent 开发团队。

Not a universal fit: verify exchange-grade latency, tick-level streaming, entitlements, and redistribution separately when building execution or public-display products.并非适合所有场景:构建交易执行或公开展示产品时,应单独核对交易所级延迟、逐笔流、授权和再分发权。

Financial Modeling Prep pricing and free-tier limits

Financial Modeling Prep 价格与免费额度

The following personal-use prices and limits were checked against FMP’s official pricing page on July 30, 2026. Pricing, endpoint access, and licensing can change; confirm the official page before purchasing or launching.

以下个人使用价格和限制于 2026 年 7 月 30 日根据 FMP 官方价格页核验。价格、端点权限和授权可能变化,购买或上线前请再次确认官方页面。

Plan套餐Listed price页面价格Call limit调用限制Best starting point适用起点
BasicFree免费250 calls/day250 次/天Testing, learning, personal prototypes, end-of-day and reference data测试、学习、个人原型、日终与参考数据
Starter$22/month*300 calls/minute300 次/分钟US fundamentals, historical prices, news, crypto, and forex美国基本面、历史价格、新闻、加密货币和外汇
Premium$59/month*750 calls/minute750 次/分钟Longer history, more regions, intraday charts, indicators, and corporate calendars更长历史、更多地区、盘中图表、技术指标和公司日历
Ultimate$149/month*3,000 calls/minute3,000 次/分钟Global coverage, transcripts, holdings, bulk delivery, and deeper access全球覆盖、电话会记录、持仓、批量交付和更深权限

*Prices shown by FMP for annual billing when checked. FMP also documents trailing 30-day bandwidth limits and separate personal versus commercial use. Displaying or redistributing FMP data may require an additional agreement.

*核验时 FMP 页面展示的是按年计费的月均价格。FMP 还规定滚动 30 天带宽限制,并区分个人和商业使用;展示或再分发 FMP 数据可能需要额外协议。

What data and endpoints does the FMP API provide?

FMP API 提供哪些数据和端点?

QUOTE
Quotes and historical prices
报价与历史价格
Docs

Use quote, batch quote, end-of-day history, and intraday chart endpoints for market snapshots and time series.

使用报价、批量报价、日终历史和盘中图表端点获取市场快照与时间序列。

Validate: venue, delay, session, adjustment验证:场所、延迟、时段、复权
FUNDAMENTALS
Statements, ratios, and metrics
财务报表、比率与指标
Docs

Retrieve income statements, balance sheets, cash flows, key metrics, ratios, growth, and reported financials.

获取利润表、资产负债表、现金流量表、关键指标、比率、增长和原始财报数据。

Validate: period, currency, units, restatements验证:报告期、币种、单位、重述
CALENDARS
Earnings and corporate events
财报与公司事件
Docs

Track earnings, dividends, splits, IPOs, and economic releases. FMP lists earnings-calendar refreshes every three hours.

跟踪财报、分红、拆股、IPO 和经济数据发布。FMP 的更新周期页列出财报日历约每三小时更新。

Validate: timezone, announced date, update time验证:时区、公告日期、更新时间
CONTEXT
Profiles, news, filings, and transcripts
公司资料、新闻、文件与电话会
Docs

Add company identity, market capitalization, industry, news, press releases, SEC material, analyst data, and transcripts where the plan permits.

在套餐允许时补充公司身份、市值、行业、新闻、新闻稿、SEC 材料、分析师数据和电话会记录。

Validate: source, publication time, entitlement验证:来源、发布时间、权限

Step-by-step FMP API implementation

FMP API 分步接入方法

STEP 1
Choose one Stable endpoint
选择一个 Stable 端点

Start with a narrow operation such as company profile, quote, income statement, or earnings calendar.

从公司资料、报价、利润表或财报日历等范围明确的操作开始。

STEP 2
Keep the API key server-side
把 API Key 留在服务端

Load it from an environment variable and append it as the apikey query parameter.

从环境变量读取,并作为 apikey 查询参数发送。

STEP 3
Validate before normalizing
先验证,再规范化

Distinguish HTTP errors, FMP error payloads, empty results, incomplete pages, and valid records.

区分 HTTP 错误、FMP 错误响应、空结果、分页不完整和有效记录。

STEP 4
Attach evidence
附加证据

Preserve endpoint, provider, requested symbol, retrieval time, source timestamps, and plan-dependent warnings.

保留端点、供应商、请求代码、获取时间、来源时间戳和套餐相关警告。

STEP 5
Cache by data class
按数据类别缓存

Quotes, calendars, profiles, statements, and transcripts should not share one cache TTL.

报价、日历、公司资料、财报和电话会记录不应使用同一个缓存时间。

STEP 6
Expose a narrow agent tool
向 Agent 暴露窄工具

Give the model typed operations and bounded parameters rather than arbitrary URLs or raw API keys.

向模型提供类型明确、参数受限的操作,而不是任意 URL 或原始 API Key。

curl "https://financialmodelingprep.com/stable/quote?symbol=AAPL&apikey=YOUR_API_KEY"
const url = new URL("https://financialmodelingprep.com/stable/profile");
url.searchParams.set("symbol", "AAPL");
url.searchParams.set("apikey", process.env.FMP_API_KEY);

const response = await fetch(url, { signal: AbortSignal.timeout(8000) });
if (!response.ok) throw new Error(`FMP HTTP ${response.status}`);

const rows = await response.json();
if (!Array.isArray(rows) || rows.length === 0) {
  throw new Error("FMP returned no company profile");
}

const result = {
  provider: "financial-modeling-prep",
  endpoint: "profile",
  requestedSymbol: "AAPL",
  retrievedAt: new Date().toISOString(),
  data: rows[0]
};

Validation checklist before an agent uses FMP data

Agent 使用 FMP 数据前的验证清单

Check检查项What to verify验证内容Failure if skipped忽略后的风险
Identity证券身份Symbol, exchange, CIK, instrument type代码、交易所、CIK、证券类型Wrong company or listing匹配到错误公司或上市地
Time时间Event time, retrieval time, timezone, market session事件时间、获取时间、时区、交易时段Old data described as current把旧数据描述为当前数据
Financial period财报期Fiscal year, quarter, filing date, accepted date财年、季度、申报日期、接受日期Mixing annual and quarterly values混用年度与季度数据
Units单位Currency, scale, percentage, per-share basis币种、数量级、百分比、每股口径Million-versus-unit or currency errors百万与个位或币种错误
Completeness完整性Nulls, pagination, record limits, historical window空值、分页、记录限制、历史窗口Partial results that look complete把残缺结果当成完整结果
Market semantics市场语义Real-time or delayed, adjusted or unadjusted, venue and coverage实时或延迟、复权或未复权、场所与覆盖Invalid comparisons and misleading alerts无效比较和误导性告警

Direct FMP integration, MCP, or QVeris routing?

直接接入 FMP、使用 MCP,还是通过 QVeris 路由?

Approach方式Use when适用情况You own需要自行负责
Direct FMP API直接调用 FMP APIThe application has a fixed set of known endpoints and one primary provider.应用只有一组固定端点和一个主要供应商。Authentication, client code, validation, retries, caching, and schema changes.认证、客户端代码、验证、重试、缓存和结构变化。
FMP MCP serverFMP MCP ServerAn MCP-compatible client needs FMP-backed tools inside a controlled assistant workflow.兼容 MCP 的客户端需要在受控助手工作流中使用 FMP 工具。Server operation, credentials, tool schemas, policy, and provider-specific errors.服务器运行、凭据、工具结构、策略和供应商错误。
QVeris capability routingQVeris 能力路由The agent must discover, inspect, compare, and call across multiple financial capabilities.Agent 需要跨多种金融能力完成发现、检查、比较和调用。Business policy and validation rules; QVeris provides a common discovery and execution layer.业务策略与验证规则;QVeris 提供统一发现和执行层。

Security, cost, and latency controls

安全、成本与延迟控制

SECURITY
Protect keys and restrict tools
保护密钥并限制工具
  • Keep FMP keys in server-side secret storage.把 FMP Key 存放在服务端密钥系统。
  • Redact URLs and query strings from logs.对日志中的 URL 和查询参数脱敏。
  • Allowlist endpoints and bound symbols, dates, and page sizes.只允许批准的端点,并限制代码、日期和分页大小。
COST
Budget calls and bandwidth
控制调用量与带宽
  • Cache slow-changing profiles and statements.缓存变化较慢的公司资料与财报。
  • Batch symbols only where the plan and endpoint allow it.仅在套餐和端点允许时批量请求代码。
  • Track daily calls, rolling bandwidth, retries, and response size.跟踪每日调用、滚动带宽、重试和响应大小。
LATENCY
Define freshness by workflow
按工作流定义时效
  • Use separate TTLs for quotes, calendars, profiles, and statements.为报价、日历、公司资料和财报设置不同 TTL。
  • Set connection and total timeouts.设置连接与总超时。
  • Do not silently serve stale cache after a provider failure.供应商失败后不要静默返回过期缓存。

Troubleshooting common FMP API failures

FMP API 常见故障排查

Symptom现象Likely cause可能原因First action首要动作
401 / 403Invalid key, unavailable endpoint, or plan restrictionKey 无效、端点不可用或套餐限制Test the key in the official docs and inspect endpoint plan access.在官方文档中测试 Key,并检查端点的套餐权限。
429Daily, per-minute, or workflow retry limit reached达到每日、每分钟或工作流重试限制Stop automatic retries, add backoff, cache, and inspect usage.停止自动重试,增加退避与缓存,并检查用量。
Empty array空数组Wrong symbol, unsupported market, no record, or restricted history代码错误、市场不支持、无记录或历史范围受限Resolve the instrument first and test a known symbol and date.先解析证券身份,再用已知代码和日期测试。
Values disagree数值不一致Different fiscal period, currency, units, adjustment, or update time财报期、币种、单位、复权或更新时间不同Compare raw records and metadata before changing prompts.先比较原始记录和元数据,不要先改提示词。
Agent gives a confident wrong answerAgent 自信地给出错误答案The tool returned data without evidence, warnings, or validation status工具返回数据时缺少证据、警告或验证状态Return provenance and validation fields, and block synthesis on failed checks.返回来源和验证字段,验证失败时阻止模型生成结论。

FMP alternatives: choose by the exact workflow

FMP 替代方案:按具体工作流选择

Do not choose a provider from endpoint count alone. Compare the markets, fields, update cycles, history, limits, licensing, and failure behavior your application actually needs.

不要只根据端点数量选择供应商。应比较应用真正需要的市场、字段、更新周期、历史深度、限制、授权和失败行为。

POLYGON

Compare fundamentals-oriented breadth with market-data depth, latency, and asset coverage.

比较偏基本面的广度与市场数据深度、延迟和资产覆盖。

ALPHA VANTAGE

Compare free access, technical indicators, fundamentals, history, and production limits.

比较免费权限、技术指标、基本面、历史范围和生产限制。

FINNHUB

Compare real-time workflows, news, alternative signals, fundamentals, and commercial fit.

比较实时工作流、新闻、另类信号、基本面和商业适配。

A QVeris implementation pattern for FMP-backed agents

FMP 金融 Agent 的 QVeris 实现模式

Keep FMP as a provider-backed capability, not as an arbitrary URL the model can construct. A production flow should separate intent, discovery, inspection, execution, validation, and final synthesis.

把 FMP 作为供应商支持的能力,而不是允许模型任意构造 URL。生产流程应分离意图、发现、检查、执行、验证和最终总结。

1 · DISCOVER
Resolve the financial task
解析金融任务

Determine whether the user needs a quote, statement, calendar, profile, news item, or multi-source research workflow.

判断用户需要报价、财报、日历、公司资料、新闻,还是多来源研究工作流。

2 · INSPECT
Check schema, access, and evidence
检查结构、权限与证据

Confirm required parameters, provider notes, result fields, freshness expectations, and cost before calling.

调用前确认必需参数、供应商说明、结果字段、时效预期和成本。

3 · CALL + VALIDATE
Execute with bounded inputs
用受限输入执行并验证

Call the selected capability, validate identity, time, units, period, completeness, and preserve the execution record.

调用选定能力,验证身份、时间、单位、报告期和完整性,并保留执行记录。

Financial Modeling Prep API FAQ

Financial Modeling Prep API 常见问题

Is the Financial Modeling Prep API free?Financial Modeling Prep API 免费吗?
FMP offers a Basic plan with 250 calls per day, end-of-day historical data, profile and reference data, and access to more than 150 endpoints. Endpoint access, history, licensing, and bandwidth vary by plan, so verify the current pricing page before deployment.FMP 提供 Basic 免费套餐,每日 250 次调用,包含日终历史数据、公司资料和参考数据,并可探索 150 多个端点。端点权限、历史范围、授权和带宽因套餐而异,上线前应核对当前价格页。
How do I authenticate an FMP API request?FMP API 如何认证?
Add the API key as the apikey query parameter to a Stable endpoint. Keep the key in a server-side secret rather than shipping it in browser code.把 API Key 作为 apikey 查询参数添加到 Stable 端点。密钥应存放在服务端,不应打包进浏览器代码。
Does FMP provide real-time stock prices?FMP 提供实时股票价格吗?
FMP documents real-time quote endpoints, but access, coverage, delay, and redistribution rights depend on the selected plan and intended use. Verify the plan and feed semantics instead of relying on the endpoint label alone.FMP 文档包含实时报价端点,但权限、覆盖、延迟和再分发权取决于所选套餐和用途。不要只根据端点名称判断,应核对套餐和行情语义。
Does FMP provide an earnings calendar?FMP 提供财报日历吗?
Yes. The Stable Earnings Calendar endpoint covers upcoming and historical announcements with fields such as dates, estimated EPS, and actual EPS. FMP lists an approximately three-hour update cycle; plan access should be verified.提供。Stable Earnings Calendar 端点覆盖未来和历史财报公告,包括日期、预估 EPS 和实际 EPS 等字段。FMP 列出的更新周期约为三小时,同时需要核对套餐权限。
What should an AI agent validate in FMP data?AI Agent 应验证 FMP 数据的哪些内容?
Validate symbol and exchange, currency and units, event or filing timestamp, fiscal period, adjustment policy, nulls, pagination, source, and freshness before allowing the model to summarize the result.在模型总结前验证代码和交易所、币种与单位、事件或申报时间、财报期、复权规则、空值、分页、来源和时效。
When should I use QVeris with FMP?什么时候应将 QVeris 与 FMP 一起使用?
Use direct FMP integration for a fixed set of known endpoints. Use QVeris when an agent needs runtime capability discovery, schema inspection, multi-provider routing, fallback, and an auditable execution record.固定端点工作流可以直接接入 FMP;当 Agent 需要运行时能力发现、结构检查、多供应商路由、回退和可审计执行记录时使用 QVeris。
What are common Financial Modeling Prep alternatives?常见的 Financial Modeling Prep 替代方案有哪些?
Common alternatives include Polygon, Alpha Vantage, and Finnhub. Compare coverage, freshness, history, rate limits, licensing, and the exact endpoints required by the application.常见替代方案包括 Polygon、Alpha Vantage 和 Finnhub。应比较覆盖范围、时效、历史深度、调用限制、授权和应用所需的具体端点。

Official FMP sources and related QVeris guides

FMP 官方资料与 QVeris 相关指南

START SMALL

Prove one FMP workflow before expanding

先验证一个 FMP 工作流,再逐步扩展

Choose one endpoint, one known symbol, and one expected result. Validate identity, time, units, plan access, error handling, and provenance before adding more datasets or allowing an agent to select capabilities dynamically.

选择一个端点、一个已知代码和一个预期结果。验证证券身份、时间、单位、套餐权限、错误处理和来源后,再增加更多数据集或允许 Agent 动态选择能力。