Spreadsheet functions
Pull Finmagine's Indian and US market data into a spreadsheet with ordinary formulas. Finmagine for Sheets is available now; Finmagine for Excel is coming soon.
Finmagine for Sheets — setup
- Install Finmagine for Sheets from the Google Workspace Marketplace. It works only with the spreadsheet you have open.
- Open a spreadsheet. A Finmagine menu appears. Choose Create Sample Sheets to add ready-made tabs (two Indian and two US companies, a company-detail page, a screener and a metric reference). It never overwrites your existing tabs and works before you connect.
- Choose Connect and sign in with your Finmagine account. If you prefer an API key, choose Configure API Key and paste one from the developer portal; it is stored only in your own Google account's script properties, never in a cell.
- Choose Test Connection to confirm. Then Refresh Data loads live values into the sample tabs.
| Menu item | What it does |
|---|---|
| Create Sample Sheets | Adds five tabs: India and US watchlists (two companies each), company detail, screener, metric reference. |
| Connect / Disconnect | Sign in with, or remove, your Finmagine account for this spreadsheet. |
| Configure API Key | Use an API key instead of signing in. |
| Test Connection | Checks your connection and tier. Uses a status check that does not spend a data request. |
| Refresh Data | Clears the local data cache and recalculates every Finmagine formula. Skipped with a message when you have fewer than 10 requests left this hour. |
| Set Workbook Default Market | Lets you type bare symbols (TCS) in this workbook. An explicit prefix always wins. |
| About / Diagnostics | Shows connection, tier, remaining quota and the last error. |
Symbols
Every symbol carries its market prefix, never guessed: NSE: or BSE: for India; NASDAQ:, NYSE: or AMEX: for the US — for example NSE:RELIANCE and NASDAQ:AAPL. One batch or one lookup is always one market. If you set a workbook default market you can omit the prefix.
Function reference
| Formula | Returns | Available on | Notes |
|---|---|---|---|
| =FINMAGINE_DATA(symbol, metric) | One value | All plans | =FINMAGINE_DATA("NSE:TCS","pe"). FINMAGINE() is a permanent alias. |
| =FINMAGINE_BATCH(symbols, metrics) | Table | Higher plans | A whole watchlist in one call. One market per call; every metric must exist for that market, and the error names any that does not. |
| =FINMAGINE_FINANCIALS(symbol, period, count) | Table | India: all US: higher | period is quarterly or annual. |
| =FINMAGINE_MOMENTUM(symbol) | Row | India: all US: higher | Relative-strength and trend readings. |
| =FINMAGINE_INDIA_RATIOS(symbol) | Table | All plans | All 20 India ratios for one company from a single request. India symbols only. |
| =FINMAGINE_US_RATIOS(symbol) | Table | Higher plans | The full US ratio table. US symbols only. |
| =FINMAGINE_SCREEN(market, criteria, limit) | Table | US: higher India: top API plan | Criteria are key=value pairs separated by ;. A plan that cannot screen gets a clear message without spending a request. |
| =FINMAGINE_SCHEMA("metrics") | Table | All plans | Every metric key you can ask for. Works offline; costs no request. |
| =FINMAGINE_QUOTA() | Text | All plans | Your plan and the requests left today and this hour (from your last real lookup). |
The free plan covers a fixed list of large Indian and US companies; other plans cover every company. Request limits depend on your plan — see plans & limits. Creating the sample sheets on a fresh account uses about six requests in total.
India ratios
=FINMAGINE_INDIA_RATIOS("NSE:TCS") returns every India ratio for a company as a table — ratio name, metric key, value and unit — from one request. You can also look a single ratio up with FINMAGINE_DATA using its metric key:
| Metric key | Ratio | Unit | Data set |
|---|---|---|---|
| roce | ROCE | % | Ratios* |
| roe | ROE | % | Profile |
| de | Debt / Equity | x | Profile |
| opm_pct | Operating margin | % | Profile |
| pe | P/E | x | Profile |
| sales_growth_pct | Sales growth | % | Profile |
| revenue_cagr_10y | 10-year revenue CAGR | % | Profile |
| pat_cagr_10y | 10-year profit (PAT) CAGR | % | Profile |
| ebitda_cagr_5y | 5-year EBITDA CAGR | % | Profile |
| ebitda_cagr_3y | 3-year EBITDA CAGR | % | Ratios* |
| fcf_yield | Free cash flow yield | % | Profile |
| fcf_cagr_5y | 5-year free cash flow CAGR | % | Ratios* |
| ocf_to_pat_5y | 5-year average OCF / PAT | x | Ratios* |
| altman_z_score | Altman Z-Score | score | Ratios* |
| profitable_years_10y | Profitable years (of last 10) | years | Ratios* |
| fcf_positive_years_10y | FCF-positive years (of last 10) | years | Ratios* |
| dividend_years_10y | Dividend-paying years (of last 10) | years | Ratios* |
| net_debt_cr | Net debt | ₹ crore | Profile |
| promoter_pct | Promoter holding | % | Profile |
| pledge_pct | Promoter pledge | % | Profile |
* "Ratios" metrics come from a second data set. Looking them up one at a time with FINMAGINE_DATA may use one extra request per company on top of the "Profile" data set most metrics share; FINMAGINE_INDIA_RATIOS needs only one for all of them.
Examples
// One metric, one company =FINMAGINE_DATA("NSE:RELIANCE", "pe") =FINMAGINE_DATA("NASDAQ:AAPL", "market_cap_usd_b") // All India ratios for a company =FINMAGINE_INDIA_RATIOS("NSE:TCS") // A watchlist in one call (higher plans) — India symbols in A2:A20 =FINMAGINE_BATCH(A2:A20, {"company_name";"pe";"roe";"price_cmp"}) // Eight quarters of financials =FINMAGINE_FINANCIALS("NSE:TCS", "quarterly", 8) // Screen the US market (higher plans) =FINMAGINE_SCREEN("us", "min_mcap_b=100", 25)
roce) and some only for the US (for example market_cap_usd_b, pb). Use =FINMAGINE_SCHEMA("metrics") to see which market each key belongs to. A batch must use one market and only keys that exist for it.Keeping data fresh
Custom functions in Sheets reuse their last result when their inputs have not changed. Finmagine → Refresh Data clears the local cache and forces every Finmagine formula to recalculate. Fundamentals are cached for hours, quick-moving values such as momentum for minutes. On a small plan, Refresh Data refuses to run when fewer than 10 requests are left this hour, and your current values stay in place.
Errors
| Message | Meaning |
|---|---|
| Not connected | Choose Finmagine → Connect (or Configure API Key), then Refresh Data. |
| No market prefix on "…" | Add NSE: / NASDAQ: etc., or set a workbook default market. |
| Mixed markets in one batch | Split the call: one for India symbols, one for US symbols. |
| "…" is not available in FINMAGINE_BATCH for <market> | That metric key does not exist for that market. Check FINMAGINE_SCHEMA. |
| Requires a higher plan / need a higher plan | The function is not part of your plan. See plans. |
| Rate limit reached | You used the requests allowed this hour or day. FINMAGINE_QUOTA() shows what is left. |
Hover over an error cell to read the full message, and use About / Diagnostics to see your connection, tier and last error. Wrap a formula in IFERROR to show your own fallback. In FINMAGINE_BATCH, a problem with one symbol shows in that row only, so the rest of the watchlist still loads.
Privacy & permissions
Only the symbols and metric names in your formulas are sent to Finmagine so it can answer them; it does not read the rest of your spreadsheet. The add-on asks Google for three permissions: show its menu and dialogs, connect to finmagine.com, and work with the current spreadsheet only. It has no access to your other Drive files. Signing in uses a Finmagine consent screen, so Finmagine never sees your Google password. See the Privacy Policy. Finmagine provides information and analytical tools for educational and informational purposes only; nothing here is investment advice.
Finmagine for Excel — coming soon
It will offer the same functions under the FINMAGINE. prefix (for example =FINMAGINE.DATA("NSE:TCS","pe")), with a task pane for sign-in, sample sheets, refresh and diagnostics, in Excel on the web, Windows and Mac. This page will be updated when it is released. See the Finmagine for Excel page.
Google Sheets™ is a trademark of Google LLC. Microsoft Excel® is a trademark of Microsoft Corporation. Finmagine for Sheets and Finmagine for Excel are independent products.