Vintage federates the free, point-in-time financial data of
the web.
Point-in-time means you only ever see what the world could actually see
that day. No number that was revised, restated or listed years later leaks backwards into a test
of the past.
There is no free lunch in market data — the real terminals cost more than a car.
But most of what they sell is already public and already free, just scattered across a
dozen government, university and exchange sites in ten incompatible formats, none of them
keeping track of when anything became known.
Vintage is the closest thing to a free terminal: one pipeline, one schema, one interface.
Eighteen sources scattered across the internet, one interface,
every value dated twice.
claude mcp add vintage -s user -- uvx vintage-mcp
Free forever · no key · no account
$0total cost
100years of history
18primary sources
6verbs, that's the API
800k+macro series
331published anomalies
How the federation works
Filings from the regulator that receives them, macro from the central bank that
publishes it, factors from the university that computes them — then four stages that make
them one dataset. Vintage hosts none of it.
Gluing ten APIs together is a weekend. Keeping them
honest about time is the whole job. Watch the day-marker sweep forward:
a fact only enters your backtest once it was genuinely public, and a correction adds a row
instead of erasing one.
← swipe the diagram sideways
Lagtrue in December, published in FebruaryRestatementthe company changes last year's numberRevisionthe government keeps fixing old figuresSurvivorshipdead companies quietly disappearMembershiptoday's S&P 500 is not 2005's listAdjustmentsplits rewrite every price before them
Six ways yesterday's data quietly changed underneath you. Sources that cannot
supply an honest known_at are flagged UNKNOWN_VINTAGE rather than given
a made-up date.
And it counts how many times you asked
Free data plus a fast backtester is a machine for fooling yourself. Vintage keeps
a ledger of every idea you tried this session and prices it into the result.
Execution realism is a different problem, already solved by
LEAN and
Nautilus Trader — Vintage runs before that, where most
ideas should die. Citations are references, not endorsements; anything marked planned is not in
the code yet, and the backtest response says so at runtime.
What it feels like
claude — vintage
$claude mcp add vintage -s user -- uvx vintage-mcp