Financial Statements Guide财务报表指南

Choose a Reliable Free Income Statement API选择可靠的免费利润表 API

Compare periods, field definitions, filing dates, restatements, request limits, and usage rights before building financial analysis.

在构建财务分析功能之前,应先比较财务报告期、字段定义、申报日期、
重述记录、请求频率限制和使用许可。

Hand-drawn workflow for evaluating a free income statement API by company lookup, statement retrieval, period checks, and analysis

Free income statement API: the short answer免费利润表 API:核心结论

A reliable income statement API should explain how revenue becomes net income over a defined reporting period. It must keep standalone quarters separate from year-to-date durations, distinguish reported line items from provider calculations, and preserve unusual or non-recurring items instead of forcing every issuer into an oversimplified template. For trend analysis, the period and accounting meaning of a value matter as much as the value itself.

可靠的利润表 API 应清楚呈现企业在一个明确报告期内如何从营业收入形成净利润。它必须区分单季度数据与年初至今累计数据,区分企业原始披露科目与供应商计算指标,并保留异常或非经常项目,而不是把所有发行人强行压缩进过度简化的模板。进行趋势分析时,数值对应的期间和会计含义与数值本身同样重要。

What “free” usually means

A free tier commonly limits requests, companies, history, bulk downloads, or commercial use. Treat it as an evaluation allowance.

Data to verify

Confirm revenue, cost of revenue, gross profit, operating expenses, operating income, taxes, earnings per share, and net income are consistently defined.

Hidden constraint

Providers may mix filing dates with fiscal periods or overwrite prior values after a restatement without preserving versions.

Best first step

Query one company across annual and quarterly periods, reconcile with the filing, then test pagination, missing values, and revisions.

“免费”的实际含义

免费套餐通常会限制请求次数、公司覆盖范围、历史数据跨度、批量下载或商业用途,应将其视为评估试用额度。

必须核验的数据

确认营业收入、营业成本、毛利、营业费用、营业利润、所得税、每股收益和净利润等字段的定义始终一致。

容易忽略的约束

供应商可能混淆申报日期与财务报告期,也可能在财报重述后覆盖原有数据,却不保留历史版本。

建议的第一步

先查询同一家公司多个年度和季度报告期的利润表,与原始申报文件逐项核对,再测试分页、缺失值和数据修订的处理方式。

Which free income statement API should you start with?免费利润表 API 应该从哪一种开始?

The best starting point depends on whether you value filing fidelity, ready-to-use normalized fields, or a broader developer API. “Free” does not make the options interchangeable: they expose different accounting detail, geographic coverage, history, request capacity, and redistribution rights. The comparison below is a practical shortlist, not a permanent pricing promise; verify the current plan and license before shipping a product.

选择哪一种免费利润表 API,取决于你更看重原始申报的忠实度、开箱即用的标准化字段,还是更完整的开发者数据接口。“免费”并不意味着这些方案可以互相替代:它们在会计明细、市场覆盖、历史跨度、请求容量和再分发权利上差异很大。下表适合作为初步筛选清单,但不是对长期价格或套餐权益的承诺;产品上线前仍应重新核对最新方案与许可条款。

Starting point候选方案Best fit更适合What you receive主要能力What you must handle需要自行处理
SEC EDGAR XBRL APIsUS filing research, source verification, and audit-friendly pipelines.美国上市公司申报研究、来源核验和重视审计追踪的数据链路。No API key, company facts and individual concepts in JSON, filing context, and nightly bulk archives.无需 API 密钥,可获取 JSON 格式的公司事实与单项会计概念、申报上下文,以及每日更新的批量压缩包。CIK lookup, XBRL concept mapping, duplicate contexts, custom tags, fiscal-period logic, and server-side requests because data.sec.gov does not support CORS.CIK 映射、XBRL 概念归一、重复上下文、自定义标签、财务报告期判断;此外 data.sec.gov 不支持 CORS,通常需要由服务端请求。
Alpha VantageA small prototype that needs annual and quarterly statements in a compact normalized response.需要快速获得年度和季度标准化报表的小型原型。A documented income-statement endpoint with GAAP and IFRS taxonomy mapping and a simple symbol-based request.文档清晰的利润表接口,提供 GAAP 与 IFRS 分类映射,并可按股票代码直接查询。The current free service is limited to 25 requests per day, so it is unsuitable for a broad screener without caching, batching, or a paid plan. Preserve filing evidence separately.目前免费服务每天最多 25 次请求;如果不做缓存、批处理或升级套餐,不适合覆盖大量股票的筛选器。还应另行保存申报来源证据。
Financial Modeling PrepDevelopers comparing standardized statements with as-reported records, TTM values, growth endpoints, or broader company data.需要同时比较标准化报表与原始披露数据,或还需要 TTM、增长率及其他公司数据的开发者。Separate normalized and as-reported income-statement endpoints, plus related TTM, growth, filing-date, and bulk capabilities documented in one API family.在同一套 API 中提供标准化利润表、原始披露利润表,以及相关的 TTM、增长率、申报日期和批量数据能力。An API key is required, and free-plan endpoint access, coverage, history, and quotas must be tested against the current account before architecture decisions are made.需要 API 密钥;在确定技术架构前,必须使用当前账户实测免费套餐的接口权限、公司覆盖、历史跨度和请求配额。

Practical recommendation: use SEC EDGAR when source fidelity and US filing evidence come first; use a normalized provider when development speed matters; keep both layers when an application must produce convenient metrics and still explain where every number came from.

实用建议:如果首要目标是忠实还原美国上市公司申报并保留证据链,应优先考虑 SEC EDGAR;如果更看重开发速度,可先使用标准化数据服务;如果产品既要快速计算指标,又要解释每个数字的来源,最好同时保留标准化层与原始申报层。

What an income statement API should return利润表 API 应返回哪些数据

Each record should identify the company, fiscal period start and end, period type, currency, filing and acceptance dates, source document, and whether values are original, standardized, derived, or restated. Numeric fields need units, signs, and clear null behavior. If the API offers trailing-twelve-month data, it should identify the four source quarters or the method used to construct the period.

每条记录都应明确对应的公司、财务报告期起止日期、期间类型、币种、文件提交与监管系统接收日期、来源文件,并标注各项数值属于原始披露、标准化、计算还是重述数据。数值字段还应注明单位、正负号和空值处理规则。如果 API 提供滚动十二个月数据,还应列明所采用的四个季度,或说明具体构造方法。

Period identity and duration

Keep fiscal year, quarter, start date, end date, filing date, acceptance time, and annual, quarterly, or year-to-date type separate. Calendar-year assumptions fail for off-calendar issuers. A nine-month cumulative value must not be presented as third-quarter performance.

Revenue and gross profit bridge

Look for revenue, cost of revenue, gross profit, and material revenue categories. Confirm whether revenue is reported net or gross, whether discontinued operations are separated, and how segment totals reconcile to the consolidated amount.

Operating expenses and operating income

Preserve research and development, sales and marketing, general and administrative expense, depreciation, restructuring, impairment, and stock-based compensation when disclosed. A single operating-expense total is insufficient for margin-quality analysis.

Below-the-line items, tax, and earnings

Separate interest income and expense, investment gains, foreign-exchange effects, equity-method results, unusual items, tax expense, non-controlling interests, and discontinued operations before arriving at net income attributable to common shareholders.

Shares, EPS, and revisions

Basic and diluted weighted-average shares and EPS should use compatible periods. Retain the filing URL or accession identifier, reported currency, normalization method, and restatement status so historical earnings do not change without explanation.

Reconcile reported and derived margins

Recalculate gross, operating, pretax, and net margins from the same period and unit before comparing companies. Verify subtotal arithmetic and investigate differences caused by non-GAAP adjustments, reclassifications, discontinued operations, or provider sign conventions. Keep reported values separate from ratios and growth rates derived by your application.

Preserve the earnings bridge

A useful research record explains how revenue became attributable net income. Store the material line items, filing evidence, normalization decisions, and period-over-period drivers behind each conclusion. This lets an analyst or agent distinguish durable operating improvement from tax effects, one-time gains, currency movements, or a shrinking share count.

报告期身份与期间长度

应分别保留财年、财季、起止日期、文件提交日期、监管系统接收时间,以及年度、单季度或年初至今累计类型。对于财年与自然年不一致的公司,不能直接按日历年度推断报表归属,也不能把九个月累计数当作第三季度单季业绩。

从营业收入到毛利

应覆盖营业收入、营业成本、毛利和重要收入类别,并确认收入采用总额法还是净额法、终止经营是否单独列示,以及业务分部收入如何与公司合并收入勾稽。

营业费用与营业利润

企业披露时,应分别保留研发、销售与市场、一般及行政、折旧摊销、重组、资产减值和股份支付等项目。只有一个营业费用合计数,不足以判断利润率改善的质量。

营业利润以下项目、所得税与净利润

在计算净利润前,应区分利息收入与支出、投资收益、汇兑影响、权益法投资结果、异常项目、所得税、少数股东损益和终止经营,并明确归属于普通股股东的净利润。

股数、每股收益与修订记录

基本和稀释后加权平均股数及每股收益必须采用相同期间。还应保留申报文件链接或编号、列示币种、标准化口径和重述状态,避免历史盈利数据在没有说明的情况下发生变化。

复核报告值与派生利润率

比较公司前,应使用相同期间和单位重新计算毛利率、营业利润率、税前利润率与净利率,并检查各级小计是否勾稽。非 GAAP 调整、项目重分类、终止经营或供应商正负号约定造成的差异必须单独说明;企业报告值与应用自行计算的比率和增长率也应分开保存。

保留完整的盈利变化桥梁

高质量研究记录应解释营业收入如何逐步形成归属净利润。每项结论都要保留重要科目、申报证据、标准化判断和同比环比驱动因素,使分析师或 Agent 能区分持续性的经营改善,与税务影响、一次性收益、汇率变化或股数减少带来的表面增长。

Worked example: derive a standalone quarter from compatible YTD facts实例:用口径兼容的累计数据推导单季度

Suppose a company's nine-month filing reports year-to-date revenue of $900 million and net income of $90 million, while the prior six-month filing reports $560 million of revenue and $52 million of net income. If both filings use the same consolidated scope, currency, unit, accounting policy, and continuing-operations basis, the derived third quarter is $340 million of revenue and $38 million of net income. The derived net margin is 38 ÷ 340 = 11.18%, not 90 ÷ 900 = 10.00%, which describes the nine-month period.

假设公司九个月累计申报披露营业收入 9 亿美元、净利润 9000 万美元,上一份六个月累计申报披露营业收入 5.6 亿美元、净利润 5200 万美元。如果两份文件采用相同的合并范围、币种、单位、会计政策和持续经营口径,则可推导第三季度单季营业收入为 3.4 亿美元、净利润为 3800 万美元。单季净利率应为 38 ÷ 340 = 11.18%,而不是 90 ÷ 900 = 10.00%;后者描述的是九个月累计期间。

Do not subtract when the later filing restates the six-month comparative, changes currency or consolidation scope, reclassifies discontinued operations, or uses a different taxonomy mapping. In those cases, locate a compatible prior cumulative fact or leave the standalone quarter unavailable. Store both source facts, accession or filing IDs, calculation formula, and a derived flag so the quarter can be reproduced.

如果后续文件重述了六个月比较数据、改变币种或合并范围、重新分类终止经营,或使用了不同的科目映射,就不能直接相减。此时应寻找口径兼容的上一期累计数据;找不到时,应把单季度结果标记为不可用。两条来源事实、申报文件编号、计算公式和衍生标记都要保留,确保该季度数值能够复算。

Match income statement access to your use case按使用场景选择利润表接入方案

Use case使用场景Data needed所需数据Recommended access建议方案Key limitation主要限制
Prototype原型开发Recent annual and quarterly statements in simple JSON.近期年度和季度利润表,采用结构简明的 JSON 格式。Documented free tier with a stable key.选择文档完善并提供稳定 API 密钥的免费套餐。Company and request quotas may be low.可查询的公司数量和请求配额可能较低。
Stock screener股票筛选工具Normalized fields, many companies, consistent periods.标准化字段、广泛的公司覆盖,以及口径一致的报表期间。Batch endpoints and predictable pagination.选择支持批量查询且分页规则明确的接口。Normalization can hide accounting differences.标准化处理可能掩盖不同公司的会计口径差异。
Historical research历史数据研究Long history, filing dates, revisions, source links.时间跨度较长的历史数据、申报日期、修订记录和来源链接。Versioned data or bulk downloads.选择保留历史版本的数据服务或批量下载方案。Free access often omits old filings.免费访问通常不包含早期申报文件。
Earnings-quality review盈利质量分析Expense detail, unusual items, tax bridge, shares, and links to cash flow.费用明细、异常项目、所得税衔接、股本和现金流对应关系。Filing-linked detail with preserved reported fields and explicit adjustments.选择能够链接申报文件、保留原始披露科目并明确记录调整项的数据方案。Headline-only revenue, EPS, and net income cannot explain earnings quality.只有营业收入、每股收益和净利润等摘要数据,无法解释盈利质量。
AI earnings briefAI 财报简报Current and comparison periods, source citations, material changes, and null reasons.本期与比较期、来源引用、重大变化和空值原因。Evidence-linked records that attach every generated claim to a period and source fact.采用带证据链的数据记录,使生成内容中的每项结论都能对应具体报告期和来源事实。Mixed periods can produce fluent but materially incorrect summaries.混用报告期会生成语言流畅但实质错误的摘要。
Commercial product商业化产品Reliable refreshes, broad coverage, support, usage rights.可靠的数据更新、广泛的公司覆盖、技术支持和明确的使用许可。Paid plan with an SLA and commercial license.选择提供服务级别协议和商业许可的付费方案。A free tier may prohibit redistribution.免费套餐可能禁止数据再分发。

Build a reliable income statement API workflow构建可靠的利润表 API 接入流程

A usable pipeline should preserve the statement as reported before it calculates growth, margins, or earnings quality. Start from an immutable source response, create one explicit record for each company and duration, and derive comparison metrics only after the period, currency, units, accounting basis, and filing version agree.

可靠的数据链路应先保留企业原始披露的利润表,再计算增长率、利润率或盈利质量指标。应从不可变的来源响应开始,为每家公司和每个报告期间建立明确记录;只有报告期、币种、单位、会计口径和文件版本一致时,才能进一步生成比较指标。

1. Save source facts before normalization

Retain request parameters, raw payload, provider, retrieval time, filing URL or accession, acceptance time, form type, taxonomy, amendment status, reported labels, values, units, and contexts. Keep normalized fields linked to the source fact rather than replacing it.

2. Construct compatible reporting periods

Classify annual, standalone-quarter, and year-to-date durations explicitly. Derive a quarter from cumulative facts only when both periods share accounting scope, currency, units, and filing basis. Store the two inputs and mark the result as calculated.

3. Reconcile the path from revenue to attributable income

Recalculate gross profit, operating income, pretax income, tax, consolidated net income, non-controlling interest, and net income attributable to common shareholders. Verify basic and diluted EPS against compatible weighted-average shares, and keep unexplained differences visible.

4. Version revisions and monitor semantic drift

Create a new statement version for amendments, corrected mappings, and changed normalization rules. Monitor missing required fields, subtotal failures, sudden sign or unit changes, stale filings, period remapping, and unexplained margin jumps. Every downstream screen or generated brief should retain its source version.

1. 标准化前先保存来源事实

保留请求参数、原始响应、数据服务商、获取时间、文件链接或申报编号、监管系统接收时间、表格类型、分类体系、修订状态,以及企业原始披露的科目名称、数值、单位和上下文。标准化字段应链接到来源事实,而不是将其覆盖。

2. 构造口径兼容的报告期间

明确区分年度、单季度和年初至今累计期间。只有两个累计期间在会计范围、币种、单位和文件口径上完全一致时,才能通过相减得到单季数据;两项输入都应保留,结果还要标记为计算值。

3. 勾稽营业收入到归属净利润的完整路径

依次复算毛利、营业利润、税前利润、所得税、合并净利润、少数股东损益和归属于普通股股东的净利润,并使用期间一致的加权平均股数核对基本与稀释每股收益。无法解释的差额应明确保留。

4. 为修订建立版本并监控口径漂移

修订文件、字段映射更正或标准化规则变化时,应生成新的报表版本。持续监控必需字段缺失、小计勾稽失败、正负号或单位突变、财报过期、报告期重新映射和无法解释的利润率跳变;下游筛选或生成简报还应保留所用来源版本。

Run one acceptance test before you trust the API正式采用前,先完成一组验收测试

Do not approve an income statement API after one successful request. Build a small fixture that includes a normal quarter, an annual filing, an amended filing, an off-calendar issuer, a loss-making company, and a company with material non-controlling interest or discontinued operations. The same fixture should run whenever a provider, schema, or normalization rule changes.

不能因为一次请求成功就认定利润表 API 可以使用。建议建立一组小型固定样本,至少包含普通季度、年度报告、修订文件、非自然年结算公司、亏损公司,以及存在重大少数股东损益或终止经营的公司。以后只要更换供应商、调整数据结构或修改标准化规则,都应重新运行同一组样本。

Test 1 — period identity

Confirm that fiscal year, fiscal quarter, start date, end date, filed date, form type, and duration agree. For a 10-Q containing six- or nine-month cumulative facts, verify that the API either returns the cumulative duration honestly or derives the standalone quarter from compatible facts and labels it as calculated.

Test 2 — arithmetic and earnings bridge

Check revenue minus cost of revenue against gross profit; reconcile operating expenses to operating income; then bridge pretax income, tax, consolidated income, non-controlling interest, and attributable net income. Define an explicit tolerance for rounding instead of silently accepting every difference.

Test 3 — revision and provenance

Fetch a filing that was amended or restated. Confirm that the new value does not erase the prior version, and that both records retain accession or filing URL, acceptance timestamp, reported label, unit, and transformation history. A generated brief should be reproducible from the version it originally used.

Test 4 — operational and legal limits

Measure response time, pagination, rate-limit headers, retry behavior, daily quota reset, and batch efficiency. Read the license for storage, derived analytics, client display, and redistribution. A technically accessible endpoint is not automatically licensed for a public financial product.

测试一:确认报告期身份

核对财年、财季、起止日期、申报日期、表格类型和期间长度是否一致。对于包含六个月或九个月累计数据的 10-Q,应确认 API 如实返回累计期间,或仅在来源事实兼容时计算单季度数据,并明确标注为计算值。

测试二:复核算术关系与利润形成路径

检查营业收入减营业成本是否等于毛利,营业费用是否能与营业利润勾稽,再继续核对税前利润、所得税、合并净利润、少数股东损益和归属净利润。对于四舍五入差异,应设置明确容差,而不是默认接受所有不一致。

测试三:验证修订记录和数据来源

选择一份曾被修订或重述的财报,确认新数值不会覆盖旧版本,并检查两条记录是否都保留申报编号或文件链接、监管系统接收时间、原始科目、单位和转换过程。已经生成的财报简报,应能够根据当时使用的数据版本重新还原。

测试四:验证运行能力与许可边界

测量响应时间、分页、限流响应头、重试行为、每日配额重置时间和批量查询效率;同时阅读数据存储、派生分析、客户端展示与再分发条款。接口在技术上能够访问,并不代表可以直接用于公开的金融产品。

Pass condition: approve the API only when the fixture produces period-correct, arithmetically explainable, source-linked results under the expected request load. Record known exceptions and assign an owner; do not hide them in application code.

通过条件:只有当固定样本在预期请求负载下能够得到报告期正确、算术关系可解释、来源可追溯的结果时,才应通过验收。已知例外必须形成记录并指定负责人,不能把问题隐藏在应用代码中。

QVerisQVeris

QVeris helps developers and agents discover income-statement and filing capabilities before integration, compare callable contracts, and inspect period parameters and outputs. This can reduce provider-specific discovery work. The application still needs to validate quarter-versus-year-to-date semantics, preserve source line items, manage revisions, and require evidence for any generated earnings explanation.

QVeris 可帮助开发者和 AI 智能体在接入前发现利润表与监管文件能力,比较可调用契约,并检查报告期参数和输出结构,从而减少逐一研究供应商接口的工作。应用方仍需核验单季度与年初至今累计口径,保留原始报表科目,管理修订版本,并要求生成的盈利解释附带数据证据。

  • Search for income-statement or financial-fundamentals capabilities by intent.
  • Inspect symbols, period parameters, schemas, and output examples before writing an adapter.
  • Keep licensing, revision handling, coverage, and quota checks in your production acceptance process.
  • 按需求意图查找提供利润表或公司基本面数据的工具。
  • 在编写适配器前检查证券代码格式、报告期参数、数据结构和输出示例。
  • 在生产环境验收中核查使用许可、修订处理方式、数据覆盖范围和请求配额。

FAQ常见问题

Can I get income statements through a free API?

Yes. Several services expose limited company fundamentals or regulatory filings without charge. Limits commonly apply to requests, history, coverage, bulk access, or commercial use.

Should I use reported or normalized fields?

Use reported values when fidelity to the filing matters. Normalized fields make cross-company analysis easier, but you should retain source labels and provenance so differences remain auditable.

How do I get a standalone quarter from year-to-date data?

Subtract the prior cumulative duration only when both facts use compatible accounting scope, currency, and filing versions. Mark the result as derived and preserve the two source records.

Why can revenue differ between providers?

Providers may choose different reported concepts, treat discontinued operations differently, normalize gross versus net presentation, or select different filing versions. Compare the original concept and context before judging the number.

What makes an income item non-recurring?

No universal field identifies every non-recurring item. Review restructuring, impairment, litigation, disposal, acquisition, and other unusual disclosures, and document any adjustment rather than deleting them automatically.

How should negative or missing EPS be handled?

Keep reported basic and diluted EPS with their share counts and periods. Use null plus a reason for unavailable data; do not replace missing values with zero or recalculate without documenting the method.

可以通过免费 API 获取利润表数据吗?

可以。一些服务会免费提供范围有限的公司基本面数据或监管申报文件,但通常会限制请求次数、历史数据范围、公司覆盖范围、批量访问或商业用途。

应该使用原始申报值还是标准化数值?

需要忠实还原申报文件时,应使用原始申报值。标准化数值便于开展跨公司分析,但仍应保留原始科目名称和数据来源,确保口径差异可追溯、可审计。

如何从年初至今累计数据得到单季度数据?

只有当前累计数与上一期累计数在会计范围、币种和文件版本上兼容时,才可以相减得到单季数值。计算结果应标记为衍生数据,并保留两条来源记录。

为什么不同供应商的营业收入会不一致?

供应商可能选择了不同的原始会计概念,对终止经营采取不同处理,采用不同的收入总额或净额标准化规则,或选取了不同文件版本。判断数值前,应先比较原始概念和会计上下文。

如何判断利润项目是否属于非经常损益?

没有一个通用字段能够识别所有非经常项目。需要检查重组、减值、诉讼、资产处置、并购及其他异常披露;进行调整时应记录判断依据,而不能自动删除。

每股收益为负或缺失时应如何处理?

应保留企业披露的基本和稀释每股收益,并关联相应股数与期间。数据暂不可用时,应返回空值和原因,不能用零代替,也不能在没有说明方法的情况下自行重算。

External references外部参考链接