← comparisons

Marketstack Alternative for Fundamentals APIs

If you searched this, you probably already have Marketstack working for end-of-day or intraday prices and just hit a wall on the fundamentals side. That's a fair place to end up. Marketstack is genuinely good at what it's built for — broad ticker coverage, a simple REST API, a free tier to prototype against, and docs that don't require a sales call. None of that is in question here.

The issue is narrower and more specific: Marketstack's fundamentals endpoints return current, as-reported-today values. There's no first-filed date, no distinction between the original filing and later restatements, and no way to reconstruct "what the data actually said on March 15, 2019." For price/volume work that's irrelevant. For a fundamentals-driven backtest, it means every historical run is quietly using information the market didn't have yet — lookahead bias baked into the data layer before you've written a single line of strategy code.

Tradevo Data exists specifically to close that gap. It's not a general market-data platform — it's SEC-EDGAR-only, US equities only, annual filings only (10-K / 10-K/A, no quarterlies yet), covering 5,168 companies across 16 concepts (Revenue, NetIncome, Assets, StockholdersEquity, OperatingCashFlow, EPSDiluted, DilutedShares, GrossProfit, OperatingIncome, PretaxIncome, IncomeTaxExpense, CapitalExpenditures, CashAndCashEquivalents, CurrentAssets, CurrentLiabilities, NetPPE) with 632,466 point-in-time rows and up to 12 fiscal years of history. Every row carries a first_filed date, the original_value as first reported, the latest_value after any revisions, and a restated flag — 37,804 rows are flagged as restated across the dataset.

What Marketstack Is Genuinely Good At

If your use case is "show me this company's latest P/E on a dashboard," Marketstack's current-value fundamentals are fine. This isn't an argument against Marketstack in general — it's an argument against using any current-value fundamentals feed, from any vendor, inside a historical backtest.

Where Current-Value Fundamentals Break Backtests

The mechanism is simple. A company files a 10-K for FY2019 in March 2020. Two years later it restates net income for FY2019 by 8% in an amendment. A current-value API — Marketstack's fundamentals included — will happily hand you that restated number if you query "FY2019 net income" today, with no indication a restatement happened or when the original figure became public. Backtest a strategy that trades earnings surprises using that number as of a 2020 rebalance date, and you're testing against information that didn't exist until 2022.

Our own measurement on the public proof pack (5 companies, methodology on GitHub) put the gap between filing date and the next possible query date at a mean of 35.2 days and a max of 48 days on that sample's reliable-filing rows — this figure describes the 5-company public proof pack only, not the full dataset, and that's before counting actual restatements, which are a separate and often larger problem. We don't have a clean way to quantify how much of Marketstack's fundamentals data is post-restatement versus original, because that distinction isn't exposed in their API. That absence is itself the risk.

For the underlying mechanics, see /blog/lookahead-bias-fundamental-backtests and /blog/point-in-time-fundamentals-data.

Side-by-Side

Marketstack (fundamentals) Tradevo Data
Data source Aggregated/vendor-normalized Direct from SEC EDGAR filings
Point-in-time fields Not exposed first_filed, original_value, latest_value, restated
Restatement tracking None visible 37,804 rows flagged
Frequency Mixed / current-value Annual + quarterly; seven quarterly concepts, labelled Q4 derivations
Concepts Broader statement line items, varies by plan 16 concepts, consistently tagged
Coverage Global, many exchanges US only, 5,168 companies
History Varies Up to 12 fiscal years
Bulk download Depends on plan — see their pricing page Included in $29/mo: full CSV + whole-universe snapshot
Format JSON JSON API; Parquet is roadmap
Free tier Yes — see marketstack.com pricing page Public proof pack: 5 companies, 225 rows, full methodology, no signup
Price See their pricing page $29/mo flat, 5,000 req/day

See the lookahead leak on real filings — five companies, 225 rows, CC0, no signup. Three minutes in a notebook, before you decide anything.

We're not going to put a number next to Marketstack's plans here — pricing tiers change and we'd rather you check their pricing page directly than trust a stale figure on our site.

When Marketstack (or Building It Yourself) Is Actually the Better Choice

Be honest with yourself about the use case before switching anything:

If none of those apply — you're backtesting US equity strategies on annual fundamentals and need to know what was actually knowable on a given date — that's the specific gap Tradevo Data fills.

Try Before You Subscribe

You don't need to take any of this on faith. The public proof pack covers 5 companies with 225 rows and the full point-in-time methodology, no signup required: github.com/christianpichichero-max/pit-fundamentals. Run your own lookahead check against it before paying anything.

If it holds up, the full dataset — 5,168 companies, 632,466 rows, bulk CSV download and whole-universe snapshots included — is $29/month with an instant API key after Stripe checkout, cancel anytime: https://tradevodata.com/. Docs are at /docs.


Not investment advice. Verify any competitor pricing yourself on their official pages before deciding — we intentionally don't quote it here.

See for yourself—public proof pack, no signup.

5 companies, latest 3 fiscal years, 225 point-in-time rows across 16 concepts, full methodology.

Or download the CSV straight from GitHub — CC0, no signup.

Read next

Compare also