How to get fundamentals into a spreadsheet
Statements as cells that refresh, in Excel or Google Sheets — the add-ins, the APIs under them, and the licence that ends the moment you share the file.
Two shapes. A spreadsheet add-in puts statements behind worksheet functions, which is what Wisesheets sells for sixty dollars a year; a fundamentals API pairs a key with a Sheets add-on and is cheaper per number. Both refresh, and both are licensed to one person. Sharing the workbook is usually a breach, and the figures in it move under you whenever a company restates.
The short way
Wisesheets is the shortest route from an empty sheet to a statement that
recalculates. Its documentation gives the main function as
=WISE("ticker/s", "parameter/s", "period/s", ["quarter"], [divisor]), which in practice looks
like this:
=WISE("AAPL", "Revenue", 2025)
=WISE(A2:A50, B1:H1, 2016)
The second line is the reason to buy it. All four functions — WISE for statements, key metrics,
dividends, segment and geographic revenue and estimates, WISEPRICE for prices, WISEFUNDS for
fund fields, WISEOPTIONS for chains — take ranges rather than single arguments, so a column of
tickers crossed with a row of parameters is one formula instead of four hundred. A Statement Dump
button drops a whole statement onto the sheet, annual or quarterly, standardised or exactly as
filed with the SEC.
Two things to know before you start. Pro is $60 a year, billed annually with no monthly option
and no free plan, and it is an individual-use licence. And on desktop Excel, Microsoft requires an
Office 365 subscription for custom functions — without one the function returns #NAME, and the
vendor's own advice is to use Excel on the web or Google Sheets instead.
What the options are
The built-in functions, and where they stop. Google Sheets ships GOOGLEFINANCE and Excel on
Microsoft 365 ships STOCKHISTORY. Both are free and both are about prices. GOOGLEFINANCE
covers quotes, volume and a handful of ratios, delayed up to 20 minutes, and Google's own help
page restricts it to informational rather than trading use and excludes financial-industry
professional use. STOCKHISTORY returns date, close, open, high, low and volume at daily, weekly
or monthly intervals and needs a Microsoft 365 subscription. Neither returns an income statement.
Everything below exists because of that sentence.
Functions in the grid. Wisesheets as above.
GuruFocus does the same job with more history behind it — GURUF, GURUG,
GURUE and GURUI for financials, guru portfolios, economic indicators and industry medians,
with fundamentals the vendor's API material claims back to 1978. It is sold per region and
annually: the US Premium tier is $549 a year with the Excel add-in capped at 2,000 queries, and
the uncapped add-in plus the screener inside Excel is Premium Plus at $1,398. There is a Google
Sheets add-on too, and the add-in wants Office 365 or Windows Office 2021 and up.
An API with a spreadsheet front end. This is the cheaper shape, and the same key works from a cell and from a script. ROIC.ai has a Google Sheets add-on that takes your API key and drops either statement tables or single-metric formulas into the sheet; the free key is 5 requests a minute and 2 years of history, Individual is $29 a month for 300 a minute and 5 years, and there is no Excel build despite the page for it. Financial Modeling Prep publishes an official Excel and Google Sheets add-on over an API whose whole catalogue is statements, ratios, filings and estimates — free at 250 calls a day and end-of-day only, with quarterly statements and 30-plus years of history beginning at the $59 Premium tier. EODHD is the one to look at when the model is not US-only: Sheets and Excel add-ons over 60-plus exchanges, with the standalone Fundamentals Data Feed at $59.99 a month and the all-in-one package at $99.99.
Bulk files rather than live cells. SimFin publishes the whole database as zipped CSV tables — companies, income, balance, cashflow, ratios, prices, with separate tables for banks and insurers — and its Excel plugin starts at the $25 START tier. The statements are extracted from 10-K, 10-Q, 20-F and 40-F filings by the vendor itself rather than licensed in, and every statement table comes in two variants: most recently restated, and strictly as reported. That second variant is the thing almost nothing else on this page offers, and it is why a bulk file can be the better answer even though refreshing it means downloading it again.
The institutional version. Daloopa is what a research desk buys: segment splits, operating KPIs, guidance and GAAP-to-non-GAAP bridges lifted from filings, supplementals and investor presentations, each figure hyperlinked back to the page it came from, dropped into the analyst's own Excel model. Its add-in ships only through the Microsoft add-in stores, there is no Google Sheets build, and nothing is priced publicly — the free account is one data sheet download inside a two-week window. It writes hard-coded values rather than live formulas, which is a deliberate choice and matters below.
Not a spreadsheet at all. Stock Analysis gives five fiscal years of statements to a logged-out visitor and sells downloads from $9.99 a month; TIKR puts Capital IQ financials and consensus estimates in a browser with an Excel export from its $54.95 Pro tier. Neither has an API or an add-in, and TIKR says so explicitly and warns that programmatic access closes the account. If what you wanted was to read the numbers rather than to model on them, these are cheaper than everything above. The rest of the shelf is on market data in Excel and Google Sheets.
Where this breaks
A cell that refreshes is a cell whose value can change. Companies restate. When they do, a vendor serving "most recently restated" figures replaces the old number in place, and your workbook footing differently in September than it did in March is the feature working as designed. The SEC's own Financial Statement Data Sets take the opposite position and present the numbers "without change from the 'as filed' financial reports submitted by each registrant", which is why they and a standardised feed will disagree about the same quarter years after the fact. SimFin ships both variants and names them; Daloopa emits a restated figure as a separate record with its own identifier and offers webhooks for new and restated data. Most add-ins do neither, and the first sign you get is a total that no longer ties to the memo you wrote.
Fiscal years do not line up, with each other or with the calendar. =WISE(A2:A50, "Revenue", 2025) down a column of fifty tickers returns fifty numbers that are not for the same twelve
months. The SEC states the problem plainly in its own API documentation: because company financial
calendars "can start and end on any month or day and even change in length from quarter to quarter
according to the day of the week", its frames data is assembled by the dates that best align with
a calendar quarter or year, and users should be mindful of the different reporting start and end
dates inside one frame. Any vendor serving a column labelled 2025 has made the same
approximation, and whether it labelled by fiscal year or by calendar alignment is a question the
formula does not ask and the sheet does not show.
As reported and standardised are different data, not different formatting. A standardiser recategorises line items so that two companies sit in the same row — TIKR's financials are GAAP standardised by Capital IQ for exactly that reason, while its estimates tab is sell-side consensus and therefore adjusted and non-GAAP. As reported is the filer's own tag and ties out to the filing, and nothing else. Stock Analysis documents the sharpest version of the mismatch: its default provider contractually bans downloads, so an export silently falls back to a different provider that standardises line items its own way, and the file disagrees with the table it came from. Decide which of the two you need before you pick a vendor, because it is not a toggle everywhere.
The licence is per person, and a spreadsheet is the easiest thing in the world to share. Wisesheets Pro and Elite are individual-use licences; multiple seats and commercial use are the quoted Enterprise tier. ROIC.ai puts commercial use on an unpriced Enterprise plan. SimFin makes its cheap tiers non-commercial and its $119 PRO tier commercial but internal-use only. EODHD's terms forbid a non-professional user from "sharing access to their account with others, including within groups". Mechanically, a colleague who opens your shared Google Sheet without their own subscription sees stale cached values or an error; giving them the key instead is the part that breaches the agreement. Daloopa's add-in writing hard-coded values is the one place this is solved rather than hit — the recipient sees numbers and nothing breaks — and that costs an institutional contract.
Almost every plan here forbids redistribution, and a client report is redistribution. Financial Modeling Prep requires a separate Data Display and Licensing Agreement, which is the quoted Enterprise plan, before you show its data to your own users. ROIC.ai's terms bar resale or redistribution without explicit authorisation. SimFin makes redistribution a separate agreement and its FAQ says the rights end with the subscription — you are obliged to delete what you downloaded, backups included. EODHD's cheapest non-personal licence is $399 a month for internal use, and that tier still forbids showing the data to anyone outside the company; its terms bar "selling, reselling, retransmitting, redistributing, displaying, or granting access to the Information or Services, whether in its original or repackaged form". The moment the model is a deliverable rather than your own thinking, the sixty-dollar plan is the wrong purchase, and the right one usually has no published price.
The recalculation budget is the limit you meet first. A script runs when you run it. A sheet recalculates on every edit, every open and every drag of a fill handle down two hundred rows, which is why the per-minute number on a card matters more here than the per-month one. In Google Sheets there is a ceiling underneath the vendor's: Apps Script allows 20,000 URL Fetch calls a day on a consumer account and 100,000 on a Workspace one, and caps a custom function at 30 seconds per execution. Wisesheets says it imposes no quota of its own and that Google's is the only one you will meet. Where the add-in fronts a metered API the vendor's limit binds far sooner — ROIC.ai's free key is five requests a minute, and EODHD bills a fundamentals request at ten calls against the daily hundred thousand, which is ten thousand fundamentals requests rather than a hundred thousand.
If you outgrow this
When the grid stops being the right container, the same data is a key away. The Wisesheets
API is the add-in's own database over REST, free at 5,000 requests a month,
with each value carrying the XBRL tag, accession number and filing date it came from and an
asReported parameter for reconciling against the filing itself.
Intrinio sells XBRL-standardised US financials as a commercial licence you can
actually buy. Both of those are market data APIs rather than
spreadsheet products, and the move is usually made because the sheet has become a scheduler.
When the number you need is not on the face of a statement — a segment split, a unit metric, a guidance range — no standardised feed has it, because standardisation is what threw it away. Daloopa and Fiscal.ai both sell the disclosures around the statements, the first to research desks at a quoted price and the second at a published one with an MCP server attached.
When the blocker is the licence rather than the data, it is worth understanding who is selling what to whom before negotiating: who owns market data and where research terminals get their data cover the supply chain that every price on this page sits at the end of, and what is actually free covers the floor underneath it.
The rest of the catalogue for this job is in fundamentals research, and everything with an add-in of any kind is on market data in Excel and Google Sheets.
The tools that do this
In the order this page recommends trying them. Paid placement does not affect this order.
Wisesheets
Four worksheet functions that take whole ranges of tickers, parameters and periods. $60 a year, individual-use licence, no free plan and no monthly rate.
Financials, estimates and live prices as worksheet functions in Excel and Google Sheets.
$60/yr
ROIC.ai
A Google Sheets add-on over a fundamentals API with a free key. No Excel build at all, and commercial use is an unpriced Enterprise plan.
Forty years of global fundamentals over REST, an MCP server and Google Sheets.
$29/moFree tier
Financial Modeling Prep
An official Excel and Sheets add-on on the API most fundamentals scripts already talk to. Free tier is 250 calls a day, end of day.
Financial statements, ratios and filings for 70,000+ securities across 60+ exchanges.
$22/moFree tier
EODHD
Sheets and Excel add-ons across 60+ exchanges, for a model that is not US-only. The fundamentals feed is $59.99 a month on its own.
End-of-day and fundamentals for 60+ exchanges worldwide, at a hobbyist price.
$19.99/moFree tier
SimFin
The whole US dataset as zipped CSV plus an Excel plugin from $25 a month. Refreshing means re-downloading rather than recalculating.
US fundamentals extracted from filings, shipped as bulk CSV datasets, not REST calls.
$25/moFree tier
GuruFocus
GURUF and three sibling functions over thirty years of financials, sold per region from $549 a year for the US.
Thirty years of financials, a deep screener and 13F guru portfolios, sold by region.
$549/yrFree tier
FAQ
Can't I just use GOOGLEFINANCE?
For prices, yes. For fundamentals, no — the function covers quotes, volume and a short list of ratios such as P/E and EPS, and there is no income statement, balance sheet or cash flow in it at any depth. Google's own documentation also delays the quote by up to 20 minutes, says the information is provided solely for informational purposes rather than for trading purposes or advice, and excludes financial-industry professional use. Every add-in on this page exists on the far side of one of those limits.
Why does the same revenue figure differ between two add-ins?
Usually because one is standardised and the other is as reported. A standardiser recategorises line items so that two companies can sit in the same row, which is the entire point of buying standardised data and also the reason it does not tie out to the filing. As reported is the filer's own XBRL tag and ties out exactly, but two companies' rows will not line up. Wisesheets lets you pick — its Statement Dump takes a standardised or an SEC as-reported table — and the Wisesheets API exposes the same choice as a parameter.
Will the formulas still work if I share the workbook with a colleague?
Not on the plans most people buy. The add-in resolves against your account, so a recipient without their own subscription sees the last cached values or an error, and handing them your key or your login is the thing the terms forbid rather than a workaround. Wisesheets puts multiple seats and commercial use on its quoted Enterprise tier; EODHD's terms prohibit a non-professional user from sharing access to their account with others, including within groups. If the sheet has to travel, paste the numbers as values and accept that they no longer refresh.
How many formulas can a sheet hold before something breaks?
In Google Sheets the ceiling is Google's, not the vendor's. Apps Script quotas allow 20,000 URL Fetch calls a day on a consumer account and 100,000 on a Workspace one, with a custom function capped at 30 seconds per execution. Wisesheets says it imposes no quota of its own and that Google's is the only one. Where the add-in is a front end onto a metered API the vendor's limit binds first — Financial Modeling Prep's free tier is 250 calls a day, and EODHD charges ten calls against its 100,000-a-day allowance for each fundamentals request.
Is there a free way to do this?
There is a free way to start. ROIC.ai issues a free API key that works with its Sheets add-on at five requests a minute and two years of history, Financial Modeling Prep's free tier is 250 end-of-day calls a day, and SimFin's free bulk CSVs carry five years delayed by twelve months. None of the three is sized for a model you maintain, and all three are non-commercial. Free here means a way to test the shape of the data, not a way to avoid paying for it.
Sources
- EDGAR Application Programming Interfaces — U.S. Securities and Exchange Commission,
- Financial Statement Data Sets — U.S. Securities and Exchange Commission, read
- GOOGLEFINANCE — Google Docs Editors Help — Google, read
- STOCKHISTORY function — Microsoft, read
- Quotas for Google Services — Apps Script — Google,
- Terms and Conditions — EODHD, read
- Wisesheets Documentation — Wisesheets, read
The catalogue next door
This page names a handful of cards. The rest of them are in Fundamental Data & Stock Research Platforms, each filled in against the same schema, with the fields to narrow it yourself.
Last updated . Corrected in place: this is a reference page, not a dated post.