{"id":88,"date":"2022-03-11T14:32:23","date_gmt":"2022-03-11T14:32:23","guid":{"rendered":"https:\/\/eodhd.com\/financial-academy\/?p=88"},"modified":"2024-03-14T10:10:03","modified_gmt":"2024-03-14T10:10:03","slug":"eod-historical-data-api-python-library-overview","status":"publish","type":"post","link":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview","title":{"rendered":"Get Historical, Real-Time &#038; Fundamental Market Data in Python with EODHD APIs"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"entry-content-asset\"><iframe loading=\"lazy\" title=\"How to get Historical, Real-Time &amp; Fundamental Market Data in Python with EODHD Financial Data APIs\" width=\"980\" height=\"551\" src=\"https:\/\/www.youtube.com\/embed\/fuV-2yoUCAs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<p>In this video Jonathon shows you how to use the <strong><a href=\"https:\/\/eodhistoricaldata.com\/financial-apis\/python-financial-apis-sdk\/\" target=\"_blank\" rel=\"noreferrer noopener\">EODHD Financial APIs Python Library<\/a><\/strong>.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"maxbutton-1 maxbutton maxbutton-subscribe-to-api external-css btn\" href=\"https:\/\/eodhd.com\/register\"><span class='mb-text'>Register &amp; Get Data<\/span><\/a><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=7s\" target=\"_blank\" rel=\"noreferrer noopener\">00:07<\/a> \u2014 QUICK START<\/strong><br>You&#8217;ll how our API could be used to import different types of data into the Python directly:<br>\u2022 Fundamental Data<br>\u2022 Historical Data<br>\u2022 Options Data<br>\u2022 Real-Time Market Data<br>\u2022 Intraday Data<br>\u2022 Historical Splits and Dividends<br>\u2022 Calendar. Upcoming Earnings, Trends, IPOs, and Splits<br>\u2022 Technical Indicators<br>\u2022 Stocks Market Screener &amp; Stocks Market Search API<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=27s\" target=\"_blank\" rel=\"noreferrer noopener\">00:27<\/a> \u2014 LIBRARY INSTALLATION<\/strong><br>The process will go through the Jupiter Notebook<br>Before to talk about where to pull data from, you&#8217;ll need to set up the Python Financial APIs Software Development Kit (SDK), to learn more, follow the <a href=\"https:\/\/eodhistoricaldata.com\/financial-apis\/python-financial-apis-sdk\/\" target=\"_blank\" rel=\"noreferrer noopener\">Documentation \/ NO CODING. Ready-To-Go Solutions \/ Most Popular Financial APIs \/ Python Financial APIs SDK<\/a> <\/p>\n\n\n\n<p>The library requires Python 3.8+ that can be found and downloaded on <a href=\"https:\/\/github.com\/LautaroParada\/eod-data\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a> <\/p>\n\n\n\n<p>Next thing to do is to import our dependencies:<br>\u2022 NumPy<br>\u2022 Pandas<br>\u2022 Requests<br>\u2022 Datetime<br>\u2022 Calendar<br>\u2022 Scipy<br>\u2022 Matplotlib<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>import numpy as np<br>import pandas as pd<br>import requests<br>import datetime<br>import calendar<br>import scipy.stats as stats<br>import matplotlib.pyplot as plt<\/code><img decoding=\"async\" class=\"wp-image-306\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/dependencies-import.png\" alt=\"\"><\/p>\n\n\n\n<p>You&#8217;ll need to import the os, if you haven&#8217;t imported it yet, just make the command <strong>pip install eod<\/strong>, very simple.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>import os<br>from eod import EodHistoricalData<\/code><img decoding=\"async\" class=\"wp-image-309\" style=\"width: 800px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/os-import.png\" alt=\"\"><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=77s\" target=\"_blank\" rel=\"noreferrer noopener\">01:17<\/a> \u2014 API KEY ACTIVATION<\/strong><br>From EODHD Library, you&#8217;ll need to import the module EODHistoricalData, the other thing that you are going to need is your API Key. Finding your API Key is super simple, you can <a href=\"https:\/\/eodhistoricaldata.com\/register\" target=\"_blank\" rel=\"noreferrer noopener\">set up an account for free<\/a>, and then click on <a href=\"https:\/\/eodhistoricaldata.com\/cp\/settings\" target=\"_blank\" rel=\"noreferrer noopener\">EODHD Fiancail APIs website Settings Button<\/a>, which you might find, right after the <a href=\"https:\/\/eodhistoricaldata.com\/register\" target=\"_blank\" rel=\"noreferrer noopener\">Registration<\/a>.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"maxbutton-1 maxbutton maxbutton-subscribe-to-api external-css btn\" href=\"https:\/\/eodhd.com\/register\"><span class='mb-text'>Register &amp; Get Data<\/span><\/a><\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code><em># Load the key from the environment variables<\/em><br>api_key = os.environ.get('API_EOD')<br><br><em># or<br><\/em>api_key = 'your_api_key'<br><br><em># Create the client instance<\/em><br>client = EodHistoricalData(api_key)<br><img decoding=\"async\" class=\"wp-image-313\" style=\"width: 400px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Find-API-Key.gif\" alt=\"\"><\/code><\/p>\n\n\n\n<p>Holding API Keys in your environmental variable is probably the best way to do it, but for you at home if you just want to add in your api key here with text, feel free to do that too, all you need to do is pass<br>the API Key then in to the class EODHistoricalData and we have our client instance.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=112s\" target=\"_blank\" rel=\"noreferrer noopener\">01:52<\/a> \u2014 EXHANGES OVERVIEW<\/strong><br>We recommend you firstly to take a look at 78 exchanges that we provide, by doing:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>resp = client.get_exchanges()<br>df = pd.DataFrame(resp)<br>pd.set_option('display.max_rows', len(df))<br>print(df)<br>pd.reset_option('display.max_rows')<\/code><br><img decoding=\"async\" class=\"wp-image-342\" style=\"width: 400px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/exchanges-list.gif\" alt=\"\"><\/p>\n\n\n\n<p>To find symbols for a particular exchange, all you need to do is use the command:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code><em># To Find Symbols - Request the Bombay Exchange symbols<\/em><br>resp = client.get_exchange_symbols(exchange='BSE')<\/code><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=142s\" target=\"_blank\" rel=\"noreferrer noopener\">02:22<\/a> \u2014 FINANCIAL DATA OBTAINING<\/strong><br>You&#8217;ll know how to get Financial data statements and what type of information is available?<br>Well essentially in that SDK we&#8217;ve got our three financial statements on different periods.<\/p>\n\n\n\n<p>As an exmaple let&#8217;s try to get an Australian Based Stock STO.AU, with getting the fundamental equity data annually for the balance sheet information.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>symbolAU = 'STO.AU'<br>resp = client.get_fundamental_equity(symbolAU, filter_='Financials::Balance_Sheet::yearly')<br>print(\"STO, Annual financial reports: \", resp.keys())<\/code><\/p>\n\n\n\n<p>You&#8217;ll see in the printing area the dictionary keys which is the dates of all these balance sheets data.<\/p>\n\n\n\n<p>Then try to look at the US listed sock Apple AAPL.US for which you can get quarterly information based on these balance sheets, you&#8217;ll get data all the way back to 1985.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>symbolUS = 'AAPL.US'<br>resp = client.get_fundamental_equity(symbolUS, filter_='Fianacials::Balance_Sheet::quarterly')<br>print(\"\\nAAPL, Quarterly financials reports: \", resp.keys())<\/code><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=180s\" target=\"_blank\" rel=\"noreferrer noopener\">03:00<\/a> \u2014 EOD HISTORICAL DATA OBTAINING<\/strong><br>Next we recomend to try on is to get the Historical End-of-Day Data, which is very comprehensive.<br>Let&#8217;s try it on the government 10-year yield bond SWISS.GBOND. To get the End-of-Day Prices you just need to call the function with the symbol that you&#8217;re interested in. You can also specify the date ranges that you&#8217;re interested in for example from and to:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code><em>#<\/em> <em>daily prices for the Swiss goverment bond<\/em><br>swiss_10yr_govbond = 'SW10Y.GBOND'<br>bond_prices = client.get_prices_eod(swiss_10yr_govbond, period='d', order='a')<\/code><\/p>\n\n\n\n<p> It&#8217;s important to mention that what you&#8217;ll get back is actually a dictionary in Python, so our sdk has actually processed the JSON that&#8217;s received from the API into a dictionary format.<br>Therefore, you&#8217;ll need to process the dictionary into something that you want to deal with.<br>For example you can process data to the Pandas Data Frames, to do that:<br>\u2022 Use Pandas Data Frame with the dictionary you want to process.<br>\u2022 Set the date as the index for a lot of the time i&#8217;m looking at the closing prices<br>\u2022 And plott the data over time<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>bond_prices = pd.DataFrame(bond_prices)<br>bond_prices.set_index('date', inplace=True)<br>bond_prices.close.plot(figsize=(10,5))<br>plt.title('Swiss 10yr Goverment Bond Prices')<br>plt.ylabel('Bond Prices')<br>plt.show()<\/code><br><img decoding=\"async\" class=\"wp-image-360\" style=\"width: 400px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Swiss-10-year-Government-Bonds-Prices-plot-1.gif\" alt=\"\"><\/p>\n\n\n\n<p>You&#8217;ll see a plot of the Swiss 10-year Government Bonds Prices. It has negative prices in Switzerland.<\/p>\n\n\n\n<p>If you&#8217;ll use the same function get End-of-Day prices for the Bombay Stock Exchange BSE, then the plot prices will be looking like these.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>symbol='500209.BSE'<br><br>resp = client.get_prices_eod(symbol, period='d', order='a', from_='2013-01-05')<br>stock_data = pd.DataFrame(resp)<br>stock_data.set_index('date', inplace=True)<br>stock_data.head()<br><br>stock_data.close.plot(figsize=(10,5))<br>plt.title('Bombay stock exchange (BSE): INFOSYS LTD.')<br>plt.show()<br><\/code><img decoding=\"async\" class=\"wp-image-363\" style=\"width: 400px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Bombay-Stock-Exchange-BSE-plot.gif\" alt=\"\"><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>When we have this price series, we could do some data analysis. For the example let&#8217;s try Log Returns Distribution<br><img decoding=\"async\" class=\"wp-image-370\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Log-Returns-Distribution-example.png\" alt=\"\"><br>The log returns adjust the returns between a given scale of time. You&#8217;ll need to look at the daily log returns, to do that pass the data frame, specify which column you want, let it be the close and then divide it by the closed price shifted by one. It means that you going to take the close price and divide it by the previous close price. Also use the NumPy log to get the log of that change.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>log_returns = np.log(stock_data.close\/stock_data.close.shift(1)).dropna()<br>log_returns.hist(bins=100, figsize=(8,5))<br>plt.title('Distribution of log returns')<br>plt.show()<\/code><br><img decoding=\"async\" class=\"wp-image-374\" style=\"width: 400px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Log-Returns-Histogram-1.gif\" alt=\"\"><\/p>\n\n\n\n<p>From this Log Returns Histogram you can see that it&#8217;s quite centered around zero but has some huge outliers on the left hand side, wich means massive tail risk.<\/p>\n\n\n\n<p>Furthermore, we can do a quick statistical test. Are log returns normally distributed?<br>\u2022 We can plot the distribution in a Q-Q plot<br>\u2022 We can perform the KS (Kolmogorov-Smirnov) test<br>to confirm statistically whether it&#8217;s gaussian or not.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>stats.probplot(log_returns, dist='norm', plot=plt)<br>plt.show()<br><br>ks_stat, p_value = state.kstest(log_returns, 'norm', args = (log_returns.mean(), log_returns.std()))<br><br>print(ks_stat, p_value)<br>if p_value &gt; 0.05:<br>    print('Probably Guassian')<br>else:<br>    print('Probably NOT Guassian')<br><img decoding=\"async\" class=\"wp-image-377\" style=\"width: 400px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/statistical-test.gif\" alt=\"\"><\/code><\/p>\n\n\n\n<p>On the plot we can see again that massive left hand tail where we&#8217;re comparing the red line which is the normal distribution to our blue data observations. With a confidence interval of 99 we can say that this is probably not gaussian.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=321s\" target=\"_blank\" rel=\"noreferrer noopener\">05:21<\/a> \u2014 OPTIONS DATA OBTAINING<\/strong><br>This block is very comprehensive ti&#8217;s probably one of<br>the main key functions that you might find extremely useful at the EODHistorical API.<br>If you want any information from the past from Historical Dates, then you need to pass the from and two parameters For the example you can try to get the list of current stock options for Apple AAPL. You going to use get_stock_options (&#8216;AAPL.US&#8217;)<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>resp = client.get_stock_options('AAPL.US')<br><br>iv = {}<br><br>for i in resp['data']:<br>iv[i['expirationDate']] = {}<br>iv[i['expirationDate']]['x'] = [name['strike'] for name in i['options']['CALL']]<br>iv[i['expirationDate']]['y'] = [name['impliedVolatility'] for name in i['options']['CALL']]<br><br>#<em> print(\"Expiration Date: \", i['expirationDate'])<br># print(\"IV vs Strikes: \", [name['impliedVolatility'] for name in i['options']['CALL']])<\/em><\/code><br><img decoding=\"async\" class=\"wp-image-383\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/get_stock_options.png\" alt=\"\"><\/p>\n\n\n\n<p>Then you&#8217;ll need to create a data frame from the response where you&#8217;ll need to get the expiration dates and to store the strikes and the implied volatility for all the call options.<\/p>\n\n\n\n<p>Once you&#8217;ll done that, you can just plot a specific time date that you interested in and look at the implied volatility of a specific contract at an expiry with respect to the strikes.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>plt.scatter(iv['2022-05-20']['x'],iv['2022-05-20']['y'])<br>plt.title('AAPL Implied Volatility of Contracts with 2022-05-20 Expiry')<br>plt.ylabel('Implied Volatility (%)')<br>plt.xlabel('Strike ($)')<br>plt.show()<\/code><br><img decoding=\"async\" class=\"wp-image-384\" style=\"width: 400px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/implied-volatility-plot.gif\" alt=\"\"><\/p>\n\n\n\n<p>You&#8217;ll find that looking at the implied volatilities that are actually offered in the market right now in the volatility smile with the EODHistoricalData API extremely valuable.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=383s\" target=\"_blank\" rel=\"noreferrer noopener\">06:23<\/a> \u2014 REAL-TIME (DELAYED) DATA OBTAINING<\/strong><br>Live (delayed) stock price API prices provided about 15 to 20 minutes delayed. You can get them with a one minute interval by:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code># <em>Multple instruments<\/em><br>resp = client.get_prices_live('AAL.LSE', s='GLD,QVAL,QMOM,EUR.FOREX,VTI,SW10Y.GBOND')<br>pd.DataFrame(resp)<\/code><br><img decoding=\"async\" class=\"wp-image-389\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Live-delayed-stock-price-API-prices.png\" alt=\"\"><\/p>\n\n\n\n<p>You can use multiple instruments to grab what the last open high close low volume information<br>was for all those symbols.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=409s\" target=\"_blank\" rel=\"noreferrer noopener\">06:49<\/a> \u2014 INTRADAY DATA OBTAINING<\/strong><br>Intraday data is extremely useful as well. Let&#8217;s try to get the five minute prices for Forex USD\/EUR pair.<br>You&#8217;ll need to get the UTC Unix date, to do that take a time delta to get start date five days ago, then convert it to the UTC Unix. You can do that using the calendar function and timegm.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>end_date = datetime.datetime.utcnow()<br>start_date = end_date - datetime.timedelta(days=5)<br>utc_end_date = calendar.timegm(end_date.utctimetuple())<br>utc_start_date = calendar.timegm(start_date.utctimetuple())<br>print(\"Start Date: \", start_date, \"End Date: \", end_date)<\/code><br><img decoding=\"async\" class=\"wp-image-396\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/datetime.timedelta.png\" alt=\"\"><\/p>\n\n\n\n<p>Once you&#8217;ll get done with that, use our client again to get_prices_intraday dont forget to specify the symbol, interval, from and two dates.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>forex_eur = 'EUR.FOREX'<br>usd_eur = client.get_prices_intraday(forex_eur, interval='5m', from_=utc_start_date, to=utc_end_date)<br>usd_eur = pd.DataFrame(usd_eur)<br>usd_eur.set_index('datetime', inplace=True)<br>usd_eur.close.plot(figsize=(10,5))<\/code><br><img decoding=\"async\" class=\"wp-image-395\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/forex_eur.png\" alt=\"\"><\/p>\n\n\n\n<p>From here we can get a plot of the five minute price times with the close information for the last five days.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>plt.title('FOREX: USD-EUR 5m price time bars')<br>plt.ylabel('USD-EUR ($)')<br>plt.show()<br><\/code><img decoding=\"async\" class=\"wp-image-398\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/plot-USD-EUR.png\" alt=\"\"><br><img decoding=\"async\" class=\"wp-image-400\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/plot-of-the-five-minute-price-times.png\" alt=\"\"><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=455s\" target=\"_blank\" rel=\"noreferrer noopener\">07:35<\/a> \u2014 HISTORICAL SPLITS AND DIVIDENDS DATA OBTAINING<\/strong><br>Historical Splits and Dividend API is extremely useful as well. If you&#8217;ll need the symbol Apple AAPL again:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>symbol = 'AAPL.US'<\/code><\/p>\n\n\n\n<p>By calling the get dividends function and passing the symbol and the from date, we can get all the previous recorded dividend data for that stock:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code>#<em> Get dividend data<\/em><br>resp = client.get_dividends('symbol', from_='2000-03-01')<br>dividends = pd.DataFrame(resp)<br>dividends.set_index('date', inplace=True)<br>dividends.head()<\/code><br><img decoding=\"async\" class=\"wp-image-406\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Historical-Splits.png\" alt=\"\"><\/p>\n\n\n\n<p>So here we can get:<br>\u2022 The date the declaration date<br>\u2022 The record date the payment date<br>\u2022 The value and the unadjusted value<br>\u2022 The currency<\/p>\n\n\n\n<p>Getting the split information is obviously really interesting too:<br>For Apple AAPL you can just pass from date 1994 all the way through to 2020 and we can look at the splits that occurred in the stocks over that time.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"># <code><em>Get the splits for a company<\/em><br>resp = client.get_splits(symbol, from_='1994-01-01', to='2020-10-24')<br>splits = pd.DataFrame(resp)<br>splits.set_index('date', inplace=True)<br>splits.head()<\/code><br><img decoding=\"async\" class=\"wp-image-411\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/splits-for-a-company.png\" alt=\"\"><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=493s\" target=\"_blank\" rel=\"noreferrer noopener\">08:13<\/a> \u2014 CALENDAR FUNCTION OVERVIEW<\/strong><br>By using it, you can look at upcoming earnings, trends. IPOs and splits<br>For upcoming earnings call the get_calendar_earnings function<br>For the earnings trends get_calendar_trends<br>For the IPOs get_calendar_ipos<br>For the splits get_calendar_splits<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code><em># Upcoming Earnings<\/em><br>resp = client.get_calendar_earnings(symbols='AAPL.US,MSFT.US,AI.PA', to='2023-12-01')<br>upcoming_Earnings = pd.DataFrame(resp)<br>print('\\nUpcoming Earnings\\n\\n\\n', upcoming_Earnings.head())<br><br><em># Earnings Trends<\/em><br>resp = client.get_claendar_trends(symbols='AAPL.US,MSFT.US,AI.PA')<br>earnings_Trend = pd.DataFrame(resp)<br>print('\\n\\n\\nEarnings Trend\\n\\n\\n', earnings_Trend)<br><br><em># Upcoming IPOs<\/em><br>resp = client.get_calendar_ipos(from_='2022-01-01')<br>upcoming_IPOs = pd.DataFrame(resp)<br>print('\\n\\n\\nUpcoming IPOs\\n\\n\\n', upcoming_IPOs)<br><br><em># Upcoming Splits<\/em><br>resp = client.get_calendar_splits(from_='2022-01-01')<br>upcoming_splits = pd.DataFrame(resp)<br>print('\\n\\n\\nUpcoming Splits\\n\\n\\n', upcoming_splits.head())<\/code><br><img decoding=\"async\" class=\"wp-image-416\" style=\"width: 400px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/CALENDAR-FUNCTION-OVERVIEW.gif\" alt=\"\"><\/p>\n\n\n\n<p>You can see the examples of the data and you can use them however you want.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=517s\" target=\"_blank\" rel=\"noreferrer noopener\">08:37<\/a> \u2014 TECHNICAL INDICATORS OVERVIEW<\/strong><br>Our API also has a Technical Indicator capability whereby you can get this list of indicators.<br>Data directly computed for you so you don&#8217;t need to go ahead and do the computation on your side.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code><em># Get the available indicators in the API. This method does not accept any parameter<\/em><br>resp = client.get_indicator_name()<br>resp<\/code><br><img decoding=\"async\" class=\"wp-image-420\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Technical-Indicators.png\" alt=\"\"><\/p>\n\n\n\n<p>For example let&#8217;s look at the Stochastic RSI Indicator for Apple AAPL.<br>You could get the Apple AAPL data first for the specific time range, that you&#8217;re interested in. Then you could return the get_instrument_ta technical analysis for the symbol AAPL, call<br>the function stochrsi and then specify from and the to dates that aligns with my stock date:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><em><code># Get data for a specific indicator, in this case the parabolic SAR<\/code><\/em><code><br>resp = client.get_prices_eod(symbol, period='d', order='a', from_='2020-03-01', to='2021-06-30')<br>aapl = pd.DataFrame(resp)<br>aapl.set_index('date', inplace=True)<br><br>resp = client.get_instrument_ta(symbol, function='storhrsi', from_='2020-03-01', to='2021-06-30')<br>techinical = pd.DataFrame(resp)<br>techinical.set_index('date', inplace=True)<br><br>fig, axs = plt.subplots(2,1,figsize=(9,5), gridspec_kw={'height_rations': [2,1]})<br>axs[0].plot(aapl.close,)<br>axs[1].plot(techinical)<br>fig.legend(['close', 'fast RSI', 'slow RSI'])<br>fig.show()<\/code><br><img decoding=\"async\" class=\"wp-image-424\" style=\"width: 400px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Stochastic-RSI-Indicator-for-Apple-AAPL.gif\" alt=\"\"><\/p>\n\n\n\n<p>You can create a plot with Fast RSI and Slow RSI against the Closing Price of the stock.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=565s\" target=\"_blank\" rel=\"noreferrer noopener\">09:25<\/a> \u2014 STOCK SCREENER OVERVIEW<\/strong><br>To get a list of the stock screeners available to you call:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code><em># Request available signals<\/em><br>resp = client.get_screener_signals()<br>print(resp)<br><img decoding=\"async\" class=\"wp-image-431\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/get_screener_signals.png\" alt=\"\"><\/code><\/p>\n\n\n\n<p>As an example you can call that function to find companies that have a new 200-day high with a price bigger than expected by the wall street analysts. To do that you&#8217;ll need to pass 200d_ new_hi,wallstreet_hi<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code><em># Request companies with a new 200 day new high and a price bigger than expected by wallstreet analysts<\/em><br>resp = client.get_instrument_screener(signals='200d_new_hi,wallstreet_hi')<br>print(resp)<\/code><br><img decoding=\"async\" class=\"wp-image-437\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/200d_-new_hiwallstreet_hi.png\" alt=\"\"><\/p>\n\n\n\n<p>As you can see you could get a bunch of data back that shows which codes specify this requirement.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=597s\" target=\"_blank\" rel=\"noreferrer noopener\">09:57<\/a> \u2014 SEARCHING API FOR STOCKS ETFS FUNDS &amp; INDEXES OVERVIEW<\/strong><br>With the searching api you can look for:<br>\u2022 Stocks<br>\u2022 ETFs<br>\u2022 Mutual Funds<br>\u2022 Indexes<br>based on a search parameter, to do that try get_search_instrument and with using the query string telstra an Australian Stock. After transforming that into a data frame, indexing by the code you can get a list of all the information with respect to the word telstra.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><code><em># Search instrument with the word .com<\/em><br>resp = client.get_search_instrument(query_string='telstra')<br>df = pd.DataFrame(resp)<br>df.set_index('Code', inplace=True)<br>df<\/code><br><img decoding=\"async\" class=\"wp-image-440\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Stocks-Search-API-with-the-word.png\" alt=\"\"><\/p>\n\n\n\n<p><br>You can also use this ability to search other instruments. So for example if you only want to return bonds that are under that search query, then you can specify the string that you&#8217;re interested in with the limit=50 and then increase this to bonds_only=1 (true). By that way you&#8217;ll return only bonds with this specific search parameter:<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\"><em><code># Search bonds related to USA<\/code><\/em><br>resp = client.get_search_instrument(query_string=&#8217;USA&#8217;, limit=50, bonds_only=1)<br>df = pd.DataFrame(resp)<br><code>df.set_index('Code', inplace=True)<br>df<\/code><br><img decoding=\"async\" class=\"wp-image-443\" style=\"width: 900px;\" src=\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/Stocks-Search-API-for-the-bonds.png\" alt=\"\"><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"maxbutton-1 maxbutton maxbutton-subscribe-to-api external-css btn\" href=\"https:\/\/eodhd.com\/register\"><span class='mb-text'>Register &amp; Get Data<\/span><\/a><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=fuV-2yoUCAs&amp;t=645s\" target=\"_blank\" rel=\"noreferrer noopener\">10:45<\/a> \u2014 CONCLUSION<\/strong><br>So in summary the EODHistoricalData API in Python is extremely valuable you can get:<br>\u2022 Fundamental data<br>\u2022 Historical data <br>\u2022 Options data<br>\u2022 Real-time<br>\u2022 Intraday<br>\u2022 Historical splits<br>\u2022 Calendar information<br>\u2022 Technical Analysis<br>\u2022 Stock Screeners<br>So please go ahead and try and use this analysis for yourself.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this video Jonathon shows you how to use the EODHD Financial APIs Python Library. 00:07 \u2014 QUICK STARTYou&#8217;ll how our API could be used to import different types of data into the Python directly:\u2022 Fundamental Data\u2022 Historical Data\u2022 Options Data\u2022 Real-Time Market Data\u2022 Intraday Data\u2022 Historical Splits and Dividends\u2022 Calendar. Upcoming Earnings, Trends, IPOs, [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[43],"tags":[51],"coding-language":[30],"ready-to-go-solution":[44],"qualification":[33],"financial-apis-category":[],"financial-apis-manuals":[],"class_list":["post-88","post","type-post","status-publish","format-standard","hentry","category-how-to-get-stocks-data-examples","tag-youtube","coding-language-python","ready-to-go-solution-python-financial-apis-sdk","qualification-newbie"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.9 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Using Python EODHD APIs to Access Stocks Data | EODHD APIs Academy<\/title>\n<meta name=\"description\" content=\"Learn how to use the EODHD Financial APIs Python Library to import fundamental, historical, real-time, and intraday data into Python\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get Historical, Real-Time &amp; Fundamental Market Data in Python with EODHD APIs\" \/>\n<meta property=\"og:description\" content=\"Learn how to use the EODHD Financial APIs Python Library to import fundamental, historical, real-time, and intraday data into Python\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview\" \/>\n<meta property=\"og:site_name\" content=\"Financial Academy\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/eodhistoricaldata\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-11T14:32:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-14T10:10:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/eodhd.com\/financial-academy\/wp-content\/uploads\/2022\/03\/get-historical-real-time-fundamental-market-data-in-python-with-eodhd-apis.png\" \/>\n\t<meta property=\"og:image:width\" content=\"390\" \/>\n\t<meta property=\"og:image:height\" content=\"220\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jonathon Emerick\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EOD_data\" \/>\n<meta name=\"twitter:site\" content=\"@EOD_data\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathon Emerick\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#article\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview\"},\"author\":{\"name\":\"Jonathon Emerick\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#\/schema\/person\/3a59df61fa92ddc6bda9728b536efbbf\"},\"headline\":\"Get Historical, Real-Time &#038; Fundamental Market Data in Python with EODHD APIs\",\"datePublished\":\"2022-03-11T14:32:23+00:00\",\"dateModified\":\"2024-03-14T10:10:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview\"},\"wordCount\":1762,\"publisher\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#organization\"},\"image\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#primaryimage\"},\"thumbnailUrl\":\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/dependencies-import.png\",\"keywords\":[\"YouTube Videos\"],\"articleSection\":[\"How to Get Stocks Data Examples\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview\",\"url\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview\",\"name\":\"Using Python EODHD APIs to Access Stocks Data | EODHD APIs Academy\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#primaryimage\"},\"image\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#primaryimage\"},\"thumbnailUrl\":\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/dependencies-import.png\",\"datePublished\":\"2022-03-11T14:32:23+00:00\",\"dateModified\":\"2024-03-14T10:10:03+00:00\",\"description\":\"Learn how to use the EODHD Financial APIs Python Library to import fundamental, historical, real-time, and intraday data into Python\",\"breadcrumb\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#primaryimage\",\"url\":\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/dependencies-import.png\",\"contentUrl\":\"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/dependencies-import.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/eodhd.com\/financial-academy\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get Historical, Real-Time &#038; Fundamental Market Data in Python with EODHD APIs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#website\",\"url\":\"https:\/\/eodhd.com\/financial-academy\/\",\"name\":\"Financial APIs Academy | EODHD\",\"description\":\"Financial Stock Market Academy\",\"publisher\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/eodhd.com\/financial-academy\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#organization\",\"name\":\"EODHD (EOD Historical Data)\",\"url\":\"https:\/\/eodhd.com\/financial-academy\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/eodhd.com\/financial-academy\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png\",\"contentUrl\":\"https:\/\/eodhd.com\/financial-academy\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png\",\"width\":159,\"height\":82,\"caption\":\"EODHD (EOD Historical Data)\"},\"image\":{\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/eodhistoricaldata\",\"https:\/\/x.com\/EOD_data\",\"https:\/\/www.reddit.com\/r\/EODHistoricalData\/\",\"https:\/\/eod-historical-data.medium.com\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#\/schema\/person\/3a59df61fa92ddc6bda9728b536efbbf\",\"name\":\"Jonathon Emerick\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-academy\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dc834e7548d06b7413c810907487cba43741975f5c4bf43baeb79075e5de4b21?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dc834e7548d06b7413c810907487cba43741975f5c4bf43baeb79075e5de4b21?s=96&d=mm&r=g\",\"caption\":\"Jonathon Emerick\"},\"description\":\"BE (Chemical Engineering), MFinMath\",\"url\":\"https:\/\/eodhd.com\/financial-academy\/author\/jonathonemerick\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Using Python EODHD APIs to Access Stocks Data | EODHD APIs Academy","description":"Learn how to use the EODHD Financial APIs Python Library to import fundamental, historical, real-time, and intraday data into Python","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview","og_locale":"en_US","og_type":"article","og_title":"Get Historical, Real-Time & Fundamental Market Data in Python with EODHD APIs","og_description":"Learn how to use the EODHD Financial APIs Python Library to import fundamental, historical, real-time, and intraday data into Python","og_url":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview","og_site_name":"Financial Academy","article_publisher":"https:\/\/www.facebook.com\/eodhistoricaldata","article_published_time":"2022-03-11T14:32:23+00:00","article_modified_time":"2024-03-14T10:10:03+00:00","og_image":[{"width":390,"height":220,"url":"https:\/\/eodhd.com\/financial-academy\/wp-content\/uploads\/2022\/03\/get-historical-real-time-fundamental-market-data-in-python-with-eodhd-apis.png","type":"image\/png"}],"author":"Jonathon Emerick","twitter_card":"summary_large_image","twitter_creator":"@EOD_data","twitter_site":"@EOD_data","twitter_misc":{"Written by":"Jonathon Emerick","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#article","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview"},"author":{"name":"Jonathon Emerick","@id":"https:\/\/eodhd.com\/financial-academy\/#\/schema\/person\/3a59df61fa92ddc6bda9728b536efbbf"},"headline":"Get Historical, Real-Time &#038; Fundamental Market Data in Python with EODHD APIs","datePublished":"2022-03-11T14:32:23+00:00","dateModified":"2024-03-14T10:10:03+00:00","mainEntityOfPage":{"@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview"},"wordCount":1762,"publisher":{"@id":"https:\/\/eodhd.com\/financial-academy\/#organization"},"image":{"@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#primaryimage"},"thumbnailUrl":"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/dependencies-import.png","keywords":["YouTube Videos"],"articleSection":["How to Get Stocks Data Examples"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview","url":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview","name":"Using Python EODHD APIs to Access Stocks Data | EODHD APIs Academy","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-academy\/#website"},"primaryImageOfPage":{"@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#primaryimage"},"image":{"@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#primaryimage"},"thumbnailUrl":"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/dependencies-import.png","datePublished":"2022-03-11T14:32:23+00:00","dateModified":"2024-03-14T10:10:03+00:00","description":"Learn how to use the EODHD Financial APIs Python Library to import fundamental, historical, real-time, and intraday data into Python","breadcrumb":{"@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#primaryimage","url":"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/dependencies-import.png","contentUrl":"https:\/\/eodhistoricaldata.com\/financial-academy\/wp-content\/uploads\/2022\/03\/dependencies-import.png"},{"@type":"BreadcrumbList","@id":"https:\/\/eodhd.com\/financial-academy\/how-to-get-stocks-data-examples\/eod-historical-data-api-python-library-overview#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/eodhd.com\/financial-academy\/"},{"@type":"ListItem","position":2,"name":"Get Historical, Real-Time &#038; Fundamental Market Data in Python with EODHD APIs"}]},{"@type":"WebSite","@id":"https:\/\/eodhd.com\/financial-academy\/#website","url":"https:\/\/eodhd.com\/financial-academy\/","name":"Financial APIs Academy | EODHD","description":"Financial Stock Market Academy","publisher":{"@id":"https:\/\/eodhd.com\/financial-academy\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eodhd.com\/financial-academy\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/eodhd.com\/financial-academy\/#organization","name":"EODHD (EOD Historical Data)","url":"https:\/\/eodhd.com\/financial-academy\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-academy\/#\/schema\/logo\/image\/","url":"https:\/\/eodhd.com\/financial-academy\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png","contentUrl":"https:\/\/eodhd.com\/financial-academy\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png","width":159,"height":82,"caption":"EODHD (EOD Historical Data)"},"image":{"@id":"https:\/\/eodhd.com\/financial-academy\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/eodhistoricaldata","https:\/\/x.com\/EOD_data","https:\/\/www.reddit.com\/r\/EODHistoricalData\/","https:\/\/eod-historical-data.medium.com\/"]},{"@type":"Person","@id":"https:\/\/eodhd.com\/financial-academy\/#\/schema\/person\/3a59df61fa92ddc6bda9728b536efbbf","name":"Jonathon Emerick","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-academy\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dc834e7548d06b7413c810907487cba43741975f5c4bf43baeb79075e5de4b21?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dc834e7548d06b7413c810907487cba43741975f5c4bf43baeb79075e5de4b21?s=96&d=mm&r=g","caption":"Jonathon Emerick"},"description":"BE (Chemical Engineering), MFinMath","url":"https:\/\/eodhd.com\/financial-academy\/author\/jonathonemerick"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pdOdVT-1q","jetpack_sharing_enabled":true,"acf":[],"_links":{"self":[{"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/posts\/88","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/comments?post=88"}],"version-history":[{"count":4,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/posts\/88\/revisions"}],"predecessor-version":[{"id":3086,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/posts\/88\/revisions\/3086"}],"wp:attachment":[{"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/media?parent=88"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/categories?post=88"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/tags?post=88"},{"taxonomy":"coding-language","embeddable":true,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/coding-language?post=88"},{"taxonomy":"ready-to-go-solution","embeddable":true,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/ready-to-go-solution?post=88"},{"taxonomy":"qualification","embeddable":true,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/qualification?post=88"},{"taxonomy":"financial-apis-category","embeddable":true,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/financial-apis-category?post=88"},{"taxonomy":"financial-apis-manuals","embeddable":true,"href":"https:\/\/eodhd.com\/financial-academy\/wp-json\/wp\/v2\/financial-apis-manuals?post=88"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}