All Projects → sanko → Robinhood

sanko / Robinhood

Licence: unlicense
Unofficial Documentation of Robinhood Trade's Private API

Projects that are alternatives of or similar to Robinhood

robinhood.tools
📈🤑💰 Advanced trading tools and resources for Robinhood Web.
Stars: ✭ 27 (-98.28%)
Mutual labels:  stock-market, stocks, robinhood, robinhood-api, stock-data, nasdaq, algorithmic-trading
pyEX
Python interface to IEX and IEX cloud APIs
Stars: ✭ 407 (-74.06%)
Mutual labels:  stock-market, stocks, stock-data, algorithmic-trading
stockbot
Alpaca algo stock trading bot
Stars: ✭ 105 (-93.31%)
Mutual labels:  stock-market, stocks, nasdaq, algorithmic-trading
Algobot
A C++ stock market algorithmic trading bot
Stars: ✭ 78 (-95.03%)
Mutual labels:  algorithmic-trading, stock-market, stocks, stock-data
Pyex
Python interface to IEX and IEX cloud APIs
Stars: ✭ 311 (-80.18%)
Mutual labels:  algorithmic-trading, stock-market, stocks, stock-data
Simplestockanalysispython
Stock Analysis Tutorial in Python
Stars: ✭ 126 (-91.97%)
Mutual labels:  stock-market, stocks, stock-data
intrinio-realtime-java-sdk
Intrinio Java SDK for Real-Time Stock Prices
Stars: ✭ 22 (-98.6%)
Mutual labels:  stock-market, stocks, stock-data
Sumzerotrading
A Java API for Developing Automated Trading Applications for the Equity, Futures, and Currency Markets
Stars: ✭ 128 (-91.84%)
Mutual labels:  stock-market, stocks, stock-data
NSE-Stock-Scanner
National Stock Exchange (NSE), India based Stock screener program. Supports Live Data, Swing / Momentum Trading, Intraday Trading, Connect to online brokers as Zerodha Kite, Risk Management, Emotion Control, Screening, Strategies, Backtesting, Automatic Stock Downloading after closing, live free day trading data and much more
Stars: ✭ 78 (-95.03%)
Mutual labels:  stock-market, stocks, algorithmic-trading
TerminalStocks
Pure terminal stock ticker for Windows.
Stars: ✭ 88 (-94.39%)
Mutual labels:  stock-market, stocks, stock-data
Finance-Robinhood
Trade stocks and ETFs with free brokerage Robinhood and Perl
Stars: ✭ 42 (-97.32%)
Mutual labels:  stock-market, stocks, robinhood
stocktwits-sentiment
Stocktwits market sentiment analysis in Python with Keras and TensorFlow.
Stars: ✭ 23 (-98.53%)
Mutual labels:  stock-market, stocks, stock-data
intrinio-realtime-python-sdk
Intrinio Python SDK for Real-Time Stock Prices
Stars: ✭ 79 (-94.96%)
Mutual labels:  stock-market, stocks, stock-data
Stonks
Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal. See how fast your stonks will crash.
Stars: ✭ 405 (-74.19%)
Mutual labels:  stock-market, stocks, stock-data
Qlib
Qlib is an AI-oriented quantitative investment platform, which aims to realize the potential, empower the research, and create the value of AI technologies in quantitative investment. With Qlib, you can easily try your ideas to create better Quant investment strategies. An increasing number of SOTA Quant research works/papers are released in Qlib.
Stars: ✭ 7,582 (+383.24%)
Mutual labels:  algorithmic-trading, stock-data
Ystockquote
Fetch stock quote data from Yahoo Finance
Stars: ✭ 502 (-68.01%)
Mutual labels:  stock-market, stock-data
Financedatabase
This is a database of 180.000+ symbols containing Equities, ETFs, Funds, Indices, Futures, Options, Currencies, Cryptocurrencies and Money Markets.
Stars: ✭ 554 (-64.69%)
Mutual labels:  stock-market, stock-data
Iex Api
The IEX API provides any individual or academic, public or private institution looking to develop applications that require stock market data to access near real-time quote and trade data for all stocks trading on IEX.
Stars: ✭ 683 (-56.47%)
Mutual labels:  stock-market, stocks
Algotrader
Simple algorithmic stock and option trading for Node.js.
Stars: ✭ 468 (-70.17%)
Mutual labels:  algorithmic-trading, stock-market
Stock Analysis Engine
Backtest 1000s of minute-by-minute trading algorithms for training AI with automated pricing data from: IEX, Tradier and FinViz. Datasets and trading performance automatically published to S3 for building AI training datasets for teaching DNNs how to trade. Runs on Kubernetes and docker-compose. >150 million trading history rows generated from +5000 algorithms. Heads up: Yahoo's Finance API was disabled on 2019-01-03 https://developer.yahoo.com/yql/
Stars: ✭ 605 (-61.44%)
Mutual labels:  algorithmic-trading, stocks

News

https://www.quantopian.com/posts/were-joining-robinhood

NOTICE: Consider this project dead.

I continued to keep this documentation up to date and it's now complete locally and until recently, I was happy to answer questions that wouldn't potentially expose a private, internal API, unreleased feature, or sensitive 3rd party data. But certain ones here have moved from friendly open source devs to angry, weird stalkers and have even used this documentation maliciously to steal assets and hijack accounts. Sadly, closing the issue tracker was only a temporary fix. Shuttering the project will be more permanent.

To the weird ones: Do not contact me about Robinhood. Do not send any more email. Do not text me. Do not call me anymore. Do not cyberstalk my teenage family member and leave messages for me on her voicemail anymore. Stop offering money to help you. I will not.

To everyone else: Bad actors, profiteers, and scammers have created a situation that puts us all at risk of having our accounts closed. I suggest you find ways to distance yourselves. These people have pushed Robinhood into making drastic changes to their API, shutting down established partnerships, and enforcing their customer agreements. If you haven't been contacted by an automated support agent yet for using the API directly, don't be too surprised if you are in the near future.

I'm not sure what will happen to this repo yet but I have had a good relationship with RH HQ since there was a waiting list to even create an account and I intend to stay in their good graces. I will not plug one here but commission-free firms exist that are designed to be accessed via their API. If that's in line with your plans, use one of those firms.


**NOTICE: I do not need pull requests or other contributions of endpoints!

Unofficial Documentation of Robinhood Trade's Private API

Table of Contents:

See also

  • Authentication.md for methods related to user authentication, password recovery, etc.
  • Banking.md for bank accounts & ACH transfers methods
  • Order.md for order-related functions (placing, cancelling, listing previous orders, etc.)
  • Options.md for options related endpoints
  • Quote.md for stock quotes
  • Fundamentals.md for basic, fundamental data
  • Instrument.md for internal reference to financial instruments
  • Watchlist.md for watchlists management
  • Account.md talks about gathering and modifying user and account information
  • Settings.md covers notifications and other settings
  • Markets.md describes the API for getting basic info about specific exchanges themselves
  • Referrals.md is all about account referrals
  • Statistics.md exposes the new social/statistical endpoints
  • Tags.md exposes the new categorizing endpoints

Things I have yet to organize are in Unsorted.md

Introduction

Robinhood is a commission-free, online securities brokerage. As you would expect, being an online service means everything is handled through a request that is made to a specific URL.

API Security

The HTTPS protocol is used to access the Robinhood API. Transactions require security because most calls transmit actual account informaion. SSL Pinning is used in the official Android and iOS apps to prevent MITM attacks; you would be wise to do the same at the very least.

Calls to API endpoints make use of two different levels of authentication:

  1. None: No authentication. Anyone can query the method.
  2. Token: Requires an authorization token generated with a call to log in.

Calls which require no authentication are generally informational (quote gathering, securities lookup, etc.).

Authorized calls require an Authorization HTTP Header with the authentication type set as Token (Example: Authorization: Token 40charauthozationtokenherexxxxxxxxxxxxxx).

API Error Reporting

The API reports incorrect data or improper use with HTTP status codes and JSON objects returned as body content. Some that I've run into include:

HTTP Status Key Value What I Did Wrong
400 non_field_errors ["Unable to log in with provided credentials."] Attempted to log in with incorrect username/password
400 password ["This field may not be blank."] Attempted to log in without a password
401 detail ["Invalid token."] Attempted to use cached token after logging out
400 password ["This password is too short. It must contain at least 10 characters.", "This password is too common."] Attempted to change my password to password

...you get the idea. Letting you know exactly what went wrong makes the API almost self-documenting so thanks Robinhood.

Pagination

Some data is returned from the Robinhood API as paginated data with next and previous cursors already in URL form.

If your call returns paginated data, it will look like this call to https://api.robinhood.com/instruments/:

{
    "previous": null,
    "results": [{
        "splits" : "https://api.robinhood.com/instruments/42e07e3a-ca7a-4abc-8c23-de49cb657c62/splits/",
        "margin_initial_ratio" : "1.0000",
        "url" : "https://api.robinhood.com/instruments/42e07e3a-ca7a-4abc-8c23-de49cb657c62/",
        "quote" : "https://api.robinhood.com/quotes/SBPH/",
        "symbol" : "SBPH",
        "bloomberg_unique" : "EQ0000000028928752",
        "list_date" : null,
        "fundamentals" : "https://api.robinhood.com/fundamentals/SBPH/",
        "state" : "active",
        "tradeable" : true,
        "maintenance_ratio" : "1.0000",
        "id" : "42e07e3a-ca7a-4abc-8c23-de49cb657c62",
        "market" : "https://api.robinhood.com/markets/XNAS/",
        "name" : "Spring Bank Pharmaceuticals, Inc. Common Stock"
    },
        ...
    ],
    "next": "https://api.robinhood.com/instruments/?cursor=cD04NjUz"
}

To get the next page of results, just use the next URL.

Semi-Pagination

Some data is returned as a list of results as if they were paginate but the API doesn't supply us with previous or next keys.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].