# Known limits

> What the SEC sources can't give, what our rules decide imperfectly, and what we measured about both.

The data comes only from SEC filings: statements from the SEC's Financial Statement Data Sets, and metrics from its Company Facts files. This page lists what those sources can't give, and where our rules can be wrong. Counts are from build `pilot-1`, with the SEC's ticker file of 2026-11-06, unless a section says otherwise.

## Statements

**Dimensional lines are left out; totals are kept.** That covers segment lines, such as Apple's Products and Services net sales, and figures for variable interest entities, such as JPMorgan's "VIEs consolidated by the Firm". The data sets hold dimensional figures for every note as well as the statements, and don't say which ones a statement shows. In 343 checked statements, 66 (19%) had at least one such figure, 4.4% of the figures on the pages. In a separate 332, 72 (21.7%) did, 3.2% of the figures.

You can't always see the gap. A line whose figures are all dimensional is there with empty `values`. When the tag also has a total, as Apple's does, the document shows the total and nothing says other lines exist.

**`period_end` is rounded to the nearest month end**, by the SEC. Apple's year ending Sep. 27, 2025 reads 2025-09-30, and a period ending Jan. 14, 2025 reads 2024-12-31. Two periods that round to the same month end and length share one value, because the data sets keep one.

**`quarters` is rounded to whole quarters.** An eight-month period reads 3. On an income or comprehensive income statement, 0 always means a period of under about six weeks: 3,307 values, such as a stub before a company emerged from bankruptcy. On a cash flow statement, 0 is opening or closing cash in 237,105 values and a short period in 4,445, and the value doesn't say which.

**Labels hold ASCII only.** `stockholders’` reads `stockholders`, and an accented name loses letters. On 68 of 343 checked statements, and 70 of a separate 332, a label had lost a character. A lost character can change the meaning: NiSource's "maturity ≤ 90 days" reads "maturity = 90 days".

**A statement can hold values its page doesn't print.** The data sets don't say which periods a statement shows, so we infer them from the periods most of its tags share. Each value still comes from the filing, but it may not be on that statement: often a note's figure in another currency, a period with no column on the page, or a balance on a cash flow statement. In a sample with 25 multi-currency filers, 34 of 332 statements held such values, 137 in all. A whole column can be wrong too: Blend Labs' Q2 2026 income statement holds a Q4 2025 column of 21 values that the statement doesn't print. Take a value by its period and unit.

**Smaller limits:**

- Labels are XBRL labels, which can differ from the words in the filing's HTML.
- Section headings, such as "Current assets", aren't in the data sets. Line numbers leave a gap where one sat.
- Values keep four decimals. A filed 0.46887 reads 0.4689.
- A tag used twice, such as opening and closing cash, is one entry with two labels. Which label a value belongs to isn't stated, though the dates usually show it.
- When a tag's lines disagree on sign, `negating` and `display_value` are `null`: 595 of 4,168,464 entries.
- A unit can differ from the filing: Sun Life's FX rates read `USD` where the filing says `USD/shares`.
- A statement the SEC marks `UN`, unclassified, isn't served under any kind. At least 24 of 48,221 periodic filings have such a statement holding the usual tags of a kind they otherwise lack.
- Not every periodic filing has every kind: of the 48,221, 430 have no cash flow, 91 no income statement and 64 no balance sheet.
- Periodic forms only: 10-K, 10-Q, 20-F, 40-F, 10-KT and their amendments. No 6-K, S-1 or F-1, no equity statements and no parentheticals.

## Metrics

Filings disagree, and sometimes hold figures that aren't the company's own. Written rules decide what a series shows. Each rule marks the point in `adjustments`, or leaves the figure out. In the build of 2026-11-07, 833 of 1,301,626 figures were left out, on 242 companies.

**Figures can change or disappear, and they aren't versioned.** A later filing can restate a figure, or settle or reopen a disagreement. The API serves the current reading only. [Quality](/quality/#how-often-a-figure-changes) shows how many figures moved between the facts of 2026-05-06 and those of 2026-11-06.

**Another company's figures are left out.** An 8-K, S-4 or merger proxy can hold another company's statements under the filer's CIK, as Amcor's 8-K holds Berry Global's. So a figure rests only on forms that report the filer itself. A figure from any other form takes the company's own filing of that period when there is one, marked `source_replaced_from`, and is otherwise left out: 325 figures on 103 companies. We haven't checked whether a 6-K holds another entity's statements.

**A figure a thousand or a million times off.** Companies mis-tag scale, in both directions, so neither the larger nor the smaller figure is assumed right. The company's other years and other frequency decide, and failing that, how many filings state each figure. With nothing to decide it, the figure is left out: 129 figures. Universe Pharmaceuticals has no revenue for fiscal 2025 for this reason: its only filing for that year tagged every dollar figure a thousand times too high. These rules can be wrong in three ways we haven't measured on real filings: a true figure far below its history can lose; a real 1-for-1000 reverse split looks like a mis-tag; and a majority of filings can repeat a real error.

**A per-share figure of a thousand or more has to fit its filing.** Companies tag share counts and mis-scaled figures as earnings per share, often in every filing. Halliburton's 10-Qs give 0.79 as 790,000. So a figure this large must fit the income and share count of the filing it came from, within a factor of 100: 45 figures on 17 companies don't, and are left out. Real large figures stay, such as Ally's -21,765. Figures under 1,000 aren't tested, because real ones exist beside mis-scaled tags.

**Negative revenue stays when it's the company's total.** Funds, insurers, asset managers and gas producers with hedge losses can print negative total revenue. A kept negative carries `negative_kept`: 473 figures on 121 companies.

**Cash is the balance sheet's cash and cash equivalents line where the filing tags it.** When a filing tags cash without restricted cash for a date, that figure is served, marked `balance_sheet_cash_over`. A company that tags only the figure including restricted cash keeps it, marked `cash_measure`. This changed 2,357 figures at 438 companies, on the SEC file of 2026-11-06. When the annual and quarterly series disagree on one balance by over 1%, both take the newest figure a periodic filing's balance sheet shows for that date, marked `cash_aligned_from`: 1,734 figures on 1,652 dates.

**What the rules can't see.** A mis-scaled figure with no other filing to contradict it stays: 1,818 figures sit about a thousand or a million times away from their neighbours with no filing disputing them, and many are real. Revenue has 2,131 older points on 566 companies where a listed tag shows more than twice the figure for the same period, which can be a sub-line.

**Smaller things to expect, measured on 100 companies:**

- `source` isn't always the newest filing of a figure, because each frequency looks only at its own rows: 905 of 15,071 filed points, of which 73 have a different value.
- `fiscal_quarter` is `null` on every quarterly cash point and many other quarterly points, and `fiscal_year` can be `null`. Use `period_end`, since a stated fiscal label can be wrong.
- When a company changes reporting currency, periods in the old currency drop out of the series: 40 periods on 4 of 100 companies.
- The newest revenue can be years old while a company still reports: 3 of 90 graded.
- A company whose statement has revenue can have no revenue figure: 3 of 100.

## Delay

Statements can lag by about a quarter, because the SEC publishes its data sets once a quarter. A filing accepted just after a set closes waits for the next one, about 14 weeks. Metrics arrive the morning after the SEC publishes its Company Facts file, so they can be a quarter ahead of statements.

## Rate limit

A key's per-minute limit isn't a hard cap. Each server instance counts a key's requests on its own, so a key limited to 600 a minute that reaches three instances can make up to 1,800. The number of instances follows traffic. Please treat your limit as the rate you've agreed to; usage is counted across all instances.

## Reorganized companies

A ticker reaches one CIK, and we never join two CIKs' figures. For the reviewed cases where a company moved to a new parent CIK, see [Company](/datasets/company/#reorganized-companies).

## Coverage

| Item | Count |
|---|---|
| Statements | 163,459 documents from 48,142 filings by 7,869 companies, SEC data sets 2024q4 to 2026q3 |
| Metrics | 1,301,626 figures for 6,533 companies, from 56,772 documents |
| Companies | 9,492, of which 8,004 have a ticker. A filer with none still works by CIK |

Of the SEC's 10,409 tickers:

| Ticker reaches | Tickers | Why |
|---|---:|---|
| Metrics and statements | 8,384 | |
| Metrics, no statements | 170 | Mostly companies with no periodic filing in the window, recent filers waiting for the next data set, and subsidiaries that file with a parent |
| Statements, no metrics | 36 | Not examined |
| Neither | 1,819 | Mostly companies with no periodic form on file, including foreign companies with ADRs, and funds, which don't file these statements |

**Subsidiaries that file jointly with a parent often have no statements of their own**, because the data sets list one filer per filing. Pacific Gas & Electric, Southern California Edison and Consumers Energy reach metrics and no statements.

---
Source: https://docs.belfortagent.xyz/known-limits/
