============= Tiingo Python ============= .. image:: https://img.shields.io/pypi/v/tiingo.svg :target: https://pypi.python.org/pypi/tiingo .. image:: https://img.shields.io/travis/hydrosquall/tiingo-python.svg :target: https://travis-ci.org/hydrosquall/tiingo-python .. image:: https://readthedocs.org/projects/tiingo-python/badge/?version=latest :target: https://tiingo-python.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status .. image:: https://pyup.io/repos/github/hydrosquall/tiingo-python/shield.svg :target: https://pyup.io/repos/github/hydrosquall/tiingo-python/ :alt: Updates .. image:: https://codecov.io/gh/hydrosquall/tiingo-python/branch/master/graph/badge.svg :target: https://codecov.io/gh/hydrosquall/tiingo-python :alt: Coverage Tiingo is a financial data platform that makes high quality financial tools available to all. They have a RESTful and Real-Time Data API. Presently, the API includes support for the following endpoints: * Stock Market Ticker Closing Prices + Metadata. Data includes full distribution details and is validated using a proprietary EOD Price Engine. * Mutual Funds Metadata + Metrics updated daily. Supports over 26,500 Mutual Funds and ETFs. * (Coming Soon): Curated news from top financial news sources + curated blogs. Stories are tagged by Tiingo's algorithms. Usage -------- First, install the library from PyPi: .. code-block:: shell pip install tiingo Next, initialize your client object. It is recommended to use an environment variable to initialize your client object for convenience. .. code-block:: python from tiingo import TiingoClient # Set TIINGO_API_KEY in your environment variables in your .bash_profile, OR # pass a dictionary with 'api_key' as a key into the TiingoClient. client = TiingoClient() Alternately, you may use a dictionary to customize/authorize your client. .. code-block:: python config = {} # To reuse the same HTTP Session across API calls (and have better performance), include a session key. config['session'] = True # If you don't have your API key as an environment variable, # pass it in via a configuration dictionary. config['api_key'] = "MY_SECRET_API_KEY" # Initialize client = TiingoClient(config) Now you can use ``TiingoClient`` to make your API calls. (Other parameters are available for each endpoint beyond what has been written below, see the Tiingo website for full details). .. code-block:: python # Get Ticker # See official docs for list of all supported tickers + date ranges ticker_metadata = client.get_ticker_metadata("GOOGL") # Get latest prices, based on 3+ sources, as CSV or JSON, sampled weekly ticker_price = client.get_ticker_price("GOOGL", frequency="weekly") # WARNING: These will only work if your account has access to the # Mutual Funds portion of the API. # Get mutual fund metadata fund_metadata = client.get_fund_metadata("VFINX") # Get mutual fund Expenses and Shareholder Fee Data for June 2017 fund_metrics = client.get_fund_metrics("VFINX", "2017-06-01", "2017-06-30") # Get news articles about given tickers or search terms from given domains # Coming soon! Further Docs -------- * Official Tiingo Documentation: https://api.tiingo.com * Tiingo-Python Documentation (Under Construction): https://tiingo-python.readthedocs.io. Features -------- * Easy programmatic access to Tiingo API * Coming soon: * Client-side validation of tickers, to save your API calls! * Data validation of returned responses * Case insensitivity Credits --------- * Many thanks to Rishi Singh for creating Tiingo. This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template. .. _Cookiecutter: https://github.com/audreyr/cookiecutter .. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage