Integrate FMP Data with Excel / Google Sheets

Integrate FMP Data with Excel / Google Sheets

FMP is the ultimate Excel and Google Sheets add-on for investors. FMP was built with one goal: to allow anyone to quickly find good investment opportunities. Our add-on offers many features and data sets, such as financials, key metrics, dividend data, live price data, crypto data, commodities and more. We built these docs to help you get the most value out of FMP.

Tips

Important Information

1. The add-on offers the same functionality across Excel, Google Sheets and Excel Online.

2. Currently, we do not have any data quotas. The only quota is imposed by Google Sheets: you can make 20k requests per day on regular accounts and 100k on paid accounts. This limit resets automatically every 24 hours. However, we ask users to be mindful of making too many simultaneous requests. If we see any type of system abuse, we may freeze your account.

Installation

Excel

Installing FMP on Excel is very simple. Follow these steps:

1. Open a new Excel spreadsheet.

2. Go to Add-ins on the Home tab.

3. Click More Add-ins.

4. Search for the FMP add-on.

5. Click Add.

You can now open the add-in at any time from the Home tab.

Google Sheets

Installing FMP on Google Sheets is very simple. Follow these steps:

1. Open a new Google Sheet.

2. Open the Extensions menu, select Add-ons, then Get add-ons. This opens the Google Workspace Marketplace in a pop-up.

3. Search for FMP.

4. Select the FMP add-on and click Install.

You can now open the add-on at any time from the Extensions menu.

Support

If you have any feedback or come across any issues, feel free to email us at info@financialmodelingprep.com.

Statement Dump

If you want an overview of a company's financials, one of the best ways is to use Statement Dump. In a few clicks, you get the income statement, balance sheet, cash flow statement, key metrics and growth metrics, annually or quarterly, right in your spreadsheet. You get either the last 19 years of data or 72 quarters, depending on your preference.

By default, the data is sorted from the most recent to the oldest. With a pro account, you can click the advanced option to reverse the order of the statements.

Better yet, you can get the financial statements exactly as they were reported to the SEC. Simply select "SEC as reported" financials and choose annual or quarterly data.

Note: this only applies to companies that report to the SEC (U.S. Securities and Exchange Commission).

Tips

  • Use the Statement Dump search to find the tickers to use in the functions.
  • The tickers that appear in the search suggestions are not the only ones with data coverage.

FMP Function

This function is best for financials, key metrics, revenue segments, analyst estimates and more (see the data available per function).

The FMP function syntax is =FMP("ticker/s", "parameter/s", "period/s", ["quarter"], [divisor])

  • Ticker/s [required]: the symbol or symbols of the companies you want data for. It can be typed in, e.g. "AAPL", or a cell reference, e.g. A1.
  • Parameter/s [required]: the data you want the function to return. It accepts one or more parameters. It can be typed in, e.g. "Revenue", or a cell reference, e.g. B1:D1.
  • Period/s [required]: the year or time period you want. It accepts one or more periods. It can be typed in, e.g. 2020, or a cell reference, e.g. B1:D1.
  • Periods include specific years like 2020, "TTM" (trailing twelve months), "LY", "LY-1" and so on (the latest fiscal year available, the one before, and so on), and "LQ", "LQ-1" and so on (the latest fiscal quarter available, the one before, and so on).
  • Quarter [optional]: the quarter you want data for (quarterly data only). It can be typed in, e.g. "Q2", or a cell reference, e.g. B1.
  • Divisor [optional]: use it to get the output in millions, billions or any other unit. It can be typed in, e.g. 1000000, or a cell reference, e.g. B1.

Here are a few examples of valid function calls:

=FMP("AAPL","ROE","TTM")

=FMP("TSLA", "Revenue", "LY",,1000000)

=FMP("AAPL","Free Cash Flow",2019,"Q3")

Tips

  • When requesting a lot of data, enter multiple tickers, parameters and periods in the function using cell references.
  • Use the divisor parameter instead of dividing every cell by a value.
  • Numbers in the function, like 2020, don't need quotes (" "). Only text does, like "Revenue" or tickers.

Large Data Requests

Instead of making many function requests at once, you can get data faster by using ranges in the functions.

Simply enter a range of tickers instead of a single ticker, a range of parameters instead of a single parameter, or a range of periods instead of a single period. For example, with tickers in A2:A5, parameters in B1:D1 and periods in E1:G1:

=FMP(A2:A5, B1:D1, E1:G1)

This single function call returns every metric for every company across all the periods. It saves you a lot of time and makes your spreadsheet faster.

FMPPRICE Function

This function is best for live price data, historical price data, dividend payment information and more (see the data available per function).

The FMPPRICE function syntax is =FMPPRICE("ticker/s", "parameter/s", number of days to end, "start date", "end date")

  • Ticker/s [required]: the symbol or symbols of the companies you want data for. It can be typed in, e.g. "AAPL", or a cell reference, e.g. A1:A20.
  • Parameter/s [required]: the data you want the function to return. It accepts one or more parameters. It can be typed in, e.g. "Price", or a cell reference, e.g. B1:D1.
  • Number of days to end [optional]: for historical price data, the number of days to return. For example, 5 returns the last 5 days of historical prices. It can be typed in, e.g. 5, or a cell reference, e.g. B2.
  • Start date [optional]: for historical price data, a specific start date. It must be a date-formatted cell or follow the "mm/dd/yyyy" format. It can be typed in, e.g. "01/30/2022", or a cell reference, e.g. B1. If you only enter a start date, the function returns the value for that specific date.
  • End date [optional]: for historical price data, a specific end date. It must be a date-formatted cell or follow the "mm/dd/yyyy" format. It can be typed in, e.g. "01/30/2022", or a cell reference, e.g. B1.

Here are a few examples of valid function calls:

=FMPPRICE("TSLA","Price")

=FMPPRICE("AAPL", "Close",,"01/01/2022", "01/30/2022")

=FMPPRICE("AMZN", "Open", 2)

Tips

  • When requesting a lot of data, enter multiple tickers and parameters in the function using cell references.
  • Numbers in the function, like 5, don't need quotes (" "). Only text does, like "Close" or "Dividend".
  • Use the SUM function to get a single value from historical price data, for example =SUM(FMPPRICE("AAPL", "Close", , "01/28/2022"))

Large Data Requests

Instead of making many function requests at once, you can get data faster by using ranges in the functions.

Simply enter a range of tickers instead of a single ticker, or a range of parameters instead of a single parameter. For example, with tickers in A2:A10 and parameters in B1:D1:

=FMPPRICE(A2:A10, B1:D1)

This single function call returns all the real-time values for every company. It saves you a lot of time and makes your spreadsheet faster.

You can also enter multiple tickers to get historical price data for many securities at once, for example =FMPPRICE(A2:A5, "Close", 10).

FMPFUNDS Function

This function is best for ETF and fund data like expense ratio, net asset value, assets under management and more (see the data available per function).

The FMPFUNDS function syntax is =FMPFUNDS("ticker/s", "parameter/s")

  • Ticker/s [required]: the symbol or symbols of the ETFs or funds you want data for. It can be typed in, e.g. "SPY", or a cell reference, e.g. A1.
  • Parameter/s [required]: the data you want the function to return. It accepts one or more parameters. It can be typed in, e.g. "expense ratio", or a cell reference, e.g. B1:D1.

Here are a few examples of valid function calls:

=FMPFUNDS("SPY","Expense Ratio")

=FMPFUNDS("PICK","Nav")

Tips

  • Use the Statement Dump search to find the tickers to use in the functions.
  • The tickers that appear in the search suggestions are not the only ones with data coverage.
  • When requesting a lot of data, enter multiple parameters in the function using cell references.

Large Data Requests

Instead of making many function requests at once, you can get data faster by using ranges in the functions.

Simply enter a range of parameters and/or tickers instead of a single value. For example, with fund tickers in A2:A5 and parameters in B1:D1:

=FMPFUNDS(A2:A5, B1:D1)

This single function call returns all the real-time parameters for every fund. It saves you a lot of time and makes your spreadsheet faster.

Refresh Data

At any time, you can use the Refresh Data button at the top right of the add-on to refresh the live data in your spreadsheet.

This includes:

  • Live price data
  • TTM metrics
  • ETF/fund data

Refresh Errors

When requesting large amounts of data at once, you may occasionally get an #ERROR! in Google Sheets or "too many simultaneous requests" in Excel.

Instead of fixing each of these cells by hand, press the Refresh Errors button (wrench icon) at the top right of the add-on. It fixes them all at once.

You can track trending and popular stocks right from the main panel. It's designed to make keeping up with the markets faster and easier.

Top Gainers: discover which stocks are soaring.

Top Losers: see which stocks have taken a hit.

Most Active: find the stocks with the highest trading volume.

Click the dropdown arrow of a category to show more stocks in that list, whether gainers, losers or most active.

Click any ticker to see the essentials, such as:

  • Price, market cap and volume, all updated live.
  • Performance metrics like YTD returns and P/E ratios.
  • Company news headlines to help you stay in the loop.
  • For U.S. companies, official filings for more in-depth analysis.

Function Builder

Instead of working out which function to use for each data point, let the Function Builder generate it for you.

Here's how it works:

Symbols: start by entering the ticker symbol(s) of the companies you want to analyze. This can be a single ticker like "AAPL" or a list if you're analyzing several stocks at once.

Note: you can also switch from search to selecting a range of tickers, for example A2:A5.

Parameters (if applicable): choose the financial metric or data parameter you need. Options include metrics like "Revenue", "Net Income" and others from the company's financials. This lets you build custom reports by specifying exactly which data points to pull.

Note: certain parameters cannot be selected together with others. In that case, they appear grayed out.

Periods (if applicable): select the period, such as the year or quarter, you need data for. For example, entering 2021 fetches the annual data for that year.

Specific dates (if applicable): enter the exact start and end dates of the timeframe you need. For instance, setting 2024-10-31 as both the start and end date fetches data for that day only. This is ideal for precise daily metrics, and you can include a date column in the results to keep your data well documented. Alternatively, set a broader range to capture historical trends within the selected period.

Note: alternatively, use the "Number of days" option to retrieve data for a recent period, such as the last 10 days. Select it and enter the number of days, and FMPsheets automatically pulls the data from the past 10 business days up to today. This is useful for quick analysis of short-term trends without entering date ranges by hand.

Quarter selection (if applicable): for quarterly data, you can pick a specific quarter to narrow down the timeframe, allowing targeted analysis within the fiscal year.

Generated formula: once you've made your selections, FMPsheets generates the right formula. For instance, entering "AAPL" as the symbol, "Revenue" as the parameter and "2021" as the period produces =FMP("AAPL", "Revenue", 2021), which you can copy directly.

Analyzing Stock Financials

There are 2 ways to analyze stock financials. The first is Statement Dump, which gets all statements at once, annually or quarterly, in our standardized format or as reported to the SEC.

The second is to use the FMP function to get only the financial data you care about. Pick the parameters you need from the available data and build a spreadsheet model around them, for example with the ticker in A1, parameters in A2:A10 and periods in B1:D1:

=FMP(A1, A2:A10, B1:D1)

One function call returns all the financial data you need. You can use specific years in place of LY, LY-1 and so on, or use LQ, LQ-1 and so on to get data for many quarters.

Tips

  • Add sparklines, charts, conditional formatting or formulas to make your analysis easier.
  • Link the formulas to the ticker cell, so you can change the ticker and have all the data refresh for you.
  • Use the Statement Dump search to find the tickers to use in the function.

Analyzing Live Price Data

Analyzing real-time price data for stocks, ETFs and more is easy with FMP. A typical use case is taking the stocks in your portfolio or watchlist and pulling all the real-time metrics you are interested in (see the available data).

For real-time data, use the FMPPRICE function. For example, with tickers in A2:A10 and real-time parameters such as "Price" in B1:D1:

=FMPPRICE(A2:A10, B1:D1)

This is the best way to get real-time data for multiple securities. You get the data faster, and you can refresh it at any time with the Refresh Data button at the top right of the add-on.

Tips

  • Use the Statement Dump search to find the tickers to use in the function.
  • When requesting a lot of data, enter multiple parameters and tickers in the function using cell references.

Historical Price Data Analysis

There are 2 main ways to get historical price data for stocks, ETFs and the other securities covered. The first is for individual assets.

For example, to get the last 30 days of close prices for Apple, enter:

=FMPPRICE("AAPL", "Close", 30)

You can also enter specific dates in the function, for example =FMPPRICE("AMZN", "close", , "01/01/2019", "01/10/2019")

The second is for multiple stocks: enter a range of tickers in the function, for example =FMPPRICE(A2:A5, "Close", 30).

Tips

  • Use spreadsheet formulas for historical calculations. For example, =AVERAGE(INDEX(FMPPRICE("AAPL", "close", 30),,2)) gives you the average close price for the past 30 days.
  • To get the stock price on a particular date, use something like =SUM(FMPPRICE("AAPL", "close", , "01/03/2019"))
  • Use =TRANSPOSE(INDEX(FMPPRICE(A1, "close", 30),,2)) to get the price data horizontally.

Historical Dividend Payment History

With the FMPPRICE function, you can get all the dividend data in a single function call. Simply enter =FMPPRICE("AAPL", "dividend")

This gives you the ex-date, dividend, adjusted dividend, payment date and declaration date.

You can also enter specific dates in the function, for example =FMPPRICE("aapl", "dividend", , "01/01/2017", "01/01/2022")

Tips

  • To get only one column, like the adjusted dividend column, use =INDEX(FMPPRICE("aapl", "dividend"),,2)

Annual Dividend Payments

Getting the annual dividend payment for a stock or ETF is simple. With the FMP function, enter:

=FMP("AAPL", "Dividend", 2022)

This returns the sum of all dividend payments made during that year.

For the adjusted dividend amount, enter:

=FMP("AAPL", "Adjusted Dividend", 2022)

You can also get this number for several years at once, for example =FMP("AAPL", "Dividend", {2022, 2021, 2020}).

Quarterly Dividend Payments

With the FMP function, it is simple to get past stock and ETF dividend payments. Get individual quarterly dividend payments as follows:

=FMP("AAPL", "dividend", "LQ")

This returns the latest dividend paid by a stock or ETF. The same applies to the adjusted dividend.

Tips

  • Get the sum of the past 4 dividend payments like this: =SUM(FMP("AAPL", "dividend", {"LQ", "LQ-1", "LQ-2", "LQ-3"}))
  • To estimate the annual dividend, take the LQ dividend payment and multiply it by the number of payments per year, for example 4 for securities that pay quarterly.

Segment & Geographic Revenues

You can get a company's revenue breakdown across its key business segments and geographic markets.

With the FMP function, you can get this data on a quarterly and annual basis.

For segment revenue breakdowns, use the function as follows:

=FMP("AAPL", "segment revenues", 2020)

You can also replace the year with "LY", "LY-1", "LY-2" and so on, which gives you the latest fiscal year or the previous fiscal years.

The same applies to geographic revenues:

=FMP("AAPL", "geographic revenues", "LQ-2")

Due to technical constraints, quarterly data only supports the LQ, LQ-1 period system.

*This feature is only available for companies that report to the SEC, since the data comes from these reports.

Tips

  • You can get this data for several periods in one function call, for example =FMP("AAPL", "segment revenues", {2022, 2021, 2020})

Analyst Estimates

With FMP, you can get analyst estimates for financial metrics like revenue, EBITDA, net income and more (see the available data).

The estimates come from reports by top analysts at financial firms such as Morgan Stanley, Citigroup and JP Morgan, among others.

To get many analyst estimates for a company at once, enter a range of estimate parameters (in B1:D1 here) and the years you need:

=FMP("AAPL", B1:D1, {2027, 2026, 2025})

Note that analyst estimates currently go up to 2029. Historical data from previous years is also available.

Tips

  • You can get this data for several years in one function call, for example =FMP("AAPL", "Estimated Revenue AVG", {2029, 2028, 2027})

ETF/Fund Data

Besides live price, historical price and dividend data through the FMP and FMPPRICE functions, you can use the FMPFUNDS function to get ETF-specific data like NAV, expense ratio, assets under management and more (see the available data).

For example, to get the NAV, AUM and expense ratio of the SPY ETF, put those parameters in B1:D1 and enter:

=FMPFUNDS("SPY", B1:D1)

This gives you the data you need for your funds in real time.

Note: this function is in beta, and more funds and ETFs will be added.

Custom Screener (Get List)

FMP Elite plan members can find companies that meet their specific criteria. Here is how it works:

  • Open the Screener tab of the add-on and select Get List.
  • Enter the filters you want to search by, such as market cap, dividend yield, sector, industry or exchange.
  • Click Get Data when you are ready.

This returns a list of companies, ETFs and/or funds that meet your criteria, with available information such as company name, sector, industry, beta and price.

You can then take this list of tickers and get any additional information and metrics at once, using the method below.

Custom Screener (Get Data)

Building a custom stock screener with the data you need is simple with FMP (Pro and Elite members). Here's all you need to do:

  • Get a list of stocks in your Excel or Google Sheets spreadsheet. You can also use the Get List screener described above.
  • Select the parameters you want data for. These include the income statement, balance sheet, cash flow statement, key metrics, growth metrics and real-time price data. See the full list of items.

Once you have the list of stocks and parameters, open the FMP Screener section of the add-in.

In the FMP Screener section, use your mouse to select the tickers you want data for. Then click the four-square icon.

Next, do the same for the parameters you've chosen. Don't forget to include the period in the parameter. Periods currently include:

  • TTM (trailing twelve months)
  • LY (latest fiscal year)
  • LY-1 and so on (previous fiscal years), up to LY-17
  • LQ (latest fiscal quarter)
  • LQ-1 and so on (previous fiscal quarters), up to LQ-71
  • Specific years like 2020
  • Specific year and quarter like 2020 Q4

If you omit the period, the default is LY (latest fiscal year). Capitalization and spacing do not matter. You do not need to specify a period for real-time data.

Once you've completed these steps, click the "Get Data" button and your screener is generated. A bucket is created that holds the tickers and parameters you selected.

You can refresh the screener data at any time with the refresh button in the bucket. You can also rename the bucket for future reference or delete it when you no longer need it.

Please keep in mind that a bucket can only be refreshed in the spreadsheet tab that contains its tickers and parameters. Refreshing it from another tab of your spreadsheet will not work.

The advantage of the FMP screener is that it returns and updates data faster than functions. It also lets you apply filters, such as sorting companies by highest revenue, without the functions refreshing automatically.

Track/Compare Crypto

Comparing or tracking cryptocurrencies with FMP is very simple. Here is the full list of cryptocurrencies currently offered (over 4,700).

Use the ticker without the "-". For example, for the price of Bitcoin in US dollars, use BTCUSD instead of BTC-USD.

There are two types of crypto data: live data and historical price data.

To track or compare cryptocurrencies with live data, use the FMPPRICE function, for example with crypto tickers in A2:A5:

=FMPPRICE(A2:A5, "Price")

This gives you the live price and other relevant information for the cryptocurrencies you have chosen. Use the Refresh Data button at the top right of the add-on at any time to update the functions and see the latest live data.

Historical price data is just as easy to get with the FMPPRICE function.

For example, to get Bitcoin's close price in US dollars for the last 10 days, enter =FMPPRICE("BTCUSD", "Close", 10)

Or get the data for a specific timeframe, for example =FMPPRICE("BTCUSD", "Close", , "01/01/2024", "01/30/2024")

You can get historical data for many cryptocurrencies at once, for example =FMPPRICE(A2:A5, "Close", 10).

Forex Currency Rates

Comparing or tracking foreign exchange rates with FMP is very simple. Here is the full list of currency pairs currently offered (over 1,540).

Use the ticker without the "=X". For example, for the Canadian dollar in US dollars, use CADUSD instead of CADUSD=X.

There are two types of currency data: live data and historical price data.

To track or compare currency rates with live data, use the FMPPRICE function, for example with currency pairs in A2:A5:

=FMPPRICE(A2:A5, "Price")

This gives you the live rate and other relevant information for the currency pairs you have chosen. Use the Refresh Data button at the top right of the add-on at any time to update the functions and see the latest live data.

Historical price data is just as easy to get with the FMPPRICE function.

For example, to get the US dollar to Canadian dollar close rate for the last 10 days, enter =FMPPRICE("USDCAD", "Close", 10)

Or get the data for a specific timeframe, for example =FMPPRICE("USDCAD", "Close", , "01/01/2024", "01/30/2024")

You can get historical data for many currency pairs at once, for example =FMPPRICE(A2:A5, "Close", 10).

Commodities/Futures Analysis

Analyzing commodities and futures with FMP is very simple. Here is the full list of commodities/futures currently offered (over 40).

Make sure to use the exact symbols from the list.

There are two types of commodity and futures data: live data and historical price data.

To track or compare prices with live data, use the FMPPRICE function, for example with commodity symbols in A2:A5:

=FMPPRICE(A2:A5, "Price")

This gives you the live price and other relevant information for the commodities you have chosen. Use the Refresh Data button at the top right of the add-on at any time to update the functions and see the latest live data.

Historical price data is just as easy to get with the FMPPRICE function.

For example, to get the close price of soybean meal futures for the last 10 days, enter =FMPPRICE("ZMUSD", "Close", 10)

Or get the data for a specific timeframe, for example =FMPPRICE("ZMUSD", "Close", , "01/01/2024", "01/30/2024")

You can get historical data for many commodities at once, for example =FMPPRICE(A2:A5, "Close", 10).

Indices Tracking

Whether you want to benchmark your investment performance or track indices like the S&P 500, getting index data with FMP is very simple. Here is the full list of indices currently offered (over 190).

Make sure to use the exact symbols from the list.

There are two types of index data: live data and historical price data.

To track or compare index prices with live data, use the FMPPRICE function, for example with index symbols in A2:A5:

=FMPPRICE(A2:A5, "Price")

This gives you the live value and other relevant information for the indices you have chosen. Use the Refresh Data button at the top right of the add-on at any time to update the functions and see the latest live data.

Historical price data is just as easy to get with the FMPPRICE function.

For example, to get the S&P 500 close for the last 10 days, enter =FMPPRICE("^GSPC", "Close", 10)

Or get the data for a specific timeframe, for example =FMPPRICE("^GSPC", "Close", , "01/01/2024", "01/30/2024")

You can get historical data for many indices at once, for example =FMPPRICE(A2:A5, "Close", 10).

Common Issues

These are the most common issues when using the add-on, along with their solutions.

Cannot Find the Ticker of an International Stock

FMP uses the same ticker system as the API documentation. Use the search or, better yet, the Statement Dump search to find the right ticker.

Enter the regular ticker followed by the exchange suffix. For example, Telus is a Canadian company listed on the TSX: its ticker is "T" and the suffix is ".TO", so enter "T.TO" to get its data (see the available exchanges and their suffixes).

Unable to Log In on Google Sheets

Sometimes Chrome extensions or ad blockers block our authentication system, which lets us recognize your account.

There is also a known Google issue that prevents us from authenticating your account when you are logged into several Google accounts at once.

In either case, don't worry: you can fix it with one of these simple solutions.

Solution 1:

  • Delete the add-on
  • Refresh the page
  • Disable your ad blocker on Google Sheets
  • Clear your cache
  • Reinstall FMP

Solution 2:

  • Create a new Google Chrome profile
  • Open your spreadsheet in the new profile
  • Use FMP as usual

Functions Return #NAME? in Excel

After installing FMP in Excel, you may be able to use Statement Dump but not the custom functions.

In most cases, this is because Microsoft requires an Office 365 account to use custom spreadsheet functions.

Solutions

  • Use FMP on Excel Online or Google Sheets (no Office 365 subscription required).
  • Use an Office 365 account from work, school or any other organization, if you have access to one.

Cells Contain _xldudf_ in Excel

This typically happens when you save your Excel files to cloud storage like OneDrive, or when another add-on interferes with the custom functions.

Don't worry. There is an easy way to fix all the function calls at once, and a way to prevent it from happening at all.

Solutions

1. Press the "Refresh Errors" button at the top right of the add-on. It finds those cells and cleans them all up at once.

2. Use Excel's Find & Replace (Ctrl+H) to replace all cell contents in a tab at once: find _xldudf_ and replace all with nothing. =_xldudf_FMP(...) then becomes =FMP(...) again.

Prevention

To prevent this from happening at all, try the following:

  • Go to File / Options
  • Select Add-ins (near the bottom on the left), then Manage (near the bottom) and "Go"
  • Uncheck any add-ins you are not using that may interfere with the FMP add-in
  • Save your Excel files locally instead of in the cloud

URL Fetch Error

URL Fetch is a Google Sheets limit on requesting data.

Every function call makes a URL Fetch call to retrieve the data.

Google limits these calls to 20k per day for regular users and 100k for paid accounts. The limit resets automatically every day.

Solutions

There are two solutions. The first is to use the screener, as described in Custom Screener (Get Data).

The second is to use ranges in the functions, so you get more data while making fewer function calls.

Alternatively, use FMP on Excel, which has no URL Fetch limits, or upgrade your Google account to an enterprise account.

#SPILL! Error

The #SPILL! error happens in Excel or Google Sheets when a function returns an array (multiple values from a single function) and there is no room to display them.

For example, =FMPPRICE("AAPL", "close", 3) returns an array with the date and close price for the past 3 trading days.

If any of the cells where that array would go already contain data, the function returns #SPILL! instead of the values.

Solution

Fixing it is simple: clear the data in the cells the function needs. The error disappears and the function shows the data you want.