Excel VBA Stock API

If you are not familiar with any programming languages, we have several Excel examples to help you download data with our API. Excel examples work both for end-of-day prices and fundamental data.

Downloader for Fundamentals API

We have created an Excel VBA example for easy downloading our Fundamental data in JSON. You can download it here. This example fully supports our JSON API and downloads the output of the entire fundamental directly into your Excel file, no additional actions needed. The example works with our test API key and has access only to two symbols: AAPL.US as an example of fundamentals for companies and VTI.US as an example of fundamentals for ETFs.  It’s easy to test and use, you need to do the following two things:

  • Change the TEST API KEY to your API KEY.
  • Add stocks you want to download.
  • Click ‘Get Data’.
  • And get results directly to your Excel file:
Apple Excel Fundamentals API

For Fundamentals JSON API we use VBA-JSON open library from GitHub (https://github.com/VBA-tools/VBA-JSON). JSON conversion and parsing for VBA (Windows and Mac Excel, Access, and other Office applications).

The file tested in Windows Excel 2013, Excel 2017, Excel 2019 and Excel for Mac 2011, but should apply to 2007+..

  • For Windows-only support, include a reference to “Microsoft Scripting Runtime”
  • For Mac and Windows support, include VBA-Dictionary

Downloader for End-Of-Day Stock API

Here you can find an Excel VBA script for multiple (or bulk) download: vba-multiple-download-new.xlsm. It’s easy to test and use, you need to do the following two things:

  • Change the TEST API KEY to your API KEY, since the test API Key will work only with AAPL.US
  • Add stocks you want to download.

Register & Get Data

Excel VBA Historical prices bulk download

That’s easy!

Add-In for End-Of-Day Stock API

We created an Excel VBA example that works with our API. You can easily download an example of XLS-file and read our instructions below. It’s effortless to use it:

VBA Example for downloading EOD Historical Data

For accessing our API, you can use our defined function “=EODSymbolData(Symbol, From_Date, To_Date).” It’s easy like you use other functions “=SUM(…)” or “=AVERAGE(…)”

If you open the file, you will need to change your API Key in the ‘config’ sheet. The current key works only with AAPL.US:

To see the code, please push ALT+F11 and open VBA Module ‘EODHistoricalData’ to check the VBA function:

Excel VBA Modules EOD Historical Data

Download our XLS-file example for getting EOD Historical Data via API and check the source to create your spreadsheet.

Also, if you are former Yahoo user, you can check our article on How to Migrate from Yahoo Finance API.


If you need only one field, any one field, use ‘filter=FIELDNAME’ parameter. For examples, if you use the following URL:


Then only one number will be returned: 172.5. Which is very useful for Excel WEBSERVICE function like this:


Register & Get Data

In case if you have more questions and need help, send us to email: support@eodhistoricaldata.com.