Getting Stock Historical Data from API for a python project

Ayo picture Ayo · Jul 11, 2018 · Viewed 16.2k times · Source

I am making a stock analysis program, but for that, I need the NYSE stock historical data API.

I have searched everywhere, but could not find helpful solutions (i.e. Yahoo/Google Finance APIs are down).

I tried the Alpha Vantage API, but it did not seem to output values for close/open values for each stock.

Is there another way that I can access historical data by the masses without downloading every single stock's .csv directly from yahoo finance?

Answer

aydow picture aydow · Jul 11, 2018

Try Quandl. It's pretty simple and easy to use, but you must register and get an API key for some libraries.

In [11]: mydata = quandl.get('WFE/INDEXES_NYSE')

In [12]: mydata.head(5)
Out[12]: 
               Value
Date                
2016-01-31   9632.70
2016-02-29   9559.53
2016-03-31  10207.38
2016-04-30  10436.92
2016-05-31  10441.00

If you want to specify a date range use the following

In [37]: quandl.get("WIKI/AMZN", start_date="2017-7-10", end_date="2018-7-10")
Out[37]: 
                Open       High      Low     ...       Adj. Low  Adj. Close  Adj. Volume
Date                                         ...                                        
2017-07-10   985.000   999.4392   983.50     ...         983.50     996.470    3462884.0
2017-07-11   993.000   995.9900   983.72     ...         983.72     994.130    2947479.0
2017-07-12  1000.650  1008.5500   998.10     ...         998.10    1006.510    3491988.0
2017-07-13  1004.620  1006.8800   995.90     ...         995.90     999.855    2864533.0
2017-07-14  1002.400  1004.4500   996.89     ...         996.89    1001.810    2066362.0
2017-07-17  1004.690  1014.7500  1003.81     ...        1003.81    1010.040    3636801.0
2017-07-18  1006.000  1026.0300  1004.00     ...        1004.00    1024.380    3957892.0
2017-07-19  1025.000  1031.5900  1022.50     ...        1022.50    1026.870    2936902.0
2017-07-20  1031.590  1034.9700  1022.52     ...        1022.52    1028.700    2964341.0
2017-07-21  1021.280  1026.1000  1011.00     ...        1011.00    1025.670    2677517.0
2017-07-24  1028.340  1043.0100  1027.43     ...        1027.43    1038.950    3212499.0
2017-07-25  1038.050  1043.3300  1032.48     ...        1032.48    1039.870    2432328.0
2017-07-26  1043.200  1053.2000  1043.20     ...        1043.20    1052.800    2828980.0
2017-07-27  1069.550  1083.3100  1040.18     ...        1040.18    1046.000    9905158.0
2017-07-28  1012.140  1032.8500  1001.00     ...        1001.00    1020.040    7624498.0
2017-07-31  1019.050  1019.0500   987.02     ...         987.02     987.780    7246638.0
2017-08-01   996.110  1006.4000   991.58     ...         991.58     996.190    4421395.0
2017-08-02  1001.770  1003.2100   981.73     ...         981.73     995.890    4017780.0
2017-08-03   999.470   999.5000   984.59     ...         984.59     986.920    3203134.0
2017-08-04   989.680   991.6720   982.00     ...         982.00     987.580    2704026.0
2017-08-08   994.350   996.2800   985.79     ...         985.79     989.840    2847527.0
2017-08-09   982.600   988.0000   975.27     ...         975.27     982.010    3434077.0
2017-08-10   976.295   979.8600   954.68     ...         954.68     956.920    5560388.0
2017-08-11   960.000   970.3900   951.38     ...         951.38     967.990    3431423.0
2017-08-14   978.410   985.5000   976.19     ...         976.19     983.300    3008007.0
2017-08-15   988.900   991.7400   982.00     ...         982.00     982.740    2513139.0
2017-08-16   981.650   986.4605   973.22     ...         973.22     978.180    3096051.0
2017-08-17   977.840   977.8400   960.32     ...         960.32     960.570    3396045.0
2017-08-18   961.400   965.4300   954.65     ...         954.65     958.470    3248677.0
2017-08-21   957.570   961.2000   945.46     ...         945.46     953.290    3008450.0
...              ...        ...      ...     ...            ...         ...          ...
2018-02-13  1385.930  1419.7200  1383.53     ...        1383.53    1414.510    5858860.0
2018-02-14  1406.250  1452.0600  1403.36     ...        1403.36    1451.050    5881238.0
2018-02-15  1466.890  1468.9400  1436.84     ...        1436.84    1461.760    5598111.0
2018-02-16  1457.370  1465.8000  1446.56     ...        1446.56    1448.690    4410879.0
2018-02-20  1446.490  1488.7700  1446.49     ...        1446.49    1468.350    6388374.0
2018-02-21  1485.000  1503.4900  1478.92     ...        1478.92    1482.920    6216694.0
2018-02-22  1495.360  1502.5400  1475.76     ...        1475.76    1484.760    4732555.0
2018-02-23  1495.340  1500.0000  1486.50     ...        1486.50    1500.000    4327008.0
2018-02-26  1509.200  1522.8400  1507.00     ...        1507.00    1521.950    4909053.0
2018-02-27  1524.500  1526.7800  1507.21     ...        1507.21    1511.980    4708378.0
2018-02-28  1519.510  1528.7000  1512.00     ...        1512.00    1512.450    4426580.0
2018-03-01  1513.600  1518.4900  1465.00     ...        1465.00    1493.450    6835230.0
2018-03-02  1469.100  1501.0500  1455.01     ...        1455.01    1500.250    6587564.0
2018-03-05  1494.240  1525.3800  1481.00     ...        1481.00    1523.610    5233934.0
2018-03-06  1533.200  1542.1300  1528.00     ...        1528.00    1537.640    4561718.0
2018-03-07  1526.520  1545.9000  1522.51     ...        1522.51    1545.000    4174123.0
2018-03-08  1550.000  1554.8800  1545.25     ...        1545.25    1551.860    3512528.0
2018-03-09  1563.500  1578.9400  1559.08     ...        1559.08    1578.890    4417059.0
2018-03-12  1592.600  1605.3300  1586.70     ...        1586.70    1598.390    5115886.0
2018-03-13  1615.960  1617.5400  1578.01     ...        1578.01    1588.180    6427066.0
2018-03-14  1597.000  1606.4400  1590.89     ...        1590.89    1591.000    4164395.0
2018-03-15  1595.000  1596.9100  1578.11     ...        1578.11    1582.320    4026744.0
2018-03-16  1583.450  1589.4400  1567.50     ...        1567.50    1571.680    5145054.0
2018-03-19  1554.530  1561.6600  1525.35     ...        1525.35    1544.930    6376619.0
2018-03-20  1550.340  1587.0000  1545.41     ...        1545.41    1586.510    4507049.0
2018-03-21  1586.450  1590.0000  1563.17     ...        1563.17    1581.860    4667291.0
2018-03-22  1565.470  1573.8500  1542.40     ...        1542.40    1544.100    6177737.0
2018-03-23  1539.010  1549.0200  1495.36     ...        1495.36    1495.560    7843966.0
2018-03-26  1530.000  1556.9900  1499.25     ...        1499.25    1555.860    5547618.0
2018-03-27  1572.400  1575.9600  1482.32     ...        1482.32    1497.050    6793279.0

[179 rows x 12 columns]