ValueinValuein
For quants

The numbers as they were filed. Not as they were later corrected.

Every vintage of every US filing, keyed on CIK, with the SEC acceptance timestamp on every value and the companies that no longer exist still in the file. Ask for a date and you get what was knowable on it.

pip install valuein-sdk — a real row in under a minute, no card.

# the same query, twice — only the cutoff changes
ValueinClient(as_of=datetime(2021, 9, 1))
ValueinClient()  # no cutoff — the record as it stands

POST · Post Holdings · pre-tax income · fiscal Q3 2021

What was knowable then

as_of = 2021-09-01

−$4.2M

from the 10-Q filed 2021-08-06
0001530950-21-000255

What the record says now

as_of = today

−$46.1M

from the 10-Q filed 2022-08-05
0001530950-22-000253

Same company, same period, same raw XBRL tag. The second value arrived in a routine 10-Q a year later — no amendment. Both filings are linked above; we show the change and leave the reading to you.

US companies, delisted included
19,000+US companies, delisted included
Not just the latest value
Every vintageNot just the latest value
Pass 48 accounting identities
93.55%Pass 48 accounting identities
The key that survives a ticker change
CIKThe key that survives a ticker change
The week you actually have

We did not make these up. People said them.

You already know the biases by name. The problem is that most vendors describe them in marketing and reproduce them in the file.

The universe is the bias that costs the most

This problem makes all the research in equity factor analysis untrustable.

That is a paying platform's user, after the same code returned a different universe a month later because a bankrupt name had disappeared. Ours is keyed on CIK: a company that stops trading stops filing, and stays in the archive.

You train on corrected data and trade on uncorrected data

You end up training models entirely on corrected data, but trade based on uncorrected data.

This is the one a filing lag cannot fix, because the value itself was rewritten. We keep every vintage, so you can read what was filed, what it says now, and the diff between them — which is also a signal in its own right.

A filing date you cannot check is not a filing date

Period end is not publication time.

Every value carries the SEC acceptance timestamp of the filing it came from, not a period end plus an assumed lag. `as_of` filters on that timestamp, and an empty result tells you the earliest date we actually hold.

Free data is free because nobody maintains it

Free is doing a lot of work there.

SEC XBRL is genuinely public, and the normalisation is the product: thousands of raw tags collapsed onto standardized concepts, with the raw tag kept beside every value so you can audit the mapping instead of trusting it.

What changes

Your data can't leak the future. Your code still can.

  • The universe is whoever is still listed today.The universe is whoever had filed by your as-of date.
  • One value per period — the latest correction.Every vintage, with the acceptance timestamp on each.
  • Join on a ticker and inherit every reuse and rename.Join on CIK, which does not rot.
  • Paginate 19,000 symbols through a REST API.Query the Parquet out-of-core with DuckDB.
Receipts

Numbers we are willing to show our working for.

A controlled test of delisted coverage moved results in BOTH directions: adding delisted names improved a mean-reversion system and made a trend-following system worse. The conclusion was still to buy the delisted data — the point is that the bias is not a constant you can mentally subtract.
Cesar Alvarez, Alvarez Quant Trading — published backtests, both directions
Across the S&P 500, 497 of 500 companies have had at least one figure changed by a later filing. 94.5% of those changes arrived inside a routine quarterly or annual report — no amendment, no 8-K Item 4.02.
Measured by Valuein across the full S&P 500 filing history
93.55% of facts satisfy 48 catalogued accounting identities overall, 88.96% in the modern era. Published, and CI-gated against a drift greater than one point.
Valuein accuracy baseline, open-sourced at github.com/valuein/valuein
Before you ask

The reasons people say no.

Isn't a three-month lag good enough?

For mega caps, very nearly — and it is worth saying so, because published research comparing point-in-time against three-month-lagged fundamentals found the gap on a common value factor almost vanished in the US large-cap universe. A lag approximates timing. It does nothing for companies missing from your file, for small caps with looser filing behaviour, for multifactor stacks where errors compound rather than cancel, or for a value that was later rewritten. Those are the four cases this archive is for.

How is this different from Sharadar?

Sharadar is good and makes you choose between as-reported and most-recent-reported dimensions. That is a snapshot choice. We keep the vintages and the diff between them, so you can construct a signal on the revision itself, and every value links to the filing it was read from.

Why should I trust a small vendor's numbers?

Don't — check them. Every value carries an identifier that resolves to the filing and the exact raw XBRL tag, so a spot-check against sec.gov is one click rather than a research project. We publish an accuracy baseline below 100% with the method behind it, and the sample tier needs no card, so the cheapest way to evaluate this is to try to break it.

What are the real limits?

Standardized fundamentals thin out before the XBRL mandate. There are no analyst estimates and no consensus. Prices are vendor-licensed and carved out of the redistribution grant. Reverse-merger and predecessor-successor filings can still produce a spurious revision, which we cap rather than claim to have solved. Any of those could be a dealbreaker for your strategy, and you should find that out now rather than after a subscription.

Questions

Asked and answered.

Is this actually point-in-time, or is it a lagged snapshot?

Actually point-in-time. Every value carries the SEC acceptance timestamp of the filing it came from, and `as_of` filters on that timestamp — not on period end, and not on an assumed lag. If you ask for a company's FY2007 figures as of mid-2008, you get an explicit empty result naming the earliest acceptance date we hold, rather than a number nobody could have read that day.

How far back do the standardized fundamentals really go?

In practice they begin with the XBRL mandate around 2009. Earlier periods appear where a later filing carried them as comparative columns, and they carry that later filing's acceptance timestamp — so they are correctly invisible to an earlier `as_of`. We do not backfill a value to the date it describes. The 1993 figure elsewhere on this site refers to the filing record, which is a different thing, and we would rather say so than let you find out during a backtest.

Do you include delisted companies?

Yes, on Pro and Institutional — the universe is keyed on CIK and a company that stopped trading simply stops having filings. The free Benchmark tier covers every current and former S&P 500 constituent — the companies that left the index are in it, keyed on CIK — so it is survivorship-free within that universe; only the Sample tier's five-year window trims what a departed company contributes.

What identifier do you key on?

CIK, everywhere. Tickers get recycled and CUSIPs change on corporate actions; a CIK is permanent per registrant and survives renaming, delisting and ticker reuse. Tickers are an attribute you can join through, never the key.

How accurate is it, and how do you know?

Across 48 catalogued accounting identities, 93.55% of facts are internally consistent overall and 88.96% in the modern era. The baseline is published in the open-source repository and CI fails on a drift of more than one point. It is not 100% and we would distrust anyone who claimed it was — unmapped tags fall to an explicit 'Other' bucket rather than being quietly dropped.

What does it cost, and can I redistribute?

Pro is $49/month for a 15-year rolling window under an individual license. Institutional is $499/month for the full universe back through the filing record, the 13F and insider tables, for internal use by the subscriber (one seat); teams and firm-wide use are licensed by contract (Enterprise), and redistribution needs a separate Commercial licence. One Bearer token unlocks the SDK, the bulk API and the MCP server — there is no per-channel billing.

Pull a company you know went to zero. It is the fastest way to find out whether a fundamentals vendor is telling you the truth.

Recommended plan for this desk: Pro.