Skip to content

Binance API python implementation

License

Notifications You must be signed in to change notification settings

XlanderX/python-binance

Repository files navigation

Welcome to python-binance v0.6.9

This is an unofficial Python wrapper for the Binance exchange REST API v1/3. I am in no way affiliated with Binance, use at your own risk.

If you came here looking for the Binance exchange to purchase cryptocurrencies, then go here. If you want to automate interactions with Binance stick around.

Source code
https://github.com/sammchardy/python-binance
Documentation
https://python-binance.readthedocs.io/en/latest/
Binance API Telegram
https://t.me/binance_api_english
Blog with examples
https://sammchardy.github.io

Make sure you update often and check the Changelog for new features and bug fixes.

Features

  • Implementation of all General, Market Data and Account endpoints.
  • Simple handling of authentication
  • No need to generate timestamps yourself, the wrapper does it for you
  • Response exception handling
  • Websocket handling with reconnection and multiplexed connections
  • Symbol Depth Cache
  • Historical Kline/Candle fetching function
  • Withdraw functionality
  • Deposit addresses

Quick Start

Register an account with Binance.

Generate an API Key and assign relevant permissions.

pip install python-binance
frombinance.clientimportClientclient=Client(api_key, api_secret) # get market depthdepth=client.get_order_book(symbol='BNBBTC') # place a test market buy order, to place an actual order use the create_order functionorder=client.create_test_order( symbol='BNBBTC', side=Client.SIDE_BUY, type=Client.ORDER_TYPE_MARKET, quantity=100) # get all symbol pricesprices=client.get_all_tickers() # withdraw 100 ETH# check docs for assumptions around withdrawalsfrombinance.exceptionsimportBinanceAPIException, BinanceWithdrawExceptiontry: result=client.withdraw( asset='ETH', address='<eth_address>', amount=100) exceptBinanceAPIExceptionase: print(e) exceptBinanceWithdrawExceptionase: print(e) else: print("Success") # fetch list of withdrawalswithdraws=client.get_withdraw_history() # fetch list of ETH withdrawalseth_withdraws=client.get_withdraw_history(asset='ETH') # get a deposit address for BTCaddress=client.get_deposit_address(asset='BTC') # start aggregated trade websocket for BNBBTCdefprocess_message(msg): print("message type:{}".format(msg['e'])) print(msg) # do somethingfrombinance.websocketsimportBinanceSocketManagerbm=BinanceSocketManager(client) bm.start_aggtrade_socket('BNBBTC', process_message) bm.start() # get historical kline data from any date range# fetch 1 minute klines for the last day up until nowklines=client.get_historical_klines("BNBBTC", Client.KLINE_INTERVAL_1MINUTE, "1 day ago UTC") # fetch 30 minute klines for the last month of 2017klines=client.get_historical_klines("ETHBTC", Client.KLINE_INTERVAL_30MINUTE, "1 Dec, 2017", "1 Jan, 2018") # fetch weekly klines since it listedklines=client.get_historical_klines("NEOBTC", Client.KLINE_INTERVAL_1WEEK, "1 Jan, 2017")

For more check out the documentation.

Donate

If this library helped you out feel free to donate.

  • ETH: 0xD7a7fDdCfA687073d7cC93E9E51829a727f9fE70
  • LTC: LPC5vw9ajR1YndE1hYVeo3kJ9LdHjcRCUZ
  • NEO: AVJB4ZgN7VgSUtArCt94y7ZYT6d5NDfpBo
  • BTC: 1Dknp6L6oRZrHDECRedihPzx2sSfmvEBys

Other Exchanges

If you use Quoinex or Qryptos check out my python-quoine library.

If you use Kucoin check out my python-kucoin library.

If you use Allcoin check out my python-allucoin library.

If you use IDEX check out my python-idex library.

If you use BigONE check out my python-bigone library.

https://analytics-pixel.appspot.com/UA-111417213-1/github/python-binance?pixel&useReferer

About

Binance API python implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python100.0%