Binance API

client module

class binance.client.AsyncClient(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False, loop=None)[source]

Bases: binance.client.BaseClient

__init__(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False, loop=None)[source]

Binance API Client constructor

Parameters:
  • api_key (str.) – Api Key
  • api_secret (str.) – Api Secret
  • requests_params (dict.) – optional - Dictionary of requests params to use for all calls
  • testnet (bool) – Use testnet environment - only available for vanilla options at the moment
aggregate_trade_iter(symbol, start_str=None, last_id=None)[source]

Iterate over aggregate trade data from (start_time or last_id) to the end of the history so far.

If start_time is specified, start with the first trade after start_time. Meant to initialise a local cache of trade data.

If last_id is specified, start with the trade after it. This is meant for updating a pre-existing local trade data cache.

Only allows start_str or last_id—not both. Not guaranteed to work right if you’re running more than one of these simultaneously. You will probably hit your rate limit.

See dateparser docs for valid start and end string formats http://dateparser.readthedocs.io/en/latest/

If using offset strings for dates add “UTC” to date string e.g. “now UTC”, “11 hours ago UTC”

Parameters:
  • symbol (str) – Symbol string e.g. ETHBTC
  • start_str – Start date string in UTC format or timestamp in milliseconds. The iterator will

return the first trade occurring later than this time. :type start_str: str|int :param last_id: aggregate trade ID of the last known aggregate trade. Not a regular trade ID. See https://binance-docs.github.io/apidocs/spot/en/#compressed-aggregate-trades-list

Returns:an iterator of JSON objects, one per trade. The format of

each object is identical to Client.aggregate_trades().

cancel_margin_oco_order(**params)[source]
cancel_margin_order(**params)[source]
cancel_order(**params)[source]

Cancel an active order. Either orderId or origClientOrderId must be sent.

https://binance-docs.github.io/apidocs/spot/en/#cancel-order-trade

Parameters:
  • symbol (str) – required
  • orderId (int) – The unique order id
  • origClientOrderId (str) – optional
  • newClientOrderId (str) – Used to uniquely identify this cancel. Automatically generated by default.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "symbol": "LTCBTC",
    "origClientOrderId": "myOrder1",
    "orderId": 1,
    "clientOrderId": "cancelMyOrder1"
}
Raises:BinanceRequestException, BinanceAPIException
change_fixed_activity_to_daily_position(**params)[source]
close_connection()[source]
classmethod create(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False, loop=None)[source]
create_isolated_margin_account(**params)[source]
create_margin_loan(**params)[source]
create_margin_oco_order(**params)[source]
create_margin_order(**params)[source]
create_oco_order(**params)[source]

Send in a new OCO order

https://binance-docs.github.io/apidocs/spot/en/#new-oco-trade

Parameters:
  • symbol (str) – required
  • listClientOrderId (str) – A unique id for the list order. Automatically generated if not sent.
  • side (str) – required
  • quantity (decimal) – required
  • limitClientOrderId (str) – A unique id for the limit order. Automatically generated if not sent.
  • price (str) – required
  • limitIcebergQty (decimal) – Used to make the LIMIT_MAKER leg an iceberg order.
  • stopClientOrderId (str) – A unique id for the stop order. Automatically generated if not sent.
  • stopPrice (str) – required
  • stopLimitPrice (str) – If provided, stopLimitTimeInForce is required.
  • stopIcebergQty (decimal) – Used with STOP_LOSS_LIMIT leg to make an iceberg order.
  • stopLimitTimeInForce (str) – Valid values are GTC/FOK/IOC.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

Response ACK:

{
}

Response RESULT:

{
}

Response FULL:

{
}
Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
create_order(**params)[source]

Send in a new order

Any order with an icebergQty MUST have timeInForce set to GTC.

https://binance-docs.github.io/apidocs/spot/en/#new-order-trade

Parameters:
  • symbol (str) – required
  • side (str) – required
  • type (str) – required
  • timeInForce (str) – required if limit order
  • quantity (decimal) – required
  • quoteOrderQty (decimal) – amount the user wants to spend (when buying) or receive (when selling) of the quote asset, applicable to MARKET orders
  • price (str) – required
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • icebergQty (decimal) – Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

Response ACK:

{
    "symbol":"LTCBTC",
    "orderId": 1,
    "clientOrderId": "myOrder1" # Will be newClientOrderId
    "transactTime": 1499827319559
}

Response RESULT:

{
    "symbol": "BTCUSDT",
    "orderId": 28,
    "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
    "transactTime": 1507725176595,
    "price": "0.00000000",
    "origQty": "10.00000000",
    "executedQty": "10.00000000",
    "cummulativeQuoteQty": "10.00000000",
    "status": "FILLED",
    "timeInForce": "GTC",
    "type": "MARKET",
    "side": "SELL"
}

Response FULL:

{
    "symbol": "BTCUSDT",
    "orderId": 28,
    "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
    "transactTime": 1507725176595,
    "price": "0.00000000",
    "origQty": "10.00000000",
    "executedQty": "10.00000000",
    "cummulativeQuoteQty": "10.00000000",
    "status": "FILLED",
    "timeInForce": "GTC",
    "type": "MARKET",
    "side": "SELL",
    "fills": [
        {
            "price": "4000.00000000",
            "qty": "1.00000000",
            "commission": "4.00000000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3999.00000000",
            "qty": "5.00000000",
            "commission": "19.99500000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3998.00000000",
            "qty": "2.00000000",
            "commission": "7.99600000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3997.00000000",
            "qty": "1.00000000",
            "commission": "3.99700000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3995.00000000",
            "qty": "1.00000000",
            "commission": "3.99500000",
            "commissionAsset": "USDT"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
create_sub_account_futures_transfer(**params)[source]
create_test_order(**params)[source]

Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.

https://binance-docs.github.io/apidocs/spot/en/#test-new-order-trade

Parameters:
  • symbol (str) – required
  • side (str) – required
  • type (str) – required
  • timeInForce (str) – required if limit order
  • quantity (decimal) – required
  • price (str) – required
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • icebergQty (decimal) – Used with iceberg orders
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – The number of milliseconds the request is valid for
Returns:

API response

{}
Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
disable_fast_withdraw_switch(**params)[source]
disable_isolated_margin_account(**params)[source]
enable_fast_withdraw_switch(**params)[source]
enable_isolated_margin_account(**params)[source]
enable_subaccount_futures(**params)[source]
enable_subaccount_margin(**params)[source]
futures_account(**params)[source]
futures_account_balance(**params)[source]
futures_account_trades(**params)[source]
futures_account_transfer(**params)[source]
futures_adl_quantile_estimate(**params)[source]
futures_aggregate_trades(**params)[source]
futures_cancel_all_open_orders(**params)[source]
futures_cancel_order(**params)[source]
futures_cancel_orders(**params)[source]
futures_change_leverage(**params)[source]
futures_change_margin_type(**params)[source]
futures_change_multi_assets_mode(multiAssetsMargin: bool)[source]
futures_change_position_margin(**params)[source]
futures_change_position_mode(**params)[source]
futures_coin_account(**params)[source]
futures_coin_account_balance(**params)[source]
futures_coin_account_trades(**params)[source]
futures_coin_aggregate_trades(**params)[source]
futures_coin_cancel_all_open_orders(**params)[source]
futures_coin_cancel_order(**params)[source]
futures_coin_cancel_orders(**params)[source]
futures_coin_change_leverage(**params)[source]
futures_coin_change_margin_type(**params)[source]
futures_coin_change_position_margin(**params)[source]
futures_coin_change_position_mode(**params)[source]
futures_coin_continous_klines(**params)[source]
futures_coin_create_order(**params)[source]
futures_coin_exchange_info()[source]
futures_coin_funding_rate(**params)[source]
futures_coin_get_all_orders(**params)[source]
futures_coin_get_open_orders(**params)[source]
futures_coin_get_order(**params)[source]
futures_coin_get_position_mode(**params)[source]
futures_coin_historical_trades(**params)[source]
futures_coin_income_history(**params)[source]
futures_coin_index_price_klines(**params)[source]
futures_coin_klines(**params)[source]
futures_coin_leverage_bracket(**params)[source]
futures_coin_liquidation_orders(**params)[source]
futures_coin_mark_price(**params)[source]
futures_coin_mark_price_klines(**params)[source]
futures_coin_open_interest(**params)[source]
futures_coin_open_interest_hist(**params)[source]
futures_coin_order_book(**params)[source]
futures_coin_orderbook_ticker(**params)[source]
futures_coin_ping()[source]
futures_coin_place_batch_order(**params)[source]
futures_coin_position_information(**params)[source]
futures_coin_position_margin_history(**params)[source]
futures_coin_recent_trades(**params)[source]
futures_coin_stream_close(listenKey)[source]
futures_coin_stream_get_listen_key()[source]
futures_coin_stream_keepalive(listenKey)[source]
futures_coin_symbol_ticker(**params)[source]
futures_coin_ticker(**params)[source]
futures_coin_time()[source]
futures_continous_klines(**params)[source]
futures_create_order(**params)[source]
futures_exchange_info()[source]
futures_funding_rate(**params)[source]
futures_get_all_orders(**params)[source]
futures_get_multi_assets_mode()[source]
futures_get_open_orders(**params)[source]
futures_get_order(**params)[source]
futures_get_position_mode(**params)[source]
futures_global_longshort_ratio(**params)[source]
futures_historical_klines(symbol, interval, start_str, end_str=None, limit=500)[source]
futures_historical_klines_generator(symbol, interval, start_str, end_str=None)[source]
futures_historical_trades(**params)[source]
futures_income_history(**params)[source]
futures_klines(**params)[source]
futures_leverage_bracket(**params)[source]
futures_liquidation_orders(**params)[source]
futures_mark_price(**params)[source]
futures_open_interest(**params)[source]
futures_open_interest_hist(**params)[source]
futures_order_book(**params)[source]
futures_orderbook_ticker(**params)[source]
futures_ping()[source]
futures_place_batch_order(**params)[source]
futures_position_information(**params)[source]
futures_position_margin_history(**params)[source]
futures_recent_trades(**params)[source]
futures_stream_close(listenKey)[source]
futures_stream_get_listen_key()[source]
futures_stream_keepalive(listenKey)[source]
futures_symbol_ticker(**params)[source]
futures_ticker(**params)[source]
futures_time()[source]
futures_top_longshort_account_ratio(**params)[source]
futures_top_longshort_position_ratio(**params)[source]
get_account(**params)[source]

Get current account information.

https://binance-docs.github.io/apidocs/spot/en/#account-information-user_data

Parameters:recvWindow (int) – the number of milliseconds the request is valid for
Returns:API response
{
    "makerCommission": 15,
    "takerCommission": 15,
    "buyerCommission": 0,
    "sellerCommission": 0,
    "canTrade": true,
    "canWithdraw": true,
    "canDeposit": true,
    "balances": [
        {
            "asset": "BTC",
            "free": "4723846.89208129",
            "locked": "0.00000000"
        },
        {
            "asset": "LTC",
            "free": "4763368.68006011",
            "locked": "0.00000000"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_account_api_permissions(**params)[source]

Fetch api key permissions.

https://binance-docs.github.io/apidocs/spot/en/#get-api-key-permission-user_data

Parameters:recvWindow (int) – the number of milliseconds the request is valid for
Returns:API response
{
   "ipRestrict": false,
   "createTime": 1623840271000,
   "enableWithdrawals": false,   // This option allows you to withdraw via API. You must apply the IP Access Restriction filter in order to enable withdrawals
   "enableInternalTransfer": true,  // This option authorizes this key to transfer funds between your master account and your sub account instantly
   "permitsUniversalTransfer": true,  // Authorizes this key to be used for a dedicated universal transfer API to transfer multiple supported currencies. Each business's own transfer API rights are not affected by this authorization
   "enableVanillaOptions": false,  //  Authorizes this key to Vanilla options trading
   "enableReading": true,
   "enableFutures": false,  //  API Key created before your futures account opened does not support futures API service
   "enableMargin": false,   //  This option can be adjusted after the Cross Margin account transfer is completed
   "enableSpotAndMarginTrading": false, // Spot and margin trading
   "tradingAuthorityExpirationTime": 1628985600000  // Expiration time for spot and margin trading permission
}
get_account_api_trading_status(**params)[source]

Fetch account api trading status detail.

https://binance-docs.github.io/apidocs/spot/en/#account-api-trading-status-sapi-user_data

Parameters:recvWindow (int) – the number of milliseconds the request is valid for
Returns:API response
{
    "data": {          // API trading status detail
        "isLocked": false,   // API trading function is locked or not
        "plannedRecoverTime": 0,  // If API trading function is locked, this is the planned recover time
        "triggerCondition": {
                "GCR": 150,  // Number of GTC orders
                "IFER": 150, // Number of FOK/IOC orders
                "UFR": 300   // Number of orders
        },
        "indicators": {  // The indicators updated every 30 seconds
             "BTCUSDT": [  // The symbol
                {
                    "i": "UFR",  // Unfilled Ratio (UFR)
                    "c": 20,     // Count of all orders
                    "v": 0.05,   // Current UFR value
                    "t": 0.995   // Trigger UFR value
                },
                {
                    "i": "IFER", // IOC/FOK Expiration Ratio (IFER)
                    "c": 20,     // Count of FOK/IOC orders
                    "v": 0.99,   // Current IFER value
                    "t": 0.99    // Trigger IFER value
                },
                {
                    "i": "GCR",  // GTC Cancellation Ratio (GCR)
                    "c": 20,     // Count of GTC orders
                    "v": 0.99,   // Current GCR value
                    "t": 0.99    // Trigger GCR value
                }
            ],
            "ETHUSDT": [
                {
                    "i": "UFR",
                    "c": 20,
                    "v": 0.05,
                    "t": 0.995
                },
                {
                    "i": "IFER",
                    "c": 20,
                    "v": 0.99,
                    "t": 0.99
                },
                {
                    "i": "GCR",
                    "c": 20,
                    "v": 0.99,
                    "t": 0.99
                }
            ]
        },
        "updateTime": 1547630471725
    }
}
get_account_snapshot(**params)[source]
get_account_status(**params)[source]

Get account status detail.

https://binance-docs.github.io/apidocs/spot/en/#account-status-sapi-user_data

Parameters:recvWindow (int) – the number of milliseconds the request is valid for
Returns:API response
{
    "data": "Normal"
}
get_aggregate_trades(**params) → Dict[KT, VT][source]

Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.

https://binance-docs.github.io/apidocs/spot/en/#compressed-aggregate-trades-list

Parameters:
  • symbol (str) – required
  • fromId (str) – ID to get aggregate trades from INCLUSIVE.
  • startTime (int) – Timestamp in ms to get aggregate trades from INCLUSIVE.
  • endTime (int) – Timestamp in ms to get aggregate trades until INCLUSIVE.
  • limit (int) – Default 500; max 1000.
Returns:

API response

[
    {
        "a": 26129,         # Aggregate tradeId
        "p": "0.01633102",  # Price
        "q": "4.70443515",  # Quantity
        "f": 27781,         # First tradeId
        "l": 27781,         # Last tradeId
        "T": 1498793709153, # Timestamp
        "m": true,          # Was the buyer the maker?
        "M": true           # Was the trade the best price match?
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_all_coins_info(**params)[source]
get_all_isolated_margin_symbols(**params)[source]
get_all_margin_orders(**params)[source]
get_all_orders(**params)[source]

Get all account orders; active, canceled, or filled.

https://binance-docs.github.io/apidocs/spot/en/#all-orders-user_data

Parameters:
  • symbol (str) – required
  • orderId (int) – The unique order id
  • startTime (int) – optional
  • endTime (int) – optional
  • limit (int) – Default 500; max 1000.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "symbol": "LTCBTC",
        "orderId": 1,
        "clientOrderId": "myOrder1",
        "price": "0.1",
        "origQty": "1.0",
        "executedQty": "0.0",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "LIMIT",
        "side": "BUY",
        "stopPrice": "0.0",
        "icebergQty": "0.0",
        "time": 1499827319559
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_all_tickers(symbol: Optional[str] = None) → List[Dict[str, str]][source]

Latest price for all symbols.

https://binance-docs.github.io/apidocs/spot/en/#symbol-price-ticker

Returns:List of market tickers
[
    {
        "symbol": "LTCBTC",
        "price": "4.00000200"
    },
    {
        "symbol": "ETHBTC",
        "price": "0.07946600"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_asset_balance(asset, **params)[source]

Get current asset balance.

Parameters:
  • asset (str) – required
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

dictionary or None if not found

{
    "asset": "BTC",
    "free": "4723846.89208129",
    "locked": "0.00000000"
}
Raises:BinanceRequestException, BinanceAPIException
get_asset_details(**params)[source]

Fetch details on assets.

https://binance-docs.github.io/apidocs/spot/en/#asset-detail-sapi-user_data

Parameters:
  • asset (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
        "CTR": {
            "minWithdrawAmount": "70.00000000", //min withdraw amount
            "depositStatus": false,//deposit status (false if ALL of networks' are false)
            "withdrawFee": 35, // withdraw fee
            "withdrawStatus": true, //withdraw status (false if ALL of networks' are false)
            "depositTip": "Delisted, Deposit Suspended" //reason
        },
        "SKY": {
            "minWithdrawAmount": "0.02000000",
            "depositStatus": true,
            "withdrawFee": 0.01,
            "withdrawStatus": true
        }
}
get_asset_dividend_history(**params)[source]

Query asset dividend record.

https://binance-docs.github.io/apidocs/spot/en/#asset-dividend-record-user_data

Parameters:
  • asset (str) – optional
  • startTime (long) – optional
  • endTime (long) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
result = client.get_asset_dividend_history()
Returns:API response
{
    "rows":[
        {
            "amount":"10.00000000",
            "asset":"BHFT",
            "divTime":1563189166000,
            "enInfo":"BHFT distribution",
            "tranId":2968885920
        },
        {
            "amount":"10.00000000",
            "asset":"BHFT",
            "divTime":1563189165000,
            "enInfo":"BHFT distribution",
            "tranId":2968885920
        }
    ],
    "total":2
}
Raises:BinanceRequestException, BinanceAPIException
get_avg_price(**params)[source]

Current average price for a symbol.

https://binance-docs.github.io/apidocs/spot/en/#current-average-price

Parameters:symbol (str) –
Returns:API response
{
    "mins": 5,
    "price": "9.35751834"
}
get_bnb_burn_spot_margin(**params)[source]
get_c2c_trade_history(**params)[source]
get_deposit_address(coin: str, network: Optional[str] = None, **params)[source]

Fetch a deposit address for a symbol

https://binance-docs.github.io/apidocs/spot/en/#deposit-address-supporting-network-user_data

Parameters:
  • coin (str) – required
  • network (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "address": "1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv",
    "coin": "BTC",
    "tag": "",
    "url": "https://btc.com/1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv"
}
Raises:BinanceRequestException, BinanceAPIException
get_deposit_history(**params)[source]

Fetch deposit history.

https://binance-docs.github.io/apidocs/spot/en/#deposit-history-supporting-network-user_data

Parameters:
  • coin (str) – optional
  • startTime (long) – optional
  • endTime (long) – optional
  • offset (long) – optional - default:0
  • limit (long) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "amount":"0.00999800",
        "coin":"PAXG",
        "network":"ETH",
        "status":1,
        "address":"0x788cabe9236ce061e5a892e1a59395a81fc8d62c",
        "addressTag":"",
        "txId":"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3",
        "insertTime":1599621997000,
        "transferType":0,
        "confirmTimes":"12/12"
    },
    {
        "amount":"0.50000000",
        "coin":"IOTA",
        "network":"IOTA",
        "status":1,
        "address":"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW",
        "addressTag":"",
        "txId":"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999",
        "insertTime":1599620082000,
        "transferType":0,
        "confirmTimes":"1/1"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_dust_log(**params)[source]

Get log of small amounts exchanged for BNB.

https://binance-docs.github.io/apidocs/spot/en/#dustlog-sapi-user_data

Parameters:
  • startTime (int) – optional
  • endTime (int) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "total": 8,   //Total counts of exchange
    "userAssetDribblets": [
        {
            "totalTransferedAmount": "0.00132256",   // Total transfered BNB amount for this exchange.
            "totalServiceChargeAmount": "0.00002699",    //Total service charge amount for this exchange.
            "transId": 45178372831,
            "userAssetDribbletDetails": [           //Details of  this exchange.
                {
                    "transId": 4359321,
                    "serviceChargeAmount": "0.000009",
                    "amount": "0.0009",
                    "operateTime": 1615985535000,
                    "transferedAmount": "0.000441",
                    "fromAsset": "USDT"
                },
                {
                    "transId": 4359321,
                    "serviceChargeAmount": "0.00001799",
                    "amount": "0.0009",
                    "operateTime": "2018-05-03 17:07:04",
                    "transferedAmount": "0.00088156",
                    "fromAsset": "ETH"
                }
            ]
        },
        {
            "operateTime":1616203180000,
            "totalTransferedAmount": "0.00058795",
            "totalServiceChargeAmount": "0.000012",
            "transId": 4357015,
            "userAssetDribbletDetails": [
                {
                    "transId": 4357015,
                    "serviceChargeAmount": "0.00001"
                    "amount": "0.001",
                    "operateTime": 1616203180000,
                    "transferedAmount": "0.00049",
                    "fromAsset": "USDT"
                },
                {
                    "transId": 4357015,
                    "serviceChargeAmount": "0.000002"
                    "amount": "0.0001",
                    "operateTime": 1616203180000,
                    "transferedAmount": "0.00009795",
                    "fromAsset": "ETH"
                }
            ]
        }
    ]
}
get_exchange_info() → Dict[KT, VT][source]

Return rate limits and list of symbols

Returns:list - List of product dictionaries
{
    "timezone": "UTC",
    "serverTime": 1508631584636,
    "rateLimits": [
        {
            "rateLimitType": "REQUESTS",
            "interval": "MINUTE",
            "limit": 1200
        },
        {
            "rateLimitType": "ORDERS",
            "interval": "SECOND",
            "limit": 10
        },
        {
            "rateLimitType": "ORDERS",
            "interval": "DAY",
            "limit": 100000
        }
    ],
    "exchangeFilters": [],
    "symbols": [
        {
            "symbol": "ETHBTC",
            "status": "TRADING",
            "baseAsset": "ETH",
            "baseAssetPrecision": 8,
            "quoteAsset": "BTC",
            "quotePrecision": 8,
            "orderTypes": ["LIMIT", "MARKET"],
            "icebergAllowed": false,
            "filters": [
                {
                    "filterType": "PRICE_FILTER",
                    "minPrice": "0.00000100",
                    "maxPrice": "100000.00000000",
                    "tickSize": "0.00000100"
                }, {
                    "filterType": "LOT_SIZE",
                    "minQty": "0.00100000",
                    "maxQty": "100000.00000000",
                    "stepSize": "0.00100000"
                }, {
                    "filterType": "MIN_NOTIONAL",
                    "minNotional": "0.00100000"
                }
            ]
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_fiat_deposit_withdraw_history(**params)[source]
get_fiat_payments_history(**params)[source]
get_fixed_activity_project_list(**params)[source]
get_historical_klines(symbol, interval, start_str, end_str=None, limit=500, klines_type: binance.enums.HistoricalKlinesType = <HistoricalKlinesType.SPOT: 1>)[source]

Get Historical Klines from Binance

Parameters:
  • symbol (str) – Name of symbol pair e.g BNBBTC
  • interval (str) – Binance Kline interval
  • start_str (str|int) – Start date string in UTC format or timestamp in milliseconds
  • end_str (str|int) – optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
  • limit (int) – Default 500; max 1000.
  • klines_type (HistoricalKlinesType) – Historical klines type: SPOT or FUTURES
Returns:

list of OHLCV values

get_historical_klines_generator(symbol, interval, start_str, end_str=None, klines_type: binance.enums.HistoricalKlinesType = <HistoricalKlinesType.SPOT: 1>)[source]

Get Historical Klines generator from Binance

Parameters:
  • symbol (str) – Name of symbol pair e.g BNBBTC
  • interval (str) – Binance Kline interval
  • start_str (str|int) – Start date string in UTC format or timestamp in milliseconds
  • end_str (str|int) – optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
  • klines_type (HistoricalKlinesType) – Historical klines type: SPOT or FUTURES
Returns:

generator of OHLCV values

get_historical_trades(**params) → Dict[KT, VT][source]

Get older trades.

https://binance-docs.github.io/apidocs/spot/en/#old-trade-lookup

Parameters:
  • symbol (str) – required
  • limit (int) – Default 500; max 1000.
  • fromId (str) – TradeId to fetch from. Default gets most recent trades.
Returns:

API response

[
    {
        "id": 28457,
        "price": "4.00000100",
        "qty": "12.00000000",
        "time": 1499865549590,
        "isBuyerMaker": true,
        "isBestMatch": true
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_isolated_margin_account(**params)[source]
get_isolated_margin_symbol(**params)[source]
get_klines(**params) → Dict[KT, VT][source]

Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.

https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-data

Parameters:
  • symbol (str) – required
  • interval (str) –
  • limit (int) –
    • Default 500; max 1000.
  • startTime (int) –
  • endTime (int) –
Returns:

API response

[
    [
        1499040000000,      # Open time
        "0.01634790",       # Open
        "0.80000000",       # High
        "0.01575800",       # Low
        "0.01577100",       # Close
        "148976.11427815",  # Volume
        1499644799999,      # Close time
        "2434.19055334",    # Quote asset volume
        308,                # Number of trades
        "1756.87402397",    # Taker buy base asset volume
        "28.46694368",      # Taker buy quote asset volume
        "17928899.62484339" # Can be ignored
    ]
]
Raises:BinanceRequestException, BinanceAPIException
get_lending_account(**params)[source]
get_lending_daily_quota_left(**params)[source]
get_lending_daily_redemption_quota(**params)[source]
get_lending_interest_history(**params)[source]
get_lending_position(**params)[source]
get_lending_product_list(**params)[source]
get_lending_purchase_history(**params)[source]
get_lending_redemption_history(**params)[source]
get_margin_account(**params)[source]

Query cross-margin account details

https://binance-docs.github.io/apidocs/spot/en/#query-cross-margin-account-details-user_data

Returns:API response
{
    "borrowEnabled": true,
    "marginLevel": "11.64405625",
    "totalAssetOfBtc": "6.82728457",
    "totalLiabilityOfBtc": "0.58633215",
    "totalNetAssetOfBtc": "6.24095242",
    "tradeEnabled": true,
    "transferEnabled": true,
    "userAssets": [
        {
            "asset": "BTC",
            "borrowed": "0.00000000",
            "free": "0.00499500",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00499500"
        },
        {
            "asset": "BNB",
            "borrowed": "201.66666672",
            "free": "2346.50000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "2144.83333328"
        },
        {
            "asset": "ETH",
            "borrowed": "0.00000000",
            "free": "0.00000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00000000"
        },
        {
            "asset": "USDT",
            "borrowed": "0.00000000",
            "free": "0.00000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00000000"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_margin_all_assets(**params)[source]
get_margin_all_pairs(**params)[source]
get_margin_asset(**params)[source]
get_margin_force_liquidation_rec(**params)[source]
get_margin_interest_history(**params)[source]
get_margin_loan_details(**params)[source]
get_margin_oco_order(**params)[source]
get_margin_order(**params)[source]
get_margin_price_index(**params)[source]
get_margin_repay_details(**params)[source]
get_margin_symbol(**params)[source]
get_margin_trades(**params)[source]
get_max_margin_loan(**params)[source]
get_max_margin_transfer(**params)[source]
get_my_trades(**params)[source]

Get trades for a specific symbol.

https://binance-docs.github.io/apidocs/spot/en/#account-trade-list-user_data

Parameters:
  • symbol (str) – required
  • startTime (int) – optional
  • endTime (int) – optional
  • limit (int) – Default 500; max 1000.
  • fromId (int) – TradeId to fetch from. Default gets most recent trades.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "id": 28457,
        "price": "4.00000100",
        "qty": "12.00000000",
        "commission": "10.10000000",
        "commissionAsset": "BNB",
        "time": 1499865549590,
        "isBuyer": true,
        "isMaker": false,
        "isBestMatch": true
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_open_margin_oco_orders(**params)[source]
get_open_margin_orders(**params)[source]
get_open_orders(**params)[source]

Get all open orders on a symbol.

https://binance-docs.github.io/apidocs/spot/en/#current-open-orders-user_data

Parameters:
  • symbol (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "symbol": "LTCBTC",
        "orderId": 1,
        "clientOrderId": "myOrder1",
        "price": "0.1",
        "origQty": "1.0",
        "executedQty": "0.0",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "LIMIT",
        "side": "BUY",
        "stopPrice": "0.0",
        "icebergQty": "0.0",
        "time": 1499827319559
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_order(**params)[source]

Check an order’s status. Either orderId or origClientOrderId must be sent.

https://binance-docs.github.io/apidocs/spot/en/#query-order-user_data

Parameters:
  • symbol (str) – required
  • orderId (int) – The unique order id
  • origClientOrderId (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "symbol": "LTCBTC",
    "orderId": 1,
    "clientOrderId": "myOrder1",
    "price": "0.1",
    "origQty": "1.0",
    "executedQty": "0.0",
    "status": "NEW",
    "timeInForce": "GTC",
    "type": "LIMIT",
    "side": "BUY",
    "stopPrice": "0.0",
    "icebergQty": "0.0",
    "time": 1499827319559
}
Raises:BinanceRequestException, BinanceAPIException
get_order_book(**params) → Dict[KT, VT][source]

Get the Order Book for the market

https://binance-docs.github.io/apidocs/spot/en/#order-book

Parameters:
  • symbol (str) – required
  • limit (int) – Default 100; max 1000
Returns:

API response

{
    "lastUpdateId": 1027024,
    "bids": [
        [
            "4.00000000",     # PRICE
            "431.00000000",   # QTY
            []                # Can be ignored
        ]
    ],
    "asks": [
        [
            "4.00000200",
            "12.00000000",
            []
        ]
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_orderbook_ticker(**params)[source]

Latest price for a symbol or symbols.

https://binance-docs.github.io/apidocs/spot/en/#symbol-order-book-ticker

Parameters:symbol (str) –
Returns:API response
{
    "symbol": "LTCBTC",
    "bidPrice": "4.00000000",
    "bidQty": "431.00000000",
    "askPrice": "4.00000200",
    "askQty": "9.00000000"
}

OR

[
    {
        "symbol": "LTCBTC",
        "bidPrice": "4.00000000",
        "bidQty": "431.00000000",
        "askPrice": "4.00000200",
        "askQty": "9.00000000"
    },
    {
        "symbol": "ETHBTC",
        "bidPrice": "0.07946700",
        "bidQty": "9.00000000",
        "askPrice": "100000.00000000",
        "askQty": "1000.00000000"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_orderbook_tickers() → Dict[KT, VT][source]

Best price/qty on the order book for all symbols.

https://binance-docs.github.io/apidocs/spot/en/#symbol-order-book-ticker

Parameters:symbol (str) – optional
Returns:List of order book market entries
[
    {
        "symbol": "LTCBTC",
        "bidPrice": "4.00000000",
        "bidQty": "431.00000000",
        "askPrice": "4.00000200",
        "askQty": "9.00000000"
    },
    {
        "symbol": "ETHBTC",
        "bidPrice": "0.07946700",
        "bidQty": "9.00000000",
        "askPrice": "100000.00000000",
        "askQty": "1000.00000000"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_products() → Dict[KT, VT][source]

Return list of products currently listed on Binance

Use get_exchange_info() call instead

Returns:list - List of product dictionaries
Raises:BinanceRequestException, BinanceAPIException
get_recent_trades(**params) → Dict[KT, VT][source]

Get recent trades (up to last 500).

https://binance-docs.github.io/apidocs/spot/en/#recent-trades-list

Parameters:
  • symbol (str) – required
  • limit (int) – Default 500; max 1000.
Returns:

API response

[
    {
        "id": 28457,
        "price": "4.00000100",
        "qty": "12.00000000",
        "time": 1499865549590,
        "isBuyerMaker": true,
        "isBestMatch": true
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_server_time() → Dict[KT, VT][source]

Test connectivity to the Rest API and get the current server time.

https://binance-docs.github.io/apidocs/spot/en/#check-server-time

Returns:Current server time
{
    "serverTime": 1499827319559
}
Raises:BinanceRequestException, BinanceAPIException
get_sub_account_assets(**params)[source]
get_sub_account_futures_transfer_history(**params)[source]
get_sub_account_list(**params)[source]
get_sub_account_transfer_history(**params)[source]
get_subaccount_deposit_address(**params)[source]
get_subaccount_deposit_history(**params)[source]
get_subaccount_futures_details(**params)[source]
get_subaccount_futures_margin_status(**params)[source]
get_subaccount_futures_positionrisk(**params)[source]
get_subaccount_futures_summary(**params)[source]
get_subaccount_margin_details(**params)[source]
get_subaccount_margin_summary(**params)[source]
get_subaccount_transfer_history(**params)[source]
get_symbol_info(symbol) → Optional[Dict[KT, VT]][source]

Return information about a symbol

Parameters:symbol (str) – required e.g BNBBTC
Returns:Dict if found, None if not
{
    "symbol": "ETHBTC",
    "status": "TRADING",
    "baseAsset": "ETH",
    "baseAssetPrecision": 8,
    "quoteAsset": "BTC",
    "quotePrecision": 8,
    "orderTypes": ["LIMIT", "MARKET"],
    "icebergAllowed": false,
    "filters": [
        {
            "filterType": "PRICE_FILTER",
            "minPrice": "0.00000100",
            "maxPrice": "100000.00000000",
            "tickSize": "0.00000100"
        }, {
            "filterType": "LOT_SIZE",
            "minQty": "0.00100000",
            "maxQty": "100000.00000000",
            "stepSize": "0.00100000"
        }, {
            "filterType": "MIN_NOTIONAL",
            "minNotional": "0.00100000"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_symbol_ticker(**params)[source]

Latest price for a symbol or symbols.

https://binance-docs.github.io/apidocs/spot/en/#symbol-price-ticker

Parameters:symbol (str) –
Returns:API response
{
    "symbol": "LTCBTC",
    "price": "4.00000200"
}

OR

[
    {
        "symbol": "LTCBTC",
        "price": "4.00000200"
    },
    {
        "symbol": "ETHBTC",
        "price": "0.07946600"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_system_status()[source]

Get system status detail.

https://binance-docs.github.io/apidocs/spot/en/#system-status-sapi-system

Returns:API response
{
    "status": 0,        # 0: normal,1:system maintenance
    "msg": "normal"     # normal or System maintenance.
}
Raises:BinanceAPIException
get_ticker(**params)[source]

24 hour price change statistics.

https://binance-docs.github.io/apidocs/spot/en/#24hr-ticker-price-change-statistics

Parameters:symbol (str) –
Returns:API response
{
    "priceChange": "-94.99999800",
    "priceChangePercent": "-95.960",
    "weightedAvgPrice": "0.29628482",
    "prevClosePrice": "0.10002000",
    "lastPrice": "4.00000200",
    "bidPrice": "4.00000000",
    "askPrice": "4.00000200",
    "openPrice": "99.00000000",
    "highPrice": "100.00000000",
    "lowPrice": "0.10000000",
    "volume": "8913.30000000",
    "openTime": 1499783499040,
    "closeTime": 1499869899040,
    "fristId": 28385,   # First tradeId
    "lastId": 28460,    # Last tradeId
    "count": 76         # Trade count
}

OR

[
    {
        "priceChange": "-94.99999800",
        "priceChangePercent": "-95.960",
        "weightedAvgPrice": "0.29628482",
        "prevClosePrice": "0.10002000",
        "lastPrice": "4.00000200",
        "bidPrice": "4.00000000",
        "askPrice": "4.00000200",
        "openPrice": "99.00000000",
        "highPrice": "100.00000000",
        "lowPrice": "0.10000000",
        "volume": "8913.30000000",
        "openTime": 1499783499040,
        "closeTime": 1499869899040,
        "fristId": 28385,   # First tradeId
        "lastId": 28460,    # Last tradeId
        "count": 76         # Trade count
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_trade_fee(**params)[source]

Get trade fee.

https://binance-docs.github.io/apidocs/spot/en/#trade-fee-sapi-user_data

Parameters:
  • symbol (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "symbol": "ADABNB",
        "makerCommission": "0.001",
        "takerCommission": "0.001"
    },
    {
        "symbol": "BNBBTC",
        "makerCommission": "0.001",
        "takerCommission": "0.001"
    }
]
get_universal_transfer_history(**params)[source]
get_withdraw_history(**params)[source]

Fetch withdraw history.

https://binance-docs.github.io/apidocs/spot/en/#withdraw-history-supporting-network-user_data

Parameters:
  • coin (str) – optional
  • offset (int) – optional - default:0
  • limit (int) – optional
  • startTime (int) – optional - Default: 90 days from current timestamp
  • endTime (int) – optional - Default: present timestamp
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "address": "0x94df8b352de7f46f64b01d3666bf6e936e44ce60",
        "amount": "8.91000000",
        "applyTime": "2019-10-12 11:12:02",
        "coin": "USDT",
        "id": "b6ae22b3aa844210a7041aee7589627c",
        "withdrawOrderId": "WITHDRAWtest123", // will not be returned if there's no withdrawOrderId for this withdraw.
        "network": "ETH",
        "transferType": 0,   // 1 for internal transfer, 0 for external transfer
        "status": 6,
        "txId": "0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268"
    },
    {
        "address": "1FZdVHtiBqMrWdjPyRPULCUceZPJ2WLCsB",
        "amount": "0.00150000",
        "applyTime": "2019-09-24 12:43:45",
        "coin": "BTC",
        "id": "156ec387f49b41df8724fa744fa82719",
        "network": "BTC",
        "status": 6,
        "txId": "60fd9007ebfddc753455f95fafa808c4302c836e4d1eebc5a132c36c1d8ac354"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_withdraw_history_id(withdraw_id, **params)[source]

Fetch withdraw history.

https://binance-docs.github.io/apidocs/spot/en/#withdraw-history-supporting-network-user_data

Parameters:
  • withdraw_id (str) – required
  • asset (str) – optional
  • startTime (long) – optional
  • endTime (long) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "id":"7213fea8e94b4a5593d507237e5a555b",
    "withdrawOrderId": None,
    "amount": 0.99,
    "transactionFee": 0.01,
    "address": "0x6915f16f8791d0a1cc2bf47c13a6b2a92000504b",
    "asset": "ETH",
    "txId": "0xdf33b22bdb2b28b1f75ccd201a4a4m6e7g83jy5fc5d5a9d1340961598cfcb0a1",
    "applyTime": 1508198532000,
    "status": 4
}
Raises:BinanceRequestException, BinanceAPIException
isolated_margin_stream_close(symbol, listenKey)[source]
isolated_margin_stream_get_listen_key(symbol)[source]
isolated_margin_stream_keepalive(symbol, listenKey)[source]
make_subaccount_futures_transfer(**params)[source]
make_subaccount_margin_transfer(**params)[source]
make_subaccount_to_master_transfer(**params)[source]
make_subaccount_to_subaccount_transfer(**params)[source]
make_subaccount_universal_transfer(**params)[source]
make_universal_transfer(**params)[source]

User Universal Transfer

https://binance-docs.github.io/apidocs/spot/en/#user-universal-transfer

Parameters:
  • type (str (ENUM)) – required
  • asset (str) – required
  • amount (str) – required
  • recvWindow (int) – the number of milliseconds the request is valid for
transfer_status = client.make_universal_transfer(params)
Returns:API response
{
    "tranId":13526853623
}
Raises:BinanceRequestException, BinanceAPIException
margin_stream_close(listenKey)[source]
margin_stream_get_listen_key()[source]
margin_stream_keepalive(listenKey)[source]
new_transfer_history(**params)[source]
options_account_info(**params)[source]
options_bill(**params)[source]
options_cancel_all_orders(**params)[source]
options_cancel_batch_order(**params)[source]
options_cancel_order(**params)[source]
options_exchange_info()[source]
options_funds_transfer(**params)[source]
options_historical_trades(**params)[source]
options_index_price(**params)[source]
options_info()[source]
options_klines(**params)[source]
options_mark_price(**params)[source]
options_order_book(**params)[source]
options_ping()[source]
options_place_batch_order(**params)[source]
options_place_order(**params)[source]
options_positions(**params)[source]
options_price(**params)[source]
options_query_order(**params)[source]
options_query_order_history(**params)[source]
options_query_pending_orders(**params)[source]
options_recent_trades(**params)[source]
options_time()[source]
options_user_trades(**params)[source]
order_limit(timeInForce='GTC', **params)[source]

Send in a new limit order

Any order with an icebergQty MUST have timeInForce set to GTC.

Parameters:
  • symbol (str) – required
  • side (str) – required
  • quantity (decimal) – required
  • price (str) – required
  • timeInForce (str) – default Good till cancelled
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • icebergQty (decimal) – Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_limit_buy(timeInForce='GTC', **params)[source]

Send in a new limit buy order

Any order with an icebergQty MUST have timeInForce set to GTC.

Parameters:
  • symbol (str) – required
  • quantity (decimal) – required
  • price (str) – required
  • timeInForce (str) – default Good till cancelled
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • stopPrice (decimal) – Used with stop orders
  • icebergQty (decimal) – Used with iceberg orders
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_limit_sell(timeInForce='GTC', **params)[source]

Send in a new limit sell order

Parameters:
  • symbol (str) – required
  • quantity (decimal) – required
  • price (str) – required
  • timeInForce (str) – default Good till cancelled
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • stopPrice (decimal) – Used with stop orders
  • icebergQty (decimal) – Used with iceberg orders
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_market(**params)[source]

Send in a new market order

Parameters:
  • symbol (str) – required
  • side (str) – required
  • quantity (decimal) – required
  • quoteOrderQty (decimal) – amount the user wants to spend (when buying) or receive (when selling) of the quote asset
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_market_buy(**params)[source]

Send in a new market buy order

Parameters:
  • symbol (str) – required
  • quantity (decimal) – required
  • quoteOrderQty (decimal) – the amount the user wants to spend of the quote asset
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_market_sell(**params)[source]

Send in a new market sell order

Parameters:
  • symbol (str) – required
  • quantity (decimal) – required
  • quoteOrderQty (decimal) – the amount the user wants to receive of the quote asset
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_oco_buy(**params)[source]

Send in a new OCO buy order

Parameters:
  • symbol (str) – required
  • listClientOrderId (str) – A unique id for the list order. Automatically generated if not sent.
  • quantity (decimal) – required
  • limitClientOrderId (str) – A unique id for the limit order. Automatically generated if not sent.
  • price (str) – required
  • limitIcebergQty (decimal) – Used to make the LIMIT_MAKER leg an iceberg order.
  • stopClientOrderId (str) – A unique id for the stop order. Automatically generated if not sent.
  • stopPrice (str) – required
  • stopLimitPrice (str) – If provided, stopLimitTimeInForce is required.
  • stopIcebergQty (decimal) – Used with STOP_LOSS_LIMIT leg to make an iceberg order.
  • stopLimitTimeInForce (str) – Valid values are GTC/FOK/IOC.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See OCO order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_oco_sell(**params)[source]

Send in a new OCO sell order

Parameters:
  • symbol (str) – required
  • listClientOrderId (str) – A unique id for the list order. Automatically generated if not sent.
  • quantity (decimal) – required
  • limitClientOrderId (str) – A unique id for the limit order. Automatically generated if not sent.
  • price (str) – required
  • limitIcebergQty (decimal) – Used to make the LIMIT_MAKER leg an iceberg order.
  • stopClientOrderId (str) – A unique id for the stop order. Automatically generated if not sent.
  • stopPrice (str) – required
  • stopLimitPrice (str) – If provided, stopLimitTimeInForce is required.
  • stopIcebergQty (decimal) – Used with STOP_LOSS_LIMIT leg to make an iceberg order.
  • stopLimitTimeInForce (str) – Valid values are GTC/FOK/IOC.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See OCO order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
ping() → Dict[KT, VT][source]

Test connectivity to the Rest API.

https://binance-docs.github.io/apidocs/spot/en/#test-connectivity

Returns:Empty array
{}
Raises:BinanceRequestException, BinanceAPIException
purchase_lending_product(**params)[source]
query_subaccount_spot_summary(**params)[source]
query_universal_transfer_history(**params)[source]

Query User Universal Transfer History

https://binance-docs.github.io/apidocs/spot/en/#query-user-universal-transfer-history

Parameters:
  • type (str (ENUM)) – required
  • startTime (int) – optional
  • endTime (int) – optional
  • current (int) – optional - Default 1
  • size (int) – required - Default 10, Max 100
  • recvWindow (int) – the number of milliseconds the request is valid for
transfer_status = client.query_universal_transfer_history(params)
Returns:API response
{
    "total":2,
    "rows":[
        {
            "asset":"USDT",
            "amount":"1",
            "type":"MAIN_UMFUTURE"
            "status": "CONFIRMED",
            "tranId": 11415955596,
            "timestamp":1544433328000
        },
        {
            "asset":"USDT",
            "amount":"2",
            "type":"MAIN_UMFUTURE",
            "status": "CONFIRMED",
            "tranId": 11366865406,
            "timestamp":1544433328000
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
redeem_lending_product(**params)[source]
repay_margin_loan(**params)[source]
stream_close(listenKey)[source]

Close out a user data stream.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

Parameters:listenKey (str) – required
Returns:API response
{}
Raises:BinanceRequestException, BinanceAPIException
stream_get_listen_key()[source]

Start a new user data stream and return the listen key If a stream already exists it should return the same key. If the stream becomes invalid a new key is returned.

Can be used to keep the user stream alive.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

Returns:API response
{
    "listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
}
Raises:BinanceRequestException, BinanceAPIException
stream_keepalive(listenKey)[source]

PING a user data stream to prevent a time out.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

Parameters:listenKey (str) – required
Returns:API response
{}
Raises:BinanceRequestException, BinanceAPIException
toggle_bnb_burn_spot_margin(**params)[source]
transfer_dust(**params)[source]

Convert dust assets to BNB.

https://binance-docs.github.io/apidocs/spot/en/#dust-transfer-user_data

Parameters:
  • asset (str) – The asset being converted. e.g: ‘ONE’
  • recvWindow (int) – the number of milliseconds the request is valid for
result = client.transfer_dust(asset='ONE')
Returns:API response
{
    "totalServiceCharge":"0.02102542",
    "totalTransfered":"1.05127099",
    "transferResult":[
        {
            "amount":"0.03000000",
            "fromAsset":"ETH",
            "operateTime":1563368549307,
            "serviceChargeAmount":"0.00500000",
            "tranId":2970932918,
            "transferedAmount":"0.25000000"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
transfer_history(**params)[source]
transfer_isolated_margin_to_spot(**params)[source]
transfer_margin_to_spot(**params)[source]
transfer_spot_to_isolated_margin(**params)[source]
transfer_spot_to_margin(**params)[source]
universal_transfer(**params)[source]
withdraw(**params)[source]

Submit a withdraw request.

https://binance-docs.github.io/apidocs/spot/en/#withdraw-sapi

Assumptions:

  • You must have Withdraw permissions enabled on your API key
  • You must have withdrawn to the address specified through the website and approved the transaction via email
Parameters:
  • coin (str) – required
  • withdrawOrderId (str) – optional - client id for withdraw
  • network (str) – optional
  • address (str) – optional
  • amount (decimal) – required
  • transactionFeeFlag (bool) – required - When making internal transfer, true for returning the fee to the destination account; false for returning the fee back to the departure account. Default false.
  • name (str) – optional - Description of the address, default asset value passed will be used
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "id":"7213fea8e94b4a5593d507237e5a555b"
}
Raises:BinanceRequestException, BinanceAPIException
class binance.client.BaseClient(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False)[source]

Bases: object

AGG_BEST_MATCH = 'M'
AGG_BUYER_MAKES = 'm'
AGG_FIRST_TRADE_ID = 'f'
AGG_ID = 'a'
AGG_LAST_TRADE_ID = 'l'
AGG_PRICE = 'p'
AGG_QUANTITY = 'q'
AGG_TIME = 'T'
API_TESTNET_URL = 'https://testnet.binance.vision/api'
API_URL = 'https://api.binance.{}/api'
COIN_FUTURE_TO_SPOT = 'CMFUTURE_MAIN'
FIAT_TO_MINING = 'C2C_MINING'
FIAT_TO_SPOT = 'C2C_MAIN'
FIAT_TO_USDT_FUTURE = 'C2C_UMFUTURE'
FUTURES_API_VERSION = 'v1'
FUTURES_API_VERSION2 = 'v2'
FUTURES_COIN_DATA_TESTNET_URL = 'https://testnet.binancefuture.com/futures/data'
FUTURES_COIN_DATA_URL = 'https://dapi.binance.{}/futures/data'
FUTURES_COIN_TESTNET_URL = 'https://testnet.binancefuture.com/dapi'
FUTURES_COIN_URL = 'https://dapi.binance.{}/dapi'
FUTURES_DATA_TESTNET_URL = 'https://testnet.binancefuture.com/futures/data'
FUTURES_DATA_URL = 'https://fapi.binance.{}/futures/data'
FUTURES_TESTNET_URL = 'https://testnet.binancefuture.com/fapi'
FUTURES_URL = 'https://fapi.binance.{}/fapi'
FUTURE_ORDER_TYPE_LIMIT = 'LIMIT'
FUTURE_ORDER_TYPE_LIMIT_MAKER = 'LIMIT_MAKER'
FUTURE_ORDER_TYPE_MARKET = 'MARKET'
FUTURE_ORDER_TYPE_STOP = 'STOP'
FUTURE_ORDER_TYPE_STOP_MARKET = 'STOP_MARKET'
FUTURE_ORDER_TYPE_TAKE_PROFIT = 'TAKE_PROFIT'
FUTURE_ORDER_TYPE_TAKE_PROFIT_MARKET = 'TAKE_PROFIT_MARKET'
KLINE_INTERVAL_12HOUR = '12h'
KLINE_INTERVAL_15MINUTE = '15m'
KLINE_INTERVAL_1DAY = '1d'
KLINE_INTERVAL_1HOUR = '1h'
KLINE_INTERVAL_1MINUTE = '1m'
KLINE_INTERVAL_1MONTH = '1M'
KLINE_INTERVAL_1WEEK = '1w'
KLINE_INTERVAL_2HOUR = '2h'
KLINE_INTERVAL_30MINUTE = '30m'
KLINE_INTERVAL_3DAY = '3d'
KLINE_INTERVAL_3MINUTE = '3m'
KLINE_INTERVAL_4HOUR = '4h'
KLINE_INTERVAL_5MINUTE = '5m'
KLINE_INTERVAL_6HOUR = '6h'
KLINE_INTERVAL_8HOUR = '8h'
MARGIN_API_URL = 'https://api.binance.{}/sapi'
MARGIN_API_VERSION = 'v1'
MARGIN_CROSS_TO_SPOT = 'MARGIN_MAIN'
MARGIN_CROSS_TO_USDT_FUTURE = 'MARGIN_UMFUTURE'
MINING_TO_FIAT = 'MINING_C2C'
MINING_TO_SPOT = 'MINING_MAIN'
MINING_TO_USDT_FUTURE = 'MINING_UMFUTURE'
OPTIONS_API_VERSION = 'v1'
OPTIONS_TESTNET_URL = 'https://testnet.binanceops.{}/vapi'
OPTIONS_URL = 'https://vapi.binance.{}/vapi'
ORDER_RESP_TYPE_ACK = 'ACK'
ORDER_RESP_TYPE_FULL = 'FULL'
ORDER_RESP_TYPE_RESULT = 'RESULT'
ORDER_STATUS_CANCELED = 'CANCELED'
ORDER_STATUS_EXPIRED = 'EXPIRED'
ORDER_STATUS_FILLED = 'FILLED'
ORDER_STATUS_NEW = 'NEW'
ORDER_STATUS_PARTIALLY_FILLED = 'PARTIALLY_FILLED'
ORDER_STATUS_PENDING_CANCEL = 'PENDING_CANCEL'
ORDER_STATUS_REJECTED = 'REJECTED'
ORDER_TYPE_LIMIT = 'LIMIT'
ORDER_TYPE_LIMIT_MAKER = 'LIMIT_MAKER'
ORDER_TYPE_MARKET = 'MARKET'
ORDER_TYPE_STOP_LOSS = 'STOP_LOSS'
ORDER_TYPE_STOP_LOSS_LIMIT = 'STOP_LOSS_LIMIT'
ORDER_TYPE_TAKE_PROFIT = 'TAKE_PROFIT'
ORDER_TYPE_TAKE_PROFIT_LIMIT = 'TAKE_PROFIT_LIMIT'
PRIVATE_API_VERSION = 'v3'
PUBLIC_API_VERSION = 'v1'
REQUEST_TIMEOUT = 10
SIDE_BUY = 'BUY'
SIDE_SELL = 'SELL'
SPOT_TO_COIN_FUTURE = 'MAIN_CMFUTURE'
SPOT_TO_FIAT = 'MAIN_C2C'
SPOT_TO_MARGIN_CROSS = 'MAIN_MARGIN'
SPOT_TO_MINING = 'MAIN_MINING'
SPOT_TO_USDT_FUTURE = 'MAIN_UMFUTURE'
SYMBOL_TYPE_SPOT = 'SPOT'
TIME_IN_FORCE_FOK = 'FOK'
TIME_IN_FORCE_GTC = 'GTC'
TIME_IN_FORCE_IOC = 'IOC'
USDT_FUTURE_TO_FIAT = 'UMFUTURE_C2C'
USDT_FUTURE_TO_MARGIN_CROSS = 'UMFUTURE_MARGIN'
USDT_FUTURE_TO_SPOT = 'UMFUTURE_MAIN'
WEBSITE_URL = 'https://www.binance.{}'
__init__(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False)[source]

Binance API Client constructor

Parameters:
  • api_key (str.) – Api Key
  • api_secret (str.) – Api Secret
  • requests_params (dict.) – optional - Dictionary of requests params to use for all calls
  • testnet (bool) – Use testnet environment - only available for vanilla options at the moment
class binance.client.Client(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False)[source]

Bases: binance.client.BaseClient

__init__(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False)[source]

Binance API Client constructor

Parameters:
  • api_key (str.) – Api Key
  • api_secret (str.) – Api Secret
  • requests_params (dict.) – optional - Dictionary of requests params to use for all calls
  • testnet (bool) – Use testnet environment - only available for vanilla options at the moment
aggregate_trade_iter(symbol: str, start_str=None, last_id=None)[source]

Iterate over aggregate trade data from (start_time or last_id) to the end of the history so far.

If start_time is specified, start with the first trade after start_time. Meant to initialise a local cache of trade data.

If last_id is specified, start with the trade after it. This is meant for updating a pre-existing local trade data cache.

Only allows start_str or last_id—not both. Not guaranteed to work right if you’re running more than one of these simultaneously. You will probably hit your rate limit.

See dateparser docs for valid start and end string formats http://dateparser.readthedocs.io/en/latest/

If using offset strings for dates add “UTC” to date string e.g. “now UTC”, “11 hours ago UTC”

Parameters:
  • symbol (str) – Symbol string e.g. ETHBTC
  • start_str – Start date string in UTC format or timestamp in milliseconds. The iterator will

return the first trade occurring later than this time. :type start_str: str|int :param last_id: aggregate trade ID of the last known aggregate trade. Not a regular trade ID. See https://binance-docs.github.io/apidocs/spot/en/#compressed-aggregate-trades-list

Returns:an iterator of JSON objects, one per trade. The format of

each object is identical to Client.aggregate_trades().

cancel_margin_oco_order(**params)[source]

Cancel an entire Order List for a margin account.

https://binance-docs.github.io/apidocs/spot/en/#margin-account-cancel-oco-trade

Parameters:
  • symbol (str) – required
  • isIsolated – for isolated margin or not, “TRUE”, “FALSE”,default “FALSE”
  • orderListId (int) – Either orderListId or listClientOrderId must be provided
  • listClientOrderId (str) – Either orderListId or listClientOrderId must be provided
  • newClientOrderId (str) – Used to uniquely identify this cancel. Automatically generated by default.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "orderListId": 0,
    "contingencyType": "OCO",
    "listStatusType": "ALL_DONE",
    "listOrderStatus": "ALL_DONE",
    "listClientOrderId": "C3wyj4WVEktd7u9aVBRXcN",
    "transactionTime": 1574040868128,
    "symbol": "LTCBTC",
    "isIsolated": false,       // if isolated margin
    "orders": [
        {
            "symbol": "LTCBTC",
            "orderId": 2,
            "clientOrderId": "pO9ufTiFGg3nw2fOdgeOXa"
        },
        {
            "symbol": "LTCBTC",
            "orderId": 3,
            "clientOrderId": "TXOvglzXuaubXAaENpaRCB"
        }
    ],
    "orderReports": [
        {
            "symbol": "LTCBTC",
            "origClientOrderId": "pO9ufTiFGg3nw2fOdgeOXa",
            "orderId": 2,
            "orderListId": 0,
            "clientOrderId": "unfWT8ig8i0uj6lPuYLez6",
            "price": "1.00000000",
            "origQty": "10.00000000",
            "executedQty": "0.00000000",
            "cummulativeQuoteQty": "0.00000000",
            "status": "CANCELED",
            "timeInForce": "GTC",
            "type": "STOP_LOSS_LIMIT",
            "side": "SELL",
            "stopPrice": "1.00000000"
        },
        {
            "symbol": "LTCBTC",
            "origClientOrderId": "TXOvglzXuaubXAaENpaRCB",
            "orderId": 3,
            "orderListId": 0,
            "clientOrderId": "unfWT8ig8i0uj6lPuYLez6",
            "price": "3.00000000",
            "origQty": "10.00000000",
            "executedQty": "0.00000000",
            "cummulativeQuoteQty": "0.00000000",
            "status": "CANCELED",
            "timeInForce": "GTC",
            "type": "LIMIT_MAKER",
            "side": "SELL"
        }
    ]
}
cancel_margin_order(**params)[source]

Cancel an active order for margin account.

Either orderId or origClientOrderId must be sent.

https://binance-docs.github.io/apidocs/spot/en/#margin-account-cancel-order-trade

Parameters:
  • symbol (str) – required
  • isIsolated (str) – set to ‘TRUE’ for isolated margin (default ‘FALSE’)
  • orderId (str) –
  • origClientOrderId (str) –
  • newClientOrderId (str) – Used to uniquely identify this cancel. Automatically generated by default.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{

“symbol”: “LTCBTC”, “orderId”: 28, “origClientOrderId”: “myOrder1”, “clientOrderId”: “cancelMyOrder1”, “transactTime”: 1507725176595, “price”: “1.00000000”, “origQty”: “10.00000000”, “executedQty”: “8.00000000”, “cummulativeQuoteQty”: “8.00000000”, “status”: “CANCELED”, “timeInForce”: “GTC”, “type”: “LIMIT”, “side”: “SELL”

}

Raises:

BinanceRequestException, BinanceAPIException

cancel_order(**params)[source]

Cancel an active order. Either orderId or origClientOrderId must be sent.

https://binance-docs.github.io/apidocs/spot/en/#cancel-order-trade

Parameters:
  • symbol (str) – required
  • orderId (int) – The unique order id
  • origClientOrderId (str) – optional
  • newClientOrderId (str) – Used to uniquely identify this cancel. Automatically generated by default.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "symbol": "LTCBTC",
    "origClientOrderId": "myOrder1",
    "orderId": 1,
    "clientOrderId": "cancelMyOrder1"
}
Raises:BinanceRequestException, BinanceAPIException
change_fixed_activity_to_daily_position(**params)[source]

Change Fixed/Activity Position to Daily Position

https://binance-docs.github.io/apidocs/spot/en/#change-fixed-activity-position-to-daily-position-user_data

close_connection()[source]
create_isolated_margin_account(**params)[source]

Create isolated margin account for symbol

https://binance-docs.github.io/apidocs/spot/en/#create-isolated-margin-account-margin

Parameters:
  • base (str) – Base asset of symbol
  • quote (str) – Quote asset of symbol
pair_details = client.create_isolated_margin_account(base='USDT', quote='BTC')
Returns:API response
{
    "success": true,
    "symbol": "BTCUSDT"
}
Raises:BinanceRequestException, BinanceAPIException
create_margin_loan(**params)[source]

Apply for a loan in cross-margin or isolated-margin account.

https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-margin

Parameters:
  • asset (str) – name of the asset
  • amount (str) – amount to transfer
  • isIsolated (str) – set to ‘TRUE’ for isolated margin (default ‘FALSE’)
  • symbol (str) – Isolated margin symbol (default blank for cross-margin)
  • recvWindow (int) – the number of milliseconds the request is valid for
transaction = client.margin_create_loan(asset='BTC', amount='1.1')

transaction = client.margin_create_loan(asset='BTC', amount='1.1',
                                        isIsolated='TRUE', symbol='ETHBTC')
Returns:API response
{
    "tranId": 100000001
}
Raises:BinanceRequestException, BinanceAPIException
create_margin_oco_order(**params)[source]

Post a new OCO trade for margin account.

https://binance-docs.github.io/apidocs/spot/en/#margin-account-new-oco-trade

Parameters:
  • symbol (str) – required
  • isIsolated – for isolated margin or not, “TRUE”, “FALSE”,default “FALSE”
  • listClientOrderId (str) – A unique id for the list order. Automatically generated if not sent.
  • side (str) – required
  • quantity (decimal) – required
  • limitClientOrderId (str) – A unique id for the limit order. Automatically generated if not sent.
  • price (str) – required
  • limitIcebergQty (decimal) – Used to make the LIMIT_MAKER leg an iceberg order.
  • stopClientOrderId (str) – A unique Id for the stop loss/stop loss limit leg. Automatically generated if not sent.
  • stopPrice (str) – required
  • stopLimitPrice (str) – If provided, stopLimitTimeInForce is required.
  • stopIcebergQty (decimal) – Used with STOP_LOSS_LIMIT leg to make an iceberg order.
  • stopLimitTimeInForce (str) – Valid values are GTC/FOK/IOC.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • sideEffectType (str) – NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "orderListId": 0,
    "contingencyType": "OCO",
    "listStatusType": "EXEC_STARTED",
    "listOrderStatus": "EXECUTING",
    "listClientOrderId": "JYVpp3F0f5CAG15DhtrqLp",
    "transactionTime": 1563417480525,
    "symbol": "LTCBTC",
    "marginBuyBorrowAmount": "5",       // will not return if no margin trade happens
    "marginBuyBorrowAsset": "BTC",    // will not return if no margin trade happens
    "isIsolated": false,       // if isolated margin
    "orders": [
        {
            "symbol": "LTCBTC",
            "orderId": 2,
            "clientOrderId": "Kk7sqHb9J6mJWTMDVW7Vos"
        },
        {
            "symbol": "LTCBTC",
            "orderId": 3,
            "clientOrderId": "xTXKaGYd4bluPVp78IVRvl"
        }
    ],
    "orderReports": [
        {
            "symbol": "LTCBTC",
            "orderId": 2,
            "orderListId": 0,
            "clientOrderId": "Kk7sqHb9J6mJWTMDVW7Vos",
            "transactTime": 1563417480525,
            "price": "0.000000",
            "origQty": "0.624363",
            "executedQty": "0.000000",
            "cummulativeQuoteQty": "0.000000",
            "status": "NEW",
            "timeInForce": "GTC",
            "type": "STOP_LOSS",
            "side": "BUY",
            "stopPrice": "0.960664"
        },
        {
            "symbol": "LTCBTC",
            "orderId": 3,
            "orderListId": 0,
            "clientOrderId": "xTXKaGYd4bluPVp78IVRvl",
            "transactTime": 1563417480525,
            "price": "0.036435",
            "origQty": "0.624363",
            "executedQty": "0.000000",
            "cummulativeQuoteQty": "0.000000",
            "status": "NEW",
            "timeInForce": "GTC",
            "type": "LIMIT_MAKER",
            "side": "BUY"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
create_margin_order(**params)[source]

Post a new order for margin account.

https://binance-docs.github.io/apidocs/spot/en/#margin-account-new-order-trade

Parameters:
  • symbol (str) – required
  • isIsolated (str) – set to ‘TRUE’ for isolated margin (default ‘FALSE’)
  • side (str) – required
  • type (str) – required
  • quantity (decimal) – required
  • price (str) – required
  • stopPrice (str) – Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders.
  • timeInForce (str) – required if limit order GTC,IOC,FOK
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • icebergQty (str) – Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; MARKET and LIMIT order types default to FULL, all other orders default to ACK.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

Response ACK:

{
    "symbol": "BTCUSDT",
    "orderId": 28,
    "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
    "transactTime": 1507725176595
}

Response RESULT:

{
    "symbol": "BTCUSDT",
    "orderId": 28,
    "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
    "transactTime": 1507725176595,
    "price": "1.00000000",
    "origQty": "10.00000000",
    "executedQty": "10.00000000",
    "cummulativeQuoteQty": "10.00000000",
    "status": "FILLED",
    "timeInForce": "GTC",
    "type": "MARKET",
    "side": "SELL"
}

Response FULL:

{
    "symbol": "BTCUSDT",
    "orderId": 28,
    "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
    "transactTime": 1507725176595,
    "price": "1.00000000",
    "origQty": "10.00000000",
    "executedQty": "10.00000000",
    "cummulativeQuoteQty": "10.00000000",
    "status": "FILLED",
    "timeInForce": "GTC",
    "type": "MARKET",
    "side": "SELL",
    "fills": [
        {
            "price": "4000.00000000",
            "qty": "1.00000000",
            "commission": "4.00000000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3999.00000000",
            "qty": "5.00000000",
            "commission": "19.99500000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3998.00000000",
            "qty": "2.00000000",
            "commission": "7.99600000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3997.00000000",
            "qty": "1.00000000",
            "commission": "3.99700000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3995.00000000",
            "qty": "1.00000000",
            "commission": "3.99500000",
            "commissionAsset": "USDT"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
create_oco_order(**params)[source]

Send in a new OCO order

https://binance-docs.github.io/apidocs/spot/en/#new-oco-trade

Parameters:
  • symbol (str) – required
  • listClientOrderId (str) – A unique id for the list order. Automatically generated if not sent.
  • side (str) – required
  • quantity (decimal) – required
  • limitClientOrderId (str) – A unique id for the limit order. Automatically generated if not sent.
  • price (str) – required
  • limitIcebergQty (decimal) – Used to make the LIMIT_MAKER leg an iceberg order.
  • stopClientOrderId (str) – A unique id for the stop order. Automatically generated if not sent.
  • stopPrice (str) – required
  • stopLimitPrice (str) – If provided, stopLimitTimeInForce is required.
  • stopIcebergQty (decimal) – Used with STOP_LOSS_LIMIT leg to make an iceberg order.
  • stopLimitTimeInForce (str) – Valid values are GTC/FOK/IOC.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

Response ACK:

{
}

Response RESULT:

{
}

Response FULL:

{
}
Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
create_order(**params)[source]

Send in a new order

Any order with an icebergQty MUST have timeInForce set to GTC.

https://binance-docs.github.io/apidocs/spot/en/#new-order-trade

Parameters:
  • symbol (str) – required
  • side (str) – required
  • type (str) – required
  • timeInForce (str) – required if limit order
  • quantity (decimal) – required
  • quoteOrderQty (decimal) – amount the user wants to spend (when buying) or receive (when selling) of the quote asset, applicable to MARKET orders
  • price (str) – required
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • icebergQty (decimal) – Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

Response ACK:

{
    "symbol":"LTCBTC",
    "orderId": 1,
    "clientOrderId": "myOrder1" # Will be newClientOrderId
    "transactTime": 1499827319559
}

Response RESULT:

{
    "symbol": "BTCUSDT",
    "orderId": 28,
    "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
    "transactTime": 1507725176595,
    "price": "0.00000000",
    "origQty": "10.00000000",
    "executedQty": "10.00000000",
    "cummulativeQuoteQty": "10.00000000",
    "status": "FILLED",
    "timeInForce": "GTC",
    "type": "MARKET",
    "side": "SELL"
}

Response FULL:

{
    "symbol": "BTCUSDT",
    "orderId": 28,
    "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
    "transactTime": 1507725176595,
    "price": "0.00000000",
    "origQty": "10.00000000",
    "executedQty": "10.00000000",
    "cummulativeQuoteQty": "10.00000000",
    "status": "FILLED",
    "timeInForce": "GTC",
    "type": "MARKET",
    "side": "SELL",
    "fills": [
        {
            "price": "4000.00000000",
            "qty": "1.00000000",
            "commission": "4.00000000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3999.00000000",
            "qty": "5.00000000",
            "commission": "19.99500000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3998.00000000",
            "qty": "2.00000000",
            "commission": "7.99600000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3997.00000000",
            "qty": "1.00000000",
            "commission": "3.99700000",
            "commissionAsset": "USDT"
        },
        {
            "price": "3995.00000000",
            "qty": "1.00000000",
            "commission": "3.99500000",
            "commissionAsset": "USDT"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
create_sub_account_futures_transfer(**params)[source]

Execute sub-account Futures transfer

https://github.com/binance-exchange/binance-official-api-docs/blob/9dbe0e961b80557bb19708a707c7fad08842b28e/wapi-api.md#sub-account-transferfor-master-account

Parameters:
  • fromEmail (str) – required - Sender email
  • toEmail (str) – required - Recipient email
  • futuresType (int) – required
  • asset (str) – required
  • amount (decimal) – required
  • recvWindow (int) – optional
Returns:

API response

{
     "success":true,
     "txnId":"2934662589"
 }
Raises:BinanceRequestException, BinanceAPIException
create_test_order(**params)[source]

Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.

https://binance-docs.github.io/apidocs/spot/en/#test-new-order-trade

Parameters:
  • symbol (str) – required
  • side (str) – required
  • type (str) – required
  • timeInForce (str) – required if limit order
  • quantity (decimal) – required
  • price (str) – required
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • icebergQty (decimal) – Used with iceberg orders
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – The number of milliseconds the request is valid for
Returns:

API response

{}
Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
disable_fast_withdraw_switch(**params)[source]

Disable Fast Withdraw Switch

https://binance-docs.github.io/apidocs/spot/en/#disable-fast-withdraw-switch-user_data

Parameters:recvWindow (int) – optional
Returns:API response
Raises:BinanceRequestException, BinanceAPIException
disable_isolated_margin_account(**params)[source]

Disable isolated margin account for a specific symbol. Each trading pair can only be deactivated once every 24 hours.

https://binance-docs.github.io/apidocs/spot/en/#disable-isolated-margin-account-trade

Parameters:symbol
Returns:API response
{
  "success": true,
  "symbol": "BTCUSDT"
}
enable_fast_withdraw_switch(**params)[source]

Enable Fast Withdraw Switch

https://binance-docs.github.io/apidocs/spot/en/#enable-fast-withdraw-switch-user_data

Parameters:recvWindow (int) – optional
Returns:API response
Raises:BinanceRequestException, BinanceAPIException
enable_isolated_margin_account(**params)[source]

Enable isolated margin account for a specific symbol.

https://binance-docs.github.io/apidocs/spot/en/#enable-isolated-margin-account-trade

Parameters:symbol
Returns:API response
{
  "success": true,
  "symbol": "BTCUSDT"
}
enable_subaccount_futures(**params)[source]

Enable Futures for Sub-account (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#enable-futures-for-sub-account-for-master-account

Parameters:
  • email (str) – required - Sub account email
  • recvWindow (int) – optional
Returns:

API response

{

    "email":"123@test.com",

    "isFuturesEnabled": true  // true or false

}
Raises:BinanceRequestException, BinanceAPIException
enable_subaccount_margin(**params)[source]

Enable Margin for Sub-account (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#enable-margin-for-sub-account-for-master-account

Parameters:
  • email (str) – required - Sub account email
  • recvWindow (int) – optional
Returns:

API response

{

     "email":"123@test.com",

     "isMarginEnabled": true

 }
Raises:BinanceRequestException, BinanceAPIException
futures_account(**params)[source]

Get current account information.

https://binance-docs.github.io/apidocs/futures/en/#account-information-user_data

futures_account_balance(**params)[source]

Get futures account balance

https://binance-docs.github.io/apidocs/futures/en/#future-account-balance-user_data

futures_account_trades(**params)[source]

Get trades for the authenticated account and symbol.

https://binance-docs.github.io/apidocs/futures/en/#account-trade-list-user_data

futures_account_transfer(**params)[source]

Execute transfer between spot account and futures account.

https://binance-docs.github.io/apidocs/futures/en/#new-future-account-transfer

futures_adl_quantile_estimate(**params)[source]

Get Position ADL Quantile Estimate

https://binance-docs.github.io/apidocs/futures/en/#position-adl-quantile-estimation-user_data

futures_aggregate_trades(**params)[source]

Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.

https://binance-docs.github.io/apidocs/futures/en/#compressed-aggregate-trades-list-market_data

futures_cancel_all_open_orders(**params)[source]

Cancel all open futures orders

https://binance-docs.github.io/apidocs/futures/en/#cancel-all-open-orders-trade

futures_cancel_order(**params)[source]

Cancel an active futures order.

https://binance-docs.github.io/apidocs/futures/en/#cancel-order-trade

futures_cancel_orders(**params)[source]

Cancel multiple futures orders

https://binance-docs.github.io/apidocs/futures/en/#cancel-multiple-orders-trade

futures_change_leverage(**params)[source]

Change user’s initial leverage of specific symbol market

https://binance-docs.github.io/apidocs/futures/en/#change-initial-leverage-trade

futures_change_margin_type(**params)[source]

Change the margin type for a symbol

https://binance-docs.github.io/apidocs/futures/en/#change-margin-type-trade

futures_change_multi_assets_mode(multiAssetsMargin: bool)[source]

Change user’s Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol

https://binance-docs.github.io/apidocs/futures/en/#change-multi-assets-mode-trade

futures_change_position_margin(**params)[source]

Change the position margin for a symbol

https://binance-docs.github.io/apidocs/futures/en/#modify-isolated-position-margin-trade

futures_change_position_mode(**params)[source]

Change position mode for authenticated account

https://binance-docs.github.io/apidocs/futures/en/#change-position-mode-trade

futures_coin_account(**params)[source]

Get current account information.

https://binance-docs.github.io/apidocs/delivery/en/#account-information-user_data

futures_coin_account_balance(**params)[source]

Get futures account balance

https://binance-docs.github.io/apidocs/delivery/en/#futures-account-balance-user_data

futures_coin_account_trades(**params)[source]

Get trades for the authenticated account and symbol.

https://binance-docs.github.io/apidocs/delivery/en/#account-trade-list-user_data

futures_coin_aggregate_trades(**params)[source]

Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.

https://binance-docs.github.io/apidocs/delivery/en/#compressed-aggregate-trades-list

futures_coin_cancel_all_open_orders(**params)[source]

Cancel all open futures orders

https://binance-docs.github.io/apidocs/delivery/en/#cancel-all-open-orders-trade

futures_coin_cancel_order(**params)[source]

Cancel an active futures order.

https://binance-docs.github.io/apidocs/delivery/en/#cancel-order-trade

futures_coin_cancel_orders(**params)[source]

Cancel multiple futures orders

https://binance-docs.github.io/apidocs/delivery/en/#cancel-multiple-orders-trade

futures_coin_change_leverage(**params)[source]

Change user’s initial leverage of specific symbol market

https://binance-docs.github.io/apidocs/delivery/en/#change-initial-leverage-trade

futures_coin_change_margin_type(**params)[source]

Change the margin type for a symbol

https://binance-docs.github.io/apidocs/delivery/en/#change-margin-type-trade

futures_coin_change_position_margin(**params)[source]

Change the position margin for a symbol

https://binance-docs.github.io/apidocs/delivery/en/#modify-isolated-position-margin-trade

futures_coin_change_position_mode(**params)[source]

Change user’s position mode (Hedge Mode or One-way Mode ) on EVERY symbol

https://binance-docs.github.io/apidocs/delivery/en/#change-position-mode-trade

futures_coin_continous_klines(**params)[source]

Kline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.

https://binance-docs.github.io/apidocs/delivery/en/#continuous-contract-kline-candlestick-data

futures_coin_create_order(**params)[source]

Send in a new order.

https://binance-docs.github.io/apidocs/delivery/en/#new-order-trade

futures_coin_exchange_info()[source]

Current exchange trading rules and symbol information

https://binance-docs.github.io/apidocs/delivery/en/#exchange-information

futures_coin_funding_rate(**params)[source]

Get funding rate history

https://binance-docs.github.io/apidocs/delivery/en/#get-funding-rate-history-of-perpetual-futures

futures_coin_get_all_orders(**params)[source]

Get all futures account orders; active, canceled, or filled.

https://binance-docs.github.io/apidocs/delivery/en/#all-orders-user_data

futures_coin_get_open_orders(**params)[source]

Get all open orders on a symbol.

https://binance-docs.github.io/apidocs/delivery/en/#current-all-open-orders-user_data

futures_coin_get_order(**params)[source]

Check an order’s status.

https://binance-docs.github.io/apidocs/delivery/en/#query-order-user_data

futures_coin_get_position_mode(**params)[source]

Get user’s position mode (Hedge Mode or One-way Mode ) on EVERY symbol

https://binance-docs.github.io/apidocs/delivery/en/#get-current-position-mode-user_data

futures_coin_historical_trades(**params)[source]

Get older market historical trades.

https://binance-docs.github.io/apidocs/delivery/en/#old-trades-lookup-market_data

futures_coin_income_history(**params)[source]

Get income history for authenticated account

https://binance-docs.github.io/apidocs/delivery/en/#get-income-history-user_data

futures_coin_index_price_klines(**params)[source]

Kline/candlestick bars for the index price of a pair..

https://binance-docs.github.io/apidocs/delivery/en/#index-price-kline-candlestick-data

futures_coin_klines(**params)[source]

Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.

https://binance-docs.github.io/apidocs/delivery/en/#kline-candlestick-data

futures_coin_leverage_bracket(**params)[source]

Notional and Leverage Brackets

https://binance-docs.github.io/apidocs/delivery/en/#notional-bracket-for-pair-user_data

futures_coin_liquidation_orders(**params)[source]

Get all liquidation orders

https://binance-docs.github.io/apidocs/delivery/en/#user-39-s-force-orders-user_data

futures_coin_mark_price(**params)[source]

Get Mark Price and Funding Rate

https://binance-docs.github.io/apidocs/delivery/en/#index-price-and-mark-price

futures_coin_mark_price_klines(**params)[source]

Kline/candlestick bars for the index price of a pair..

https://binance-docs.github.io/apidocs/delivery/en/#mark-price-kline-candlestick-data

futures_coin_open_interest(**params)[source]

Get present open interest of a specific symbol.

https://binance-docs.github.io/apidocs/delivery/en/#open-interest

futures_coin_open_interest_hist(**params)[source]

Get open interest statistics of a specific symbol.

https://binance-docs.github.io/apidocs/delivery/en/#open-interest-statistics-market-data

futures_coin_order_book(**params)[source]

Get the Order Book for the market

https://binance-docs.github.io/apidocs/delivery/en/#order-book

futures_coin_orderbook_ticker(**params)[source]

Best price/qty on the order book for a symbol or symbols.

https://binance-docs.github.io/apidocs/delivery/en/#symbol-order-book-ticker

futures_coin_ping()[source]

Test connectivity to the Rest API

https://binance-docs.github.io/apidocs/delivery/en/#test-connectivity

futures_coin_place_batch_order(**params)[source]

Send in new orders.

https://binance-docs.github.io/apidocs/delivery/en/#place-multiple-orders-trade

To avoid modifying the existing signature generation and parameter order logic, the url encoding is done on the special query param, batchOrders, in the early stage.

futures_coin_position_information(**params)[source]

Get position information

https://binance-docs.github.io/apidocs/delivery/en/#position-information-user_data

futures_coin_position_margin_history(**params)[source]

Get position margin change history

https://binance-docs.github.io/apidocs/delivery/en/#get-position-margin-change-history-trade

futures_coin_recent_trades(**params)[source]

Get recent trades (up to last 500).

https://binance-docs.github.io/apidocs/delivery/en/#recent-trades-list

futures_coin_stream_close(listenKey)[source]
futures_coin_stream_get_listen_key()[source]
futures_coin_stream_keepalive(listenKey)[source]
futures_coin_symbol_ticker(**params)[source]

Latest price for a symbol or symbols.

https://binance-docs.github.io/apidocs/delivery/en/#symbol-price-ticker

futures_coin_ticker(**params)[source]

24 hour rolling window price change statistics.

https://binance-docs.github.io/apidocs/delivery/en/#24hr-ticker-price-change-statistics

futures_coin_time()[source]

Test connectivity to the Rest API and get the current server time.

https://binance-docs.github.io/apidocs/delivery/en/#check-server-time

futures_continous_klines(**params)[source]

Kline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.

https://binance-docs.github.io/apidocs/futures/en/#continuous-contract-kline-candlestick-data

futures_create_order(**params)[source]

Send in a new order.

https://binance-docs.github.io/apidocs/futures/en/#new-order-trade

futures_exchange_info()[source]

Current exchange trading rules and symbol information

https://binance-docs.github.io/apidocs/futures/en/#exchange-information-market_data

futures_funding_rate(**params)[source]

Get funding rate history

https://binance-docs.github.io/apidocs/futures/en/#get-funding-rate-history-market_data

futures_get_all_orders(**params)[source]

Get all futures account orders; active, canceled, or filled.

https://binance-docs.github.io/apidocs/futures/en/#all-orders-user_data

futures_get_multi_assets_mode()[source]

Get user’s Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol

https://binance-docs.github.io/apidocs/futures/en/#get-current-multi-assets-mode-user_data

futures_get_open_orders(**params)[source]

Get all open orders on a symbol.

https://binance-docs.github.io/apidocs/futures/en/#current-open-orders-user_data

futures_get_order(**params)[source]

Check an order’s status.

https://binance-docs.github.io/apidocs/futures/en/#query-order-user_data

futures_get_position_mode(**params)[source]

Get position mode for authenticated account

https://binance-docs.github.io/apidocs/futures/en/#get-current-position-mode-user_data

futures_global_longshort_ratio(**params)[source]

Get present global long to short ratio of a specific symbol.

https://binance-docs.github.io/apidocs/futures/en/#long-short-ratio

futures_historical_klines(symbol, interval, start_str, end_str=None, limit=500)[source]

Get historical futures klines from Binance

Parameters:
  • symbol (str) – Name of symbol pair e.g BNBBTC
  • interval (str) – Binance Kline interval
  • start_str (str|int) – Start date string in UTC format or timestamp in milliseconds
  • end_str (str|int) – optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
  • limit (int) – Default 500; max 1000.
Returns:

list of OHLCV values

futures_historical_klines_generator(symbol, interval, start_str, end_str=None)[source]

Get historical futures klines generator from Binance

Parameters:
  • symbol (str) – Name of symbol pair e.g BNBBTC
  • interval (str) – Binance Kline interval
  • start_str (str|int) – Start date string in UTC format or timestamp in milliseconds
  • end_str (str|int) – optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
Returns:

generator of OHLCV values

futures_historical_trades(**params)[source]

Get older market historical trades.

https://binance-docs.github.io/apidocs/futures/en/#old-trades-lookup-market_data

futures_income_history(**params)[source]

Get income history for authenticated account

https://binance-docs.github.io/apidocs/futures/en/#get-income-history-user_data

futures_klines(**params)[source]

Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.

https://binance-docs.github.io/apidocs/futures/en/#kline-candlestick-data-market_data

futures_leverage_bracket(**params)[source]

Notional and Leverage Brackets

https://binance-docs.github.io/apidocs/futures/en/#notional-and-leverage-brackets-market_data

futures_liquidation_orders(**params)[source]

Get all liquidation orders

https://binance-docs.github.io/apidocs/futures/en/#get-all-liquidation-orders-market_data

futures_mark_price(**params)[source]

Get Mark Price and Funding Rate

https://binance-docs.github.io/apidocs/futures/en/#mark-price-market_data

futures_open_interest(**params)[source]

Get present open interest of a specific symbol.

https://binance-docs.github.io/apidocs/futures/en/#open-interest

futures_open_interest_hist(**params)[source]

Get open interest statistics of a specific symbol.

https://binance-docs.github.io/apidocs/futures/en/#open-interest-statistics

futures_order_book(**params)[source]

Get the Order Book for the market

https://binance-docs.github.io/apidocs/futures/en/#order-book-market_data

futures_orderbook_ticker(**params)[source]

Best price/qty on the order book for a symbol or symbols.

https://binance-docs.github.io/apidocs/futures/en/#symbol-order-book-ticker-market_data

futures_ping()[source]

Test connectivity to the Rest API

https://binance-docs.github.io/apidocs/futures/en/#test-connectivity

futures_place_batch_order(**params)[source]

Send in new orders.

https://binance-docs.github.io/apidocs/futures/en/#place-multiple-orders-trade

To avoid modifying the existing signature generation and parameter order logic, the url encoding is done on the special query param, batchOrders, in the early stage.

futures_position_information(**params)[source]

Get position information

https://binance-docs.github.io/apidocs/futures/en/#position-information-user_data

futures_position_margin_history(**params)[source]

Get position margin change history

https://binance-docs.github.io/apidocs/futures/en/#get-postion-margin-change-history-trade

futures_recent_trades(**params)[source]

Get recent trades (up to last 500).

https://binance-docs.github.io/apidocs/futures/en/#recent-trades-list-market_data

futures_stream_close(listenKey)[source]
futures_stream_get_listen_key()[source]
futures_stream_keepalive(listenKey)[source]
futures_symbol_ticker(**params)[source]

Latest price for a symbol or symbols.

https://binance-docs.github.io/apidocs/futures/en/#symbol-price-ticker-market_data

futures_ticker(**params)[source]

24 hour rolling window price change statistics.

https://binance-docs.github.io/apidocs/futures/en/#24hr-ticker-price-change-statistics-market_data

futures_time()[source]

Test connectivity to the Rest API and get the current server time.

https://binance-docs.github.io/apidocs/futures/en/#check-server-time

futures_top_longshort_account_ratio(**params)[source]

Get present long to short ratio for top accounts of a specific symbol.

https://binance-docs.github.io/apidocs/futures/en/#top-trader-long-short-ratio-accounts-market_data

futures_top_longshort_position_ratio(**params)[source]

Get present long to short ratio for top positions of a specific symbol.

https://binance-docs.github.io/apidocs/futures/en/#top-trader-long-short-ratio-positions

get_account(**params)[source]

Get current account information.

https://binance-docs.github.io/apidocs/spot/en/#account-information-user_data

Parameters:recvWindow (int) – the number of milliseconds the request is valid for
Returns:API response
{
    "makerCommission": 15,
    "takerCommission": 15,
    "buyerCommission": 0,
    "sellerCommission": 0,
    "canTrade": true,
    "canWithdraw": true,
    "canDeposit": true,
    "balances": [
        {
            "asset": "BTC",
            "free": "4723846.89208129",
            "locked": "0.00000000"
        },
        {
            "asset": "LTC",
            "free": "4763368.68006011",
            "locked": "0.00000000"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_account_api_permissions(**params)[source]

Fetch api key permissions.

https://binance-docs.github.io/apidocs/spot/en/#get-api-key-permission-user_data

Parameters:recvWindow (int) – the number of milliseconds the request is valid for
Returns:API response
{
   "ipRestrict": false,
   "createTime": 1623840271000,
   "enableWithdrawals": false,   // This option allows you to withdraw via API. You must apply the IP Access Restriction filter in order to enable withdrawals
   "enableInternalTransfer": true,  // This option authorizes this key to transfer funds between your master account and your sub account instantly
   "permitsUniversalTransfer": true,  // Authorizes this key to be used for a dedicated universal transfer API to transfer multiple supported currencies. Each business's own transfer API rights are not affected by this authorization
   "enableVanillaOptions": false,  //  Authorizes this key to Vanilla options trading
   "enableReading": true,
   "enableFutures": false,  //  API Key created before your futures account opened does not support futures API service
   "enableMargin": false,   //  This option can be adjusted after the Cross Margin account transfer is completed
   "enableSpotAndMarginTrading": false, // Spot and margin trading
   "tradingAuthorityExpirationTime": 1628985600000  // Expiration time for spot and margin trading permission
}
get_account_api_trading_status(**params)[source]

Fetch account api trading status detail.

https://binance-docs.github.io/apidocs/spot/en/#account-api-trading-status-sapi-user_data

Parameters:recvWindow (int) – the number of milliseconds the request is valid for
Returns:API response
{
    "data": {          // API trading status detail
        "isLocked": false,   // API trading function is locked or not
        "plannedRecoverTime": 0,  // If API trading function is locked, this is the planned recover time
        "triggerCondition": {
                "GCR": 150,  // Number of GTC orders
                "IFER": 150, // Number of FOK/IOC orders
                "UFR": 300   // Number of orders
        },
        "indicators": {  // The indicators updated every 30 seconds
             "BTCUSDT": [  // The symbol
                {
                    "i": "UFR",  // Unfilled Ratio (UFR)
                    "c": 20,     // Count of all orders
                    "v": 0.05,   // Current UFR value
                    "t": 0.995   // Trigger UFR value
                },
                {
                    "i": "IFER", // IOC/FOK Expiration Ratio (IFER)
                    "c": 20,     // Count of FOK/IOC orders
                    "v": 0.99,   // Current IFER value
                    "t": 0.99    // Trigger IFER value
                },
                {
                    "i": "GCR",  // GTC Cancellation Ratio (GCR)
                    "c": 20,     // Count of GTC orders
                    "v": 0.99,   // Current GCR value
                    "t": 0.99    // Trigger GCR value
                }
            ],
            "ETHUSDT": [
                {
                    "i": "UFR",
                    "c": 20,
                    "v": 0.05,
                    "t": 0.995
                },
                {
                    "i": "IFER",
                    "c": 20,
                    "v": 0.99,
                    "t": 0.99
                },
                {
                    "i": "GCR",
                    "c": 20,
                    "v": 0.99,
                    "t": 0.99
                }
            ]
        },
        "updateTime": 1547630471725
    }
}
get_account_snapshot(**params)[source]

Get daily account snapshot of specific type.

https://binance-docs.github.io/apidocs/spot/en/#daily-account-snapshot-user_data

Parameters:
  • type (string) – required. Valid values are SPOT/MARGIN/FUTURES.
  • startTime (int) – optional
  • endTime (int) – optional
  • limit (int) – optional
  • recvWindow (int) – optional
Returns:

API response

{
   "code":200, // 200 for success; others are error codes
   "msg":"", // error message
   "snapshotVos":[
      {
         "data":{
            "balances":[
               {
                  "asset":"BTC",
                  "free":"0.09905021",
                  "locked":"0.00000000"
               },
               {
                  "asset":"USDT",
                  "free":"1.89109409",
                  "locked":"0.00000000"
               }
            ],
            "totalAssetOfBtc":"0.09942700"
         },
         "type":"spot",
         "updateTime":1576281599000
      }
   ]
}

OR

{
   "code":200, // 200 for success; others are error codes
   "msg":"", // error message
   "snapshotVos":[
      {
         "data":{
            "marginLevel":"2748.02909813",
            "totalAssetOfBtc":"0.00274803",
            "totalLiabilityOfBtc":"0.00000100",
            "totalNetAssetOfBtc":"0.00274750",
            "userAssets":[
               {
                  "asset":"XRP",
                  "borrowed":"0.00000000",
                  "free":"1.00000000",
                  "interest":"0.00000000",
                  "locked":"0.00000000",
                  "netAsset":"1.00000000"
               }
            ]
         },
         "type":"margin",
         "updateTime":1576281599000
      }
   ]
}

OR

{
   "code":200, // 200 for success; others are error codes
   "msg":"", // error message
   "snapshotVos":[
      {
         "data":{
            "assets":[
               {
                  "asset":"USDT",
                  "marginBalance":"118.99782335",
                  "walletBalance":"120.23811389"
               }
            ],
            "position":[
               {
                  "entryPrice":"7130.41000000",
                  "markPrice":"7257.66239673",
                  "positionAmt":"0.01000000",
                  "symbol":"BTCUSDT",
                  "unRealizedProfit":"1.24029054"
               }
            ]
         },
         "type":"futures",
         "updateTime":1576281599000
      }
   ]
}
Raises:BinanceRequestException, BinanceAPIException
get_account_status(**params)[source]

Get account status detail.

https://binance-docs.github.io/apidocs/spot/en/#account-status-sapi-user_data

Parameters:recvWindow (int) – the number of milliseconds the request is valid for
Returns:API response
{
    "data": "Normal"
}
get_aggregate_trades(**params) → Dict[KT, VT][source]

Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.

https://binance-docs.github.io/apidocs/spot/en/#compressed-aggregate-trades-list

Parameters:
  • symbol (str) – required
  • fromId (str) – ID to get aggregate trades from INCLUSIVE.
  • startTime (int) – Timestamp in ms to get aggregate trades from INCLUSIVE.
  • endTime (int) – Timestamp in ms to get aggregate trades until INCLUSIVE.
  • limit (int) – Default 500; max 1000.
Returns:

API response

[
    {
        "a": 26129,         # Aggregate tradeId
        "p": "0.01633102",  # Price
        "q": "4.70443515",  # Quantity
        "f": 27781,         # First tradeId
        "l": 27781,         # Last tradeId
        "T": 1498793709153, # Timestamp
        "m": true,          # Was the buyer the maker?
        "M": true           # Was the trade the best price match?
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_all_coins_info(**params)[source]

Get information of coins (available for deposit and withdraw) for user.

https://binance-docs.github.io/apidocs/spot/en/#all-coins-39-information-user_data

Parameters:recvWindow (int) – optional
Returns:API response
{
    "coin": "BTC",
    "depositAllEnable": true,
    "withdrawAllEnable": true,
    "name": "Bitcoin",
    "free": "0",
    "locked": "0",
    "freeze": "0",
    "withdrawing": "0",
    "ipoing": "0",
    "ipoable": "0",
    "storage": "0",
    "isLegalMoney": false,
    "trading": true,
    "networkList": [
        {
            "network": "BNB",
            "coin": "BTC",
            "withdrawIntegerMultiple": "0.00000001",
            "isDefault": false,
            "depositEnable": true,
            "withdrawEnable": true,
            "depositDesc": "",
            "withdrawDesc": "",
            "specialTips": "Both a MEMO and an Address are required to successfully deposit your BEP2-BTCB tokens to Binance.",
            "name": "BEP2",
            "resetAddressStatus": false,
            "addressRegex": "^(bnb1)[0-9a-z]{38}$",
            "memoRegex": "^[0-9A-Za-z-_]{1,120}$",
            "withdrawFee": "0.0000026",
            "withdrawMin": "0.0000052",
            "withdrawMax": "0",
            "minConfirm": 1,
            "unLockConfirm": 0
        },
        {
            "network": "BTC",
            "coin": "BTC",
            "withdrawIntegerMultiple": "0.00000001",
            "isDefault": true,
            "depositEnable": true,
            "withdrawEnable": true,
            "depositDesc": "",
            "withdrawDesc": "",
            "specialTips": "",
            "name": "BTC",
            "resetAddressStatus": false,
            "addressRegex": "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$",
            "memoRegex": "",
            "withdrawFee": "0.0005",
            "withdrawMin": "0.001",
            "withdrawMax": "0",
            "minConfirm": 1,
            "unLockConfirm": 2
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_all_isolated_margin_symbols(**params)[source]

Query isolated margin symbol info for all pairs

https://binance-docs.github.io/apidocs/spot/en/#get-all-isolated-margin-symbol-user_data

pair_details = client.get_all_isolated_margin_symbols()
Returns:API response
[
    {
        "base": "BNB",
        "isBuyAllowed": true,
        "isMarginTrade": true,
        "isSellAllowed": true,
        "quote": "BTC",
        "symbol": "BNBBTC"
    },
    {
        "base": "TRX",
        "isBuyAllowed": true,
        "isMarginTrade": true,
        "isSellAllowed": true,
        "quote": "BTC",
        "symbol": "TRXBTC"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_all_margin_orders(**params)[source]

Query all margin accounts orders

If orderId is set, it will get orders >= that orderId. Otherwise most recent orders are returned.

For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.

https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-all-order-user_data

Parameters:
  • symbol (str) – required
  • isIsolated (str) – set to ‘TRUE’ for isolated margin (default ‘FALSE’)
  • orderId (str) – optional
  • startTime (str) – optional
  • endTime (str) – optional
  • limit (int) – Default 500; max 1000
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
{

“id”: 43123876, “price”: “0.00395740”, “qty”: “4.06000000”, “quoteQty”: “0.01606704”, “symbol”: “BNBBTC”, “time”: 1556089977693

}, {

”id”: 43123877, “price”: “0.00395740”, “qty”: “0.77000000”, “quoteQty”: “0.00304719”, “symbol”: “BNBBTC”, “time”: 1556089977693

}, {

”id”: 43253549, “price”: “0.00428930”, “qty”: “23.30000000”, “quoteQty”: “0.09994069”, “symbol”: “BNBBTC”, “time”: 1556163963504

}

]

Raises:

BinanceRequestException, BinanceAPIException

get_all_orders(**params)[source]

Get all account orders; active, canceled, or filled.

https://binance-docs.github.io/apidocs/spot/en/#all-orders-user_data

Parameters:
  • symbol (str) – required
  • orderId (int) – The unique order id
  • startTime (int) – optional
  • endTime (int) – optional
  • limit (int) – Default 500; max 1000.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "symbol": "LTCBTC",
        "orderId": 1,
        "clientOrderId": "myOrder1",
        "price": "0.1",
        "origQty": "1.0",
        "executedQty": "0.0",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "LIMIT",
        "side": "BUY",
        "stopPrice": "0.0",
        "icebergQty": "0.0",
        "time": 1499827319559
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_all_tickers() → List[Dict[str, str]][source]

Latest price for all symbols.

https://binance-docs.github.io/apidocs/spot/en/#symbol-price-ticker

Returns:List of market tickers
[
    {
        "symbol": "LTCBTC",
        "price": "4.00000200"
    },
    {
        "symbol": "ETHBTC",
        "price": "0.07946600"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_asset_balance(asset, **params)[source]

Get current asset balance.

Parameters:
  • asset (str) – required
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

dictionary or None if not found

{
    "asset": "BTC",
    "free": "4723846.89208129",
    "locked": "0.00000000"
}
Raises:BinanceRequestException, BinanceAPIException
get_asset_details(**params)[source]

Fetch details on assets.

https://binance-docs.github.io/apidocs/spot/en/#asset-detail-sapi-user_data

Parameters:
  • asset (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
        "CTR": {
            "minWithdrawAmount": "70.00000000", //min withdraw amount
            "depositStatus": false,//deposit status (false if ALL of networks' are false)
            "withdrawFee": 35, // withdraw fee
            "withdrawStatus": true, //withdraw status (false if ALL of networks' are false)
            "depositTip": "Delisted, Deposit Suspended" //reason
        },
        "SKY": {
            "minWithdrawAmount": "0.02000000",
            "depositStatus": true,
            "withdrawFee": 0.01,
            "withdrawStatus": true
        }
}
get_asset_dividend_history(**params)[source]

Query asset dividend record.

https://binance-docs.github.io/apidocs/spot/en/#asset-dividend-record-user_data

Parameters:
  • asset (str) – optional
  • startTime (long) – optional
  • endTime (long) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
result = client.get_asset_dividend_history()
Returns:API response
{
    "rows":[
        {
            "amount":"10.00000000",
            "asset":"BHFT",
            "divTime":1563189166000,
            "enInfo":"BHFT distribution",
            "tranId":2968885920
        },
        {
            "amount":"10.00000000",
            "asset":"BHFT",
            "divTime":1563189165000,
            "enInfo":"BHFT distribution",
            "tranId":2968885920
        }
    ],
    "total":2
}
Raises:BinanceRequestException, BinanceAPIException
get_avg_price(**params)[source]

Current average price for a symbol.

https://binance-docs.github.io/apidocs/spot/en/#current-average-price

Parameters:symbol (str) –
Returns:API response
{
    "mins": 5,
    "price": "9.35751834"
}
get_bnb_burn_spot_margin(**params)[source]

Get BNB Burn Status

https://binance-docs.github.io/apidocs/spot/en/#get-bnb-burn-status-user_data

status = client.get_bnb_burn_spot_margin()
Returns:API response
{
   "spotBNBBurn":true,
   "interestBNBBurn": false
}
Raises:BinanceRequestException, BinanceAPIException
get_c2c_trade_history(**params)[source]

Get C2C Trade History

https://binance-docs.github.io/apidocs/spot/en/#get-c2c-trade-history-user_data

Parameters:
  • tradeType (str) – required - BUY, SELL
  • startTimestamp – optional
  • endTimestamp (int) – optional
  • page (int) – optional - default 1
  • rows (int) – optional - default 100, max 100
  • recvWindow (int) – optional
Returns:

API response

{

“code”: “000000”, “message”: “success”, “data”: [

{

“orderNumber”:”20219644646554779648”, “advNo”: “11218246497340923904”, “tradeType”: “SELL”, “asset”: “BUSD”, “fiat”: “CNY”, “fiatSymbol”: “¥”, “amount”: “5000.00000000”, // Quantity (in Crypto) “totalPrice”: “33400.00000000”, “unitPrice”: “6.68”, // Unit Price (in Fiat) “orderStatus”: “COMPLETED”, // PENDING, TRADING, BUYER_PAYED, DISTRIBUTING, COMPLETED, IN_APPEAL, CANCELLED, CANCELLED_BY_SYSTEM “createTime”: 1619361369000, “commission”: “0”, // Transaction Fee (in Crypto) “counterPartNickName”: “ab***”, “advertisementRole”: “TAKER”

}

], “total”: 1, “success”: true

}

get_deposit_address(coin: str, network: Optional[str] = None, **params)[source]

Fetch a deposit address for a symbol

https://binance-docs.github.io/apidocs/spot/en/#deposit-address-supporting-network-user_data

Parameters:
  • coin (str) – required
  • network (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "address": "1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv",
    "coin": "BTC",
    "tag": "",
    "url": "https://btc.com/1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv"
}
Raises:BinanceRequestException, BinanceAPIException
get_deposit_history(**params)[source]

Fetch deposit history.

https://binance-docs.github.io/apidocs/spot/en/#deposit-history-supporting-network-user_data

Parameters:
  • coin (str) – optional
  • startTime (long) – optional
  • endTime (long) – optional
  • offset (long) – optional - default:0
  • limit (long) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "amount":"0.00999800",
        "coin":"PAXG",
        "network":"ETH",
        "status":1,
        "address":"0x788cabe9236ce061e5a892e1a59395a81fc8d62c",
        "addressTag":"",
        "txId":"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3",
        "insertTime":1599621997000,
        "transferType":0,
        "confirmTimes":"12/12"
    },
    {
        "amount":"0.50000000",
        "coin":"IOTA",
        "network":"IOTA",
        "status":1,
        "address":"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW",
        "addressTag":"",
        "txId":"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999",
        "insertTime":1599620082000,
        "transferType":0,
        "confirmTimes":"1/1"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_dust_log(**params)[source]

Get log of small amounts exchanged for BNB.

https://binance-docs.github.io/apidocs/spot/en/#dustlog-sapi-user_data

Parameters:
  • startTime (int) – optional
  • endTime (int) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "total": 8,   //Total counts of exchange
    "userAssetDribblets": [
        {
            "totalTransferedAmount": "0.00132256",   // Total transfered BNB amount for this exchange.
            "totalServiceChargeAmount": "0.00002699",    //Total service charge amount for this exchange.
            "transId": 45178372831,
            "userAssetDribbletDetails": [           //Details of  this exchange.
                {
                    "transId": 4359321,
                    "serviceChargeAmount": "0.000009",
                    "amount": "0.0009",
                    "operateTime": 1615985535000,
                    "transferedAmount": "0.000441",
                    "fromAsset": "USDT"
                },
                {
                    "transId": 4359321,
                    "serviceChargeAmount": "0.00001799",
                    "amount": "0.0009",
                    "operateTime": "2018-05-03 17:07:04",
                    "transferedAmount": "0.00088156",
                    "fromAsset": "ETH"
                }
            ]
        },
        {
            "operateTime":1616203180000,
            "totalTransferedAmount": "0.00058795",
            "totalServiceChargeAmount": "0.000012",
            "transId": 4357015,
            "userAssetDribbletDetails": [
                {
                    "transId": 4357015,
                    "serviceChargeAmount": "0.00001"
                    "amount": "0.001",
                    "operateTime": 1616203180000,
                    "transferedAmount": "0.00049",
                    "fromAsset": "USDT"
                },
                {
                    "transId": 4357015,
                    "serviceChargeAmount": "0.000002"
                    "amount": "0.0001",
                    "operateTime": 1616203180000,
                    "transferedAmount": "0.00009795",
                    "fromAsset": "ETH"
                }
            ]
        }
    ]
}
get_exchange_info() → Dict[KT, VT][source]

Return rate limits and list of symbols

Returns:list - List of product dictionaries
{
    "timezone": "UTC",
    "serverTime": 1508631584636,
    "rateLimits": [
        {
            "rateLimitType": "REQUESTS",
            "interval": "MINUTE",
            "limit": 1200
        },
        {
            "rateLimitType": "ORDERS",
            "interval": "SECOND",
            "limit": 10
        },
        {
            "rateLimitType": "ORDERS",
            "interval": "DAY",
            "limit": 100000
        }
    ],
    "exchangeFilters": [],
    "symbols": [
        {
            "symbol": "ETHBTC",
            "status": "TRADING",
            "baseAsset": "ETH",
            "baseAssetPrecision": 8,
            "quoteAsset": "BTC",
            "quotePrecision": 8,
            "orderTypes": ["LIMIT", "MARKET"],
            "icebergAllowed": false,
            "filters": [
                {
                    "filterType": "PRICE_FILTER",
                    "minPrice": "0.00000100",
                    "maxPrice": "100000.00000000",
                    "tickSize": "0.00000100"
                }, {
                    "filterType": "LOT_SIZE",
                    "minQty": "0.00100000",
                    "maxQty": "100000.00000000",
                    "stepSize": "0.00100000"
                }, {
                    "filterType": "MIN_NOTIONAL",
                    "minNotional": "0.00100000"
                }
            ]
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_fiat_deposit_withdraw_history(**params)[source]

Get Fiat Deposit/Withdraw History

https://binance-docs.github.io/apidocs/spot/en/#get-fiat-deposit-withdraw-history-user_data

Parameters:
  • transactionType (str) – required - 0-deposit,1-withdraw
  • beginTime (int) – optional
  • endTime (int) – optional
  • page (int) – optional - default 1
  • rows (int) – optional - default 100, max 500
  • recvWindow (int) – optional
get_fiat_payments_history(**params)[source]

Get Fiat Payments History

https://binance-docs.github.io/apidocs/spot/en/#get-fiat-payments-history-user_data

Parameters:
  • transactionType (str) – required - 0-buy,1-sell
  • beginTime (int) – optional
  • endTime (int) – optional
  • page (int) – optional - default 1
  • rows (int) – optional - default 100, max 500
  • recvWindow (int) – optional
get_fixed_activity_project_list(**params)[source]

Get Fixed and Activity Project List

https://binance-docs.github.io/apidocs/spot/en/#get-fixed-and-activity-project-list-user_data

Parameters:
  • asset (str) – optional
  • type (str) – required - “ACTIVITY”, “CUSTOMIZED_FIXED”
  • status (str) – optional - “ALL”, “SUBSCRIBABLE”, “UNSUBSCRIBABLE”; default “ALL”
  • sortBy (str) – optional - “START_TIME”, “LOT_SIZE”, “INTEREST_RATE”, “DURATION”; default “START_TIME”
  • current (int) – optional - Currently querying page. Start from 1. Default:1
  • size (int) – optional - Default:10, Max:100
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "asset": "USDT",
        "displayPriority": 1,
        "duration": 90,
        "interestPerLot": "1.35810000",
        "interestRate": "0.05510000",
        "lotSize": "100.00000000",
        "lotsLowLimit": 1,
        "lotsPurchased": 74155,
        "lotsUpLimit": 80000,
        "maxLotsPerUser": 2000,
        "needKyc": False,
        "projectId": "CUSDT90DAYSS001",
        "projectName": "USDT",
        "status": "PURCHASING",
        "type": "CUSTOMIZED_FIXED",
        "withAreaLimitation": False
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_historical_klines(symbol, interval, start_str, end_str=None, limit=500, klines_type: binance.enums.HistoricalKlinesType = <HistoricalKlinesType.SPOT: 1>)[source]

Get Historical Klines from Binance

Parameters:
  • symbol (str) – Name of symbol pair e.g BNBBTC
  • interval (str) – Binance Kline interval
  • start_str (str|int) – Start date string in UTC format or timestamp in milliseconds
  • end_str (str|int) – optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
  • limit (int) – Default 500; max 1000.
  • klines_type (HistoricalKlinesType) – Historical klines type: SPOT or FUTURES
Returns:

list of OHLCV values

get_historical_klines_generator(symbol, interval, start_str, end_str=None, klines_type: binance.enums.HistoricalKlinesType = <HistoricalKlinesType.SPOT: 1>)[source]

Get Historical Klines generator from Binance

Parameters:
  • symbol (str) – Name of symbol pair e.g BNBBTC
  • interval (str) – Binance Kline interval
  • start_str (str|int) – Start date string in UTC format or timestamp in milliseconds
  • end_str (str|int) – optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
  • klines_type (HistoricalKlinesType) – Historical klines type: SPOT or FUTURES
Returns:

generator of OHLCV values

get_historical_trades(**params) → Dict[KT, VT][source]

Get older trades.

https://binance-docs.github.io/apidocs/spot/en/#old-trade-lookup

Parameters:
  • symbol (str) – required
  • limit (int) – Default 500; max 1000.
  • fromId (str) – TradeId to fetch from. Default gets most recent trades.
Returns:

API response

[
    {
        "id": 28457,
        "price": "4.00000100",
        "qty": "12.00000000",
        "time": 1499865549590,
        "isBuyerMaker": true,
        "isBestMatch": true
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_isolated_margin_account(**params)[source]

Query isolated margin account details

https://binance-docs.github.io/apidocs/spot/en/#query-isolated-margin-account-info-user_data

Parameters:symbols – optional up to 5 margin pairs as a comma separated string
account_info = client.get_isolated_margin_account()
account_info = client.get_isolated_margin_account(symbols="BTCUSDT,ETHUSDT")
Returns:API response
If "symbols" is not sent:

    {
    "assets":[
        {
            "baseAsset":
            {
            "asset": "BTC",
            "borrowEnabled": true,
            "borrowed": "0.00000000",
            "free": "0.00000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00000000",
            "netAssetOfBtc": "0.00000000",
            "repayEnabled": true,
            "totalAsset": "0.00000000"
            },
            "quoteAsset":
            {
            "asset": "USDT",
            "borrowEnabled": true,
            "borrowed": "0.00000000",
            "free": "0.00000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00000000",
            "netAssetOfBtc": "0.00000000",
            "repayEnabled": true,
            "totalAsset": "0.00000000"
            },
            "symbol": "BTCUSDT"
            "isolatedCreated": true,
            "marginLevel": "0.00000000",
            "marginLevelStatus": "EXCESSIVE", // "EXCESSIVE", "NORMAL", "MARGIN_CALL", "PRE_LIQUIDATION", "FORCE_LIQUIDATION"
            "marginRatio": "0.00000000",
            "indexPrice": "10000.00000000"
            "liquidatePrice": "1000.00000000",
            "liquidateRate": "1.00000000"
            "tradeEnabled": true
        }
        ],
        "totalAssetOfBtc": "0.00000000",
        "totalLiabilityOfBtc": "0.00000000",
        "totalNetAssetOfBtc": "0.00000000"
    }

If "symbols" is sent:

    {
    "assets":[
        {
            "baseAsset":
            {
            "asset": "BTC",
            "borrowEnabled": true,
            "borrowed": "0.00000000",
            "free": "0.00000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00000000",
            "netAssetOfBtc": "0.00000000",
            "repayEnabled": true,
            "totalAsset": "0.00000000"
            },
            "quoteAsset":
            {
            "asset": "USDT",
            "borrowEnabled": true,
            "borrowed": "0.00000000",
            "free": "0.00000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00000000",
            "netAssetOfBtc": "0.00000000",
            "repayEnabled": true,
            "totalAsset": "0.00000000"
            },
            "symbol": "BTCUSDT"
            "isolatedCreated": true,
            "marginLevel": "0.00000000",
            "marginLevelStatus": "EXCESSIVE", // "EXCESSIVE", "NORMAL", "MARGIN_CALL", "PRE_LIQUIDATION", "FORCE_LIQUIDATION"
            "marginRatio": "0.00000000",
            "indexPrice": "10000.00000000"
            "liquidatePrice": "1000.00000000",
            "liquidateRate": "1.00000000"
            "tradeEnabled": true
        }
        ]
    }
get_isolated_margin_symbol(**params)[source]

Query isolated margin symbol info

https://binance-docs.github.io/apidocs/spot/en/#query-isolated-margin-symbol-user_data

Parameters:symbol (str) – name of the symbol pair
pair_details = client.get_isolated_margin_symbol(symbol='BTCUSDT')
Returns:API response
{
"symbol":"BTCUSDT",
"base":"BTC",
"quote":"USDT",
"isMarginTrade":true,
"isBuyAllowed":true,
"isSellAllowed":true
}
Raises:BinanceRequestException, BinanceAPIException
get_klines(**params) → Dict[KT, VT][source]

Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.

https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-data

Parameters:
  • symbol (str) – required
  • interval (str) –
  • limit (int) –
    • Default 500; max 1000.
  • startTime (int) –
  • endTime (int) –
Returns:

API response

[
    [
        1499040000000,      # Open time
        "0.01634790",       # Open
        "0.80000000",       # High
        "0.01575800",       # Low
        "0.01577100",       # Close
        "148976.11427815",  # Volume
        1499644799999,      # Close time
        "2434.19055334",    # Quote asset volume
        308,                # Number of trades
        "1756.87402397",    # Taker buy base asset volume
        "28.46694368",      # Taker buy quote asset volume
        "17928899.62484339" # Can be ignored
    ]
]
Raises:BinanceRequestException, BinanceAPIException
get_lending_account(**params)[source]

Get Lending Account Details

https://binance-docs.github.io/apidocs/spot/en/#lending-account-user_data

get_lending_daily_quota_left(**params)[source]

Get Left Daily Purchase Quota of Flexible Product.

https://binance-docs.github.io/apidocs/spot/en/#get-left-daily-purchase-quota-of-flexible-product-user_data

get_lending_daily_redemption_quota(**params)[source]

Get Left Daily Redemption Quota of Flexible Product

https://binance-docs.github.io/apidocs/spot/en/#get-left-daily-redemption-quota-of-flexible-product-user_data

get_lending_interest_history(**params)[source]

Get Lending Interest History

https://binance-docs.github.io/apidocs/spot/en/#get-interest-history-user_data-2

get_lending_position(**params)[source]

Get Flexible Product Position

https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-position-user_data

get_lending_product_list(**params)[source]

Get Lending Product List

https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-list-user_data

get_lending_purchase_history(**params)[source]

Get Lending Purchase History

https://binance-docs.github.io/apidocs/spot/en/#get-purchase-record-user_data

get_lending_redemption_history(**params)[source]

Get Lending Redemption History

https://binance-docs.github.io/apidocs/spot/en/#get-redemption-record-user_data

get_margin_account(**params)[source]

Query cross-margin account details

https://binance-docs.github.io/apidocs/spot/en/#query-cross-margin-account-details-user_data

Returns:API response
{
    "borrowEnabled": true,
    "marginLevel": "11.64405625",
    "totalAssetOfBtc": "6.82728457",
    "totalLiabilityOfBtc": "0.58633215",
    "totalNetAssetOfBtc": "6.24095242",
    "tradeEnabled": true,
    "transferEnabled": true,
    "userAssets": [
        {
            "asset": "BTC",
            "borrowed": "0.00000000",
            "free": "0.00499500",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00499500"
        },
        {
            "asset": "BNB",
            "borrowed": "201.66666672",
            "free": "2346.50000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "2144.83333328"
        },
        {
            "asset": "ETH",
            "borrowed": "0.00000000",
            "free": "0.00000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00000000"
        },
        {
            "asset": "USDT",
            "borrowed": "0.00000000",
            "free": "0.00000000",
            "interest": "0.00000000",
            "locked": "0.00000000",
            "netAsset": "0.00000000"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_margin_all_assets(**params)[source]

Get All Margin Assets (MARKET_DATA)

https://binance-docs.github.io/apidocs/spot/en/#get-all-margin-assets-market_data

margin_assets = client.get_margin_all_assets()
Returns:API response
[
    {
        "assetFullName": "USD coin",
        "assetName": "USDC",
        "isBorrowable": true,
        "isMortgageable": true,
        "userMinBorrow": "0.00000000",
        "userMinRepay": "0.00000000"
    },
    {
        "assetFullName": "BNB-coin",
        "assetName": "BNB",
        "isBorrowable": true,
        "isMortgageable": true,
        "userMinBorrow": "1.00000000",
        "userMinRepay": "0.00000000"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_margin_all_pairs(**params)[source]

Get All Cross Margin Pairs (MARKET_DATA)

https://binance-docs.github.io/apidocs/spot/en/#get-all-cross-margin-pairs-market_data

margin_pairs = client.get_margin_all_pairs()
Returns:API response
[
    {
        "base": "BNB",
        "id": 351637150141315861,
        "isBuyAllowed": true,
        "isMarginTrade": true,
        "isSellAllowed": true,
        "quote": "BTC",
        "symbol": "BNBBTC"
    },
    {
        "base": "TRX",
        "id": 351637923235429141,
        "isBuyAllowed": true,
        "isMarginTrade": true,
        "isSellAllowed": true,
        "quote": "BTC",
        "symbol": "TRXBTC"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_margin_asset(**params)[source]

Query cross-margin asset

https://binance-docs.github.io/apidocs/spot/en/#query-margin-asset-market_data

Parameters:asset (str) – name of the asset
asset_details = client.get_margin_asset(asset='BNB')
Returns:API response
{
    "assetFullName": "Binance Coin",
    "assetName": "BNB",
    "isBorrowable": false,
    "isMortgageable": true,
    "userMinBorrow": "0.00000000",
    "userMinRepay": "0.00000000"
}
Raises:BinanceRequestException, BinanceAPIException
get_margin_force_liquidation_rec(**params)[source]

Get Force Liquidation Record (USER_DATA)

https://binance-docs.github.io/apidocs/spot/en/#get-force-liquidation-record-user_data

Parameters:
  • startTime (str) –
  • endTime (str) –
  • isolatedSymbol (str) – isolated symbol (if querying isolated margin)
  • current (str) – Currently querying page. Start from 1. Default:1
  • size (int) – Default:10 Max:100
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
“rows”: [
{

“avgPrice”: “0.00388359”, “executedQty”: “31.39000000”, “orderId”: 180015097, “price”: “0.00388110”, “qty”: “31.39000000”, “side”: “SELL”, “symbol”: “BNBBTC”, “timeInForce”: “GTC”, “isIsolated”: true, “updatedTime”: 1558941374745

}

], “total”: 1

}

get_margin_interest_history(**params)[source]

Get Interest History (USER_DATA)

https://binance-docs.github.io/apidocs/spot/en/#get-interest-history-user_data

Parameters:
  • asset (str) –
  • isolatedSymbol (str) – isolated symbol (if querying isolated margin)
  • startTime (str) –
  • endTime (str) –
  • current (str) – Currently querying page. Start from 1. Default:1
  • size (int) – Default:10 Max:100
  • archived (bool) – Default: false. Set to true for archived data from 6 months ago
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
“rows”:[
{

“isolatedSymbol”: “BNBUSDT”, // isolated symbol, will not be returned for crossed margin “asset”: “BNB”, “interest”: “0.02414667”, “interestAccuredTime”: 1566813600000, “interestRate”: “0.01600000”, “principal”: “36.22000000”, “type”: “ON_BORROW”

}

], “total”: 1

}

get_margin_loan_details(**params)[source]

Query loan record

txId or startTime must be sent. txId takes precedence.

https://binance-docs.github.io/apidocs/spot/en/#query-loan-record-user_data

Parameters:
  • asset (str) – required
  • isolatedSymbol (str) – isolated symbol (if querying isolated margin)
  • txId (str) – the tranId in of the created loan
  • startTime (str) – earliest timestamp to filter transactions
  • endTime (str) – Used to uniquely identify this cancel. Automatically generated by default.
  • current (str) – Currently querying page. Start from 1. Default:1
  • size (int) – Default:10 Max:100
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
“rows”: [
{

“asset”: “BNB”, “principal”: “0.84624403”, “timestamp”: 1555056425000, //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account); “status”: “CONFIRMED”

}

], “total”: 1

}

Raises:

BinanceRequestException, BinanceAPIException

get_margin_oco_order(**params)[source]

Retrieves a specific OCO based on provided optional parameters

https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-oco-user_data

Parameters:
  • isIsolated – for isolated margin or not, “TRUE”, “FALSE”,default “FALSE”
  • symbol (str) – mandatory for isolated margin, not supported for cross margin
  • orderListId (int) – Either orderListId or listClientOrderId must be provided
  • listClientOrderId (str) – Either orderListId or listClientOrderId must be provided
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{

“orderListId”: 27, “contingencyType”: “OCO”, “listStatusType”: “EXEC_STARTED”, “listOrderStatus”: “EXECUTING”, “listClientOrderId”: “h2USkA5YQpaXHPIrkd96xE”, “transactionTime”: 1565245656253, “symbol”: “LTCBTC”, “isIsolated”: false, // if isolated margin “orders”: [

{

“symbol”: “LTCBTC”, “orderId”: 4, “clientOrderId”: “qD1gy3kc3Gx0rihm9Y3xwS”

}, {

”symbol”: “LTCBTC”, “orderId”: 5, “clientOrderId”: “ARzZ9I00CPM8i3NhmU9Ega”

}

]

}

get_margin_order(**params)[source]

Query margin accounts order

Either orderId or origClientOrderId must be sent.

For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.

https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-order-user_data

Parameters:
  • symbol (str) – required
  • isIsolated (str) – set to ‘TRUE’ for isolated margin (default ‘FALSE’)
  • orderId (str) –
  • origClientOrderId (str) –
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{

“clientOrderId”: “ZwfQzuDIGpceVhKW5DvCmO”, “cummulativeQuoteQty”: “0.00000000”, “executedQty”: “0.00000000”, “icebergQty”: “0.00000000”, “isWorking”: true, “orderId”: 213205622, “origQty”: “0.30000000”, “price”: “0.00493630”, “side”: “SELL”, “status”: “NEW”, “stopPrice”: “0.00000000”, “symbol”: “BNBBTC”, “time”: 1562133008725, “timeInForce”: “GTC”, “type”: “LIMIT”, “updateTime”: 1562133008725

}

Raises:

BinanceRequestException, BinanceAPIException

get_margin_price_index(**params)[source]

Query margin priceIndex

https://binance-docs.github.io/apidocs/spot/en/#query-margin-priceindex-market_data

Parameters:symbol (str) – name of the symbol pair
price_index_details = client.get_margin_price_index(symbol='BTCUSDT')
Returns:API response
{
    "calcTime": 1562046418000,
    "price": "0.00333930",
    "symbol": "BNBBTC"
}
Raises:BinanceRequestException, BinanceAPIException
get_margin_repay_details(**params)[source]

Query repay record

txId or startTime must be sent. txId takes precedence.

https://binance-docs.github.io/apidocs/spot/en/#query-repay-record-user_data

Parameters:
  • asset (str) – required
  • isolatedSymbol (str) – isolated symbol (if querying isolated margin)
  • txId (str) – the tranId in of the created loan
  • startTime (str) –
  • endTime (str) – Used to uniquely identify this cancel. Automatically generated by default.
  • current (str) – Currently querying page. Start from 1. Default:1
  • size (int) – Default:10 Max:100
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
“rows”: [
{

//Total amount repaid “amount”: “14.00000000”, “asset”: “BNB”, //Interest repaid “interest”: “0.01866667”, //Principal repaid “principal”: “13.98133333”, //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account); “status”: “CONFIRMED”, “timestamp”: 1563438204000, “txId”: 2970933056

}

], “total”: 1

}

Raises:

BinanceRequestException, BinanceAPIException

get_margin_symbol(**params)[source]

Query cross-margin symbol info

https://binance-docs.github.io/apidocs/spot/en/#query-cross-margin-pair-market_data

Parameters:symbol (str) – name of the symbol pair
pair_details = client.get_margin_symbol(symbol='BTCUSDT')
Returns:API response
{
    "id":323355778339572400,
    "symbol":"BTCUSDT",
    "base":"BTC",
    "quote":"USDT",
    "isMarginTrade":true,
    "isBuyAllowed":true,
    "isSellAllowed":true
}
Raises:BinanceRequestException, BinanceAPIException
get_margin_trades(**params)[source]

Query margin accounts trades

If fromId is set, it will get orders >= that fromId. Otherwise most recent orders are returned.

https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-trade-list-user_data

Parameters:
  • symbol (str) – required
  • isIsolated (str) – set to ‘TRUE’ for isolated margin (default ‘FALSE’)
  • fromId (str) – optional
  • startTime (str) – optional
  • endTime (str) – optional
  • limit (int) – Default 500; max 1000
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
{

“commission”: “0.00006000”, “commissionAsset”: “BTC”, “id”: 34, “isBestMatch”: true, “isBuyer”: false, “isMaker”: false, “orderId”: 39324, “price”: “0.02000000”, “qty”: “3.00000000”, “symbol”: “BNBBTC”, “time”: 1561973357171

}, {

“commission”: “0.00002950”, “commissionAsset”: “BTC”, “id”: 32, “isBestMatch”: true, “isBuyer”: false, “isMaker”: true, “orderId”: 39319, “price”: “0.00590000”, “qty”: “5.00000000”, “symbol”: “BNBBTC”, “time”: 1561964645345

}

]

Raises:

BinanceRequestException, BinanceAPIException

get_max_margin_loan(**params)[source]

Query max borrow amount for an asset

https://binance-docs.github.io/apidocs/spot/en/#query-max-borrow-user_data

Parameters:
  • asset (str) – required
  • isolatedSymbol (str) – isolated symbol (if querying isolated margin)
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{

“amount”: “1.69248805”

}

Raises:

BinanceRequestException, BinanceAPIException

get_max_margin_transfer(**params)[source]

Query max transfer-out amount

https://binance-docs.github.io/apidocs/spot/en/#query-max-transfer-out-amount-user_data

Parameters:
  • asset (str) – required
  • isolatedSymbol (str) – isolated symbol (if querying isolated margin)
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{

“amount”: “3.59498107”

}

Raises:

BinanceRequestException, BinanceAPIException

get_my_trades(**params)[source]

Get trades for a specific symbol.

https://binance-docs.github.io/apidocs/spot/en/#account-trade-list-user_data

Parameters:
  • symbol (str) – required
  • startTime (int) – optional
  • endTime (int) – optional
  • limit (int) – Default 500; max 1000.
  • fromId (int) – TradeId to fetch from. Default gets most recent trades.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "id": 28457,
        "price": "4.00000100",
        "qty": "12.00000000",
        "commission": "10.10000000",
        "commissionAsset": "BNB",
        "time": 1499865549590,
        "isBuyer": true,
        "isMaker": false,
        "isBestMatch": true
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_open_margin_oco_orders(**params)[source]

Retrieves open OCO trades

https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-open-oco-user_data

Parameters:
  • isIsolated – for isolated margin or not, “TRUE”, “FALSE”,default “FALSE”
  • symbol (str) – mandatory for isolated margin, not supported for cross margin
  • fromId (int) – If supplied, neither startTime or endTime can be provided
  • startTime (int) – optional
  • endTime (int) – optional
  • limit (int) – optional Default Value: 500; Max Value: 1000
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
{

“orderListId”: 29, “contingencyType”: “OCO”, “listStatusType”: “EXEC_STARTED”, “listOrderStatus”: “EXECUTING”, “listClientOrderId”: “amEEAXryFzFwYF1FeRpUoZ”, “transactionTime”: 1565245913483, “symbol”: “LTCBTC”, “isIsolated”: true, // if isolated margin “orders”: [

{

“symbol”: “LTCBTC”, “orderId”: 4, “clientOrderId”: “oD7aesZqjEGlZrbtRpy5zB”

}, {

”symbol”: “LTCBTC”, “orderId”: 5, “clientOrderId”: “Jr1h6xirOxgeJOUuYQS7V3”

}

]

}, {

”orderListId”: 28, “contingencyType”: “OCO”, “listStatusType”: “EXEC_STARTED”, “listOrderStatus”: “EXECUTING”, “listClientOrderId”: “hG7hFNxJV6cZy3Ze4AUT4d”, “transactionTime”: 1565245913407, “symbol”: “LTCBTC”, “orders”: [

{

“symbol”: “LTCBTC”, “orderId”: 2, “clientOrderId”: “j6lFOfbmFMRjTYA7rRJ0LP”

}, {

”symbol”: “LTCBTC”, “orderId”: 3, “clientOrderId”: “z0KCjOdditiLS5ekAFtK81”

}

]

}

]

get_open_margin_orders(**params)[source]

Query margin accounts open orders

If the symbol is not sent, orders for all symbols will be returned in an array (cross-margin only).

If querying isolated margin orders, both the isIsolated=’TRUE’ and symbol=symbol_name must be set.

When all symbols are returned, the number of requests counted against the rate limiter is equal to the number of symbols currently trading on the exchange.

https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-open-order-user_data

Parameters:
  • symbol (str) – optional
  • isIsolated (str) – set to ‘TRUE’ for isolated margin (default ‘FALSE’)
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
{

“clientOrderId”: “qhcZw71gAkCCTv0t0k8LUK”, “cummulativeQuoteQty”: “0.00000000”, “executedQty”: “0.00000000”, “icebergQty”: “0.00000000”, “isWorking”: true, “orderId”: 211842552, “origQty”: “0.30000000”, “price”: “0.00475010”, “side”: “SELL”, “status”: “NEW”, “stopPrice”: “0.00000000”, “symbol”: “BNBBTC”, “time”: 1562040170089, “timeInForce”: “GTC”, “type”: “LIMIT”, “updateTime”: 1562040170089

}

]

Raises:

BinanceRequestException, BinanceAPIException

get_open_orders(**params)[source]

Get all open orders on a symbol.

https://binance-docs.github.io/apidocs/spot/en/#current-open-orders-user_data

Parameters:
  • symbol (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "symbol": "LTCBTC",
        "orderId": 1,
        "clientOrderId": "myOrder1",
        "price": "0.1",
        "origQty": "1.0",
        "executedQty": "0.0",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "LIMIT",
        "side": "BUY",
        "stopPrice": "0.0",
        "icebergQty": "0.0",
        "time": 1499827319559
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_order(**params)[source]

Check an order’s status. Either orderId or origClientOrderId must be sent.

https://binance-docs.github.io/apidocs/spot/en/#query-order-user_data

Parameters:
  • symbol (str) – required
  • orderId (int) – The unique order id
  • origClientOrderId (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "symbol": "LTCBTC",
    "orderId": 1,
    "clientOrderId": "myOrder1",
    "price": "0.1",
    "origQty": "1.0",
    "executedQty": "0.0",
    "status": "NEW",
    "timeInForce": "GTC",
    "type": "LIMIT",
    "side": "BUY",
    "stopPrice": "0.0",
    "icebergQty": "0.0",
    "time": 1499827319559
}
Raises:BinanceRequestException, BinanceAPIException
get_order_book(**params) → Dict[KT, VT][source]

Get the Order Book for the market

https://binance-docs.github.io/apidocs/spot/en/#order-book

Parameters:
  • symbol (str) – required
  • limit (int) – Default 100; max 1000
Returns:

API response

{
    "lastUpdateId": 1027024,
    "bids": [
        [
            "4.00000000",     # PRICE
            "431.00000000",   # QTY
            []                # Can be ignored
        ]
    ],
    "asks": [
        [
            "4.00000200",
            "12.00000000",
            []
        ]
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_orderbook_ticker(**params)[source]

Latest price for a symbol or symbols.

https://binance-docs.github.io/apidocs/spot/en/#symbol-order-book-ticker

Parameters:symbol (str) –
Returns:API response
{
    "symbol": "LTCBTC",
    "bidPrice": "4.00000000",
    "bidQty": "431.00000000",
    "askPrice": "4.00000200",
    "askQty": "9.00000000"
}

OR

[
    {
        "symbol": "LTCBTC",
        "bidPrice": "4.00000000",
        "bidQty": "431.00000000",
        "askPrice": "4.00000200",
        "askQty": "9.00000000"
    },
    {
        "symbol": "ETHBTC",
        "bidPrice": "0.07946700",
        "bidQty": "9.00000000",
        "askPrice": "100000.00000000",
        "askQty": "1000.00000000"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_orderbook_tickers() → Dict[KT, VT][source]

Best price/qty on the order book for all symbols.

https://binance-docs.github.io/apidocs/spot/en/#symbol-order-book-ticker

Parameters:symbol (str) – optional
Returns:List of order book market entries
[
    {
        "symbol": "LTCBTC",
        "bidPrice": "4.00000000",
        "bidQty": "431.00000000",
        "askPrice": "4.00000200",
        "askQty": "9.00000000"
    },
    {
        "symbol": "ETHBTC",
        "bidPrice": "0.07946700",
        "bidQty": "9.00000000",
        "askPrice": "100000.00000000",
        "askQty": "1000.00000000"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_products() → Dict[KT, VT][source]

Return list of products currently listed on Binance

Use get_exchange_info() call instead

Returns:list - List of product dictionaries
Raises:BinanceRequestException, BinanceAPIException
get_recent_trades(**params) → Dict[KT, VT][source]

Get recent trades (up to last 500).

https://binance-docs.github.io/apidocs/spot/en/#recent-trades-list

Parameters:
  • symbol (str) – required
  • limit (int) – Default 500; max 1000.
Returns:

API response

[
    {
        "id": 28457,
        "price": "4.00000100",
        "qty": "12.00000000",
        "time": 1499865549590,
        "isBuyerMaker": true,
        "isBestMatch": true
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_server_time() → Dict[KT, VT][source]

Test connectivity to the Rest API and get the current server time.

https://binance-docs.github.io/apidocs/spot/en/#check-server-time

Returns:Current server time
{
    "serverTime": 1499827319559
}
Raises:BinanceRequestException, BinanceAPIException
get_sub_account_assets(**params)[source]

Fetch sub-account assets

https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-assets-sapi-for-master-account

Parameters:
  • email (str) – required
  • recvWindow (int) – optional
Returns:

API response

{
    "balances":[
        {
            "asset":"ADA",
            "free":10000,
            "locked":0
        },
        {
            "asset":"BNB",
            "free":10003,
            "locked":0
        },
        {
            "asset":"BTC",
            "free":11467.6399,
            "locked":0
        },
        {
            "asset":"ETH",
            "free":10004.995,
            "locked":0
        },
        {
            "asset":"USDT",
            "free":11652.14213,
            "locked":0
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_sub_account_futures_transfer_history(**params)[source]

Query Sub-account Futures Transfer History.

https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-futures-asset-transfer-history-for-master-account

Parameters:
  • email (str) – required
  • futuresType (int) – required
  • startTime (int) – optional
  • endTime (int) – optional
  • page (int) – optional
  • limit (int) – optional
  • recvWindow (int) – optional
Returns:

API response

{
    "success":true,
    "futuresType": 2,
    "transfers":[
        {
            "from":"aaa@test.com",
            "to":"bbb@test.com",
            "asset":"BTC",
            "qty":"1",
            "time":1544433328000
        },
        {
            "from":"bbb@test.com",
            "to":"ccc@test.com",
            "asset":"ETH",
            "qty":"2",
            "time":1544433328000
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_sub_account_list(**params)[source]

Query Sub-account List.

https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-list-sapi-for-master-account

Parameters:
  • email (str) – optional - Sub-account email
  • isFreeze (str) – optional
  • page (int) – optional - Default value: 1
  • limit (int) – optional - Default value: 1, Max value: 200
  • recvWindow (int) – optional
Returns:

API response

{
    "subAccounts":[
        {
            "email":"testsub@gmail.com",
            "isFreeze":false,
            "createTime":1544433328000
        },
        {
            "email":"virtual@oxebmvfonoemail.com",
            "isFreeze":false,
            "createTime":1544433328000
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_sub_account_transfer_history(**params)[source]

Query Sub-account Transfer History.

https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-spot-asset-transfer-history-sapi-for-master-account

Parameters:
  • fromEmail (str) – optional
  • toEmail (str) – optional
  • startTime (int) – optional
  • endTime (int) – optional
  • page (int) – optional - Default value: 1
  • limit (int) – optional - Default value: 500
  • recvWindow (int) – optional
Returns:

API response

[
    {
        "from":"aaa@test.com",
        "to":"bbb@test.com",
        "asset":"BTC",
        "qty":"10",
        "status": "SUCCESS",
        "tranId": 6489943656,
        "time":1544433328000
    },
    {
        "from":"bbb@test.com",
        "to":"ccc@test.com",
        "asset":"ETH",
        "qty":"2",
        "status": "SUCCESS",
        "tranId": 6489938713,
        "time":1544433328000
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_subaccount_deposit_address(**params)[source]

Get Sub-account Deposit Address (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#get-sub-account-deposit-address-for-master-account

Parameters:
  • email (str) – required - Sub account email
  • coin (str) – required
  • network (str) – optional
  • recvWindow (int) – optional
Returns:

API response

{
     "address":"TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV",
     "coin":"USDT",
     "tag":"",
     "url":"https://tronscan.org/#/address/TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV"
 }
Raises:BinanceRequestException, BinanceAPIException
get_subaccount_deposit_history(**params)[source]

Get Sub-account Deposit History (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#get-sub-account-deposit-address-for-master-account

Parameters:
  • email (str) – required - Sub account email
  • coin (str) – optional
  • status (int) – optional - (0:pending,6: credited but cannot withdraw, 1:success)
  • startTime (int) – optional
  • endTime (int) – optional
  • limit (int) – optional
  • offset (int) – optional - default:0
  • recvWindow (int) – optional
Returns:

API response

[
     {
         "amount":"0.00999800",
         "coin":"PAXG",
         "network":"ETH",
         "status":1,
         "address":"0x788cabe9236ce061e5a892e1a59395a81fc8d62c",
         "addressTag":"",
         "txId":"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3",
         "insertTime":1599621997000,
         "transferType":0,
         "confirmTimes":"12/12"
     },
     {
         "amount":"0.50000000",
         "coin":"IOTA",
         "network":"IOTA",
         "status":1,
         "address":"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW",
         "addressTag":"",
         "txId":"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999",
         "insertTime":1599620082000,
         "transferType":0,
         "confirmTimes":"1/1"
     }
]
Raises:BinanceRequestException, BinanceAPIException
get_subaccount_futures_details(**params)[source]

Get Detail on Sub-account’s Futures Account (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#get-detail-on-sub-account-39-s-futures-account-for-master-account

Parameters:
  • email (str) – required - Sub account email
  • recvWindow (int) – optional
Returns:

API response

{
    "email": "abc@test.com",
    "asset": "USDT",
    "assets":[
        {
            "asset": "USDT",
            "initialMargin": "0.00000000",
            "maintenanceMargin": "0.00000000",
            "marginBalance": "0.88308000",
            "maxWithdrawAmount": "0.88308000",
            "openOrderInitialMargin": "0.00000000",
            "positionInitialMargin": "0.00000000",
            "unrealizedProfit": "0.00000000",
            "walletBalance": "0.88308000"
         }
    ],
    "canDeposit": true,
    "canTrade": true,
    "canWithdraw": true,
    "feeTier": 2,
    "maxWithdrawAmount": "0.88308000",
    "totalInitialMargin": "0.00000000",
    "totalMaintenanceMargin": "0.00000000",
    "totalMarginBalance": "0.88308000",
    "totalOpenOrderInitialMargin": "0.00000000",
    "totalPositionInitialMargin": "0.00000000",
    "totalUnrealizedProfit": "0.00000000",
    "totalWalletBalance": "0.88308000",
    "updateTime": 1576756674610
}
Raises:BinanceRequestException, BinanceAPIException
get_subaccount_futures_margin_status(**params)[source]

Get Sub-account’s Status on Margin/Futures (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#get-sub-account-39-s-status-on-margin-futures-for-master-account

Parameters:
  • email (str) – optional - Sub account email
  • recvWindow (int) – optional
Returns:

API response

[
     {
         "email":"123@test.com",      // user email
         "isSubUserEnabled": true,    // true or false
         "isUserActive": true,        // true or false
         "insertTime": 1570791523523  // sub account create time
         "isMarginEnabled": true,     // true or false for margin
         "isFutureEnabled": true      // true or false for futures.
         "mobile": 1570791523523      // user mobile number
     }
 ]
Raises:BinanceRequestException, BinanceAPIException
get_subaccount_futures_positionrisk(**params)[source]

Get Futures Position-Risk of Sub-account (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#get-futures-position-risk-of-sub-account-for-master-account

Parameters:
  • email (str) – required - Sub account email
  • recvWindow (int) – optional
Returns:

API response

[
    {
        "entryPrice": "9975.12000",
        "leverage": "50",              // current initial leverage
        "maxNotional": "1000000",      // notional value limit of current initial leverage
        "liquidationPrice": "7963.54",
        "markPrice": "9973.50770517",
        "positionAmount": "0.010",
        "symbol": "BTCUSDT",
        "unrealizedProfit": "-0.01612295"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_subaccount_futures_summary(**params)[source]

Get Summary of Sub-account’s Futures Account (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#get-summary-of-sub-account-39-s-futures-account-for-master-account

Parameters:recvWindow (int) – optional
Returns:API response
{
    "totalInitialMargin": "9.83137400",
    "totalMaintenanceMargin": "0.41568700",
    "totalMarginBalance": "23.03235621",
    "totalOpenOrderInitialMargin": "9.00000000",
    "totalPositionInitialMargin": "0.83137400",
    "totalUnrealizedProfit": "0.03219710",
    "totalWalletBalance": "22.15879444",
    "asset": "USDT",
    "subAccountList":[
        {
            "email": "123@test.com",
            "totalInitialMargin": "9.00000000",
            "totalMaintenanceMargin": "0.00000000",
            "totalMarginBalance": "22.12659734",
            "totalOpenOrderInitialMargin": "9.00000000",
            "totalPositionInitialMargin": "0.00000000",
            "totalUnrealizedProfit": "0.00000000",
            "totalWalletBalance": "22.12659734",
            "asset": "USDT"
        },
        {
            "email": "345@test.com",
            "totalInitialMargin": "0.83137400",
            "totalMaintenanceMargin": "0.41568700",
            "totalMarginBalance": "0.90575887",
            "totalOpenOrderInitialMargin": "0.00000000",
            "totalPositionInitialMargin": "0.83137400",
            "totalUnrealizedProfit": "0.03219710",
            "totalWalletBalance": "0.87356177",
            "asset": "USDT"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_subaccount_margin_details(**params)[source]

Get Detail on Sub-account’s Margin Account (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#get-detail-on-sub-account-39-s-margin-account-for-master-account

Parameters:
  • email (str) – required - Sub account email
  • recvWindow (int) – optional
Returns:

API response

{
      "email":"123@test.com",
      "marginLevel": "11.64405625",
      "totalAssetOfBtc": "6.82728457",
      "totalLiabilityOfBtc": "0.58633215",
      "totalNetAssetOfBtc": "6.24095242",
      "marginTradeCoeffVo":
            {
                "forceLiquidationBar": "1.10000000",  // Liquidation margin ratio
                "marginCallBar": "1.50000000",        // Margin call margin ratio
                "normalBar": "2.00000000"             // Initial margin ratio
            },
      "marginUserAssetVoList": [
          {
              "asset": "BTC",
              "borrowed": "0.00000000",
              "free": "0.00499500",
              "interest": "0.00000000",
              "locked": "0.00000000",
              "netAsset": "0.00499500"
          },
          {
              "asset": "BNB",
              "borrowed": "201.66666672",
              "free": "2346.50000000",
              "interest": "0.00000000",
              "locked": "0.00000000",
              "netAsset": "2144.83333328"
          },
          {
              "asset": "ETH",
              "borrowed": "0.00000000",
              "free": "0.00000000",
              "interest": "0.00000000",
              "locked": "0.00000000",
              "netAsset": "0.00000000"
          },
          {
              "asset": "USDT",
              "borrowed": "0.00000000",
              "free": "0.00000000",
              "interest": "0.00000000",
              "locked": "0.00000000",
              "netAsset": "0.00000000"
          }
      ]
}
Raises:BinanceRequestException, BinanceAPIException
get_subaccount_margin_summary(**params)[source]

Get Summary of Sub-account’s Margin Account (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#get-summary-of-sub-account-39-s-margin-account-for-master-account

Parameters:recvWindow (int) – optional
Returns:API response
{
    "totalAssetOfBtc": "4.33333333",
    "totalLiabilityOfBtc": "2.11111112",
    "totalNetAssetOfBtc": "2.22222221",
    "subAccountList":[
        {
            "email":"123@test.com",
            "totalAssetOfBtc": "2.11111111",
            "totalLiabilityOfBtc": "1.11111111",
            "totalNetAssetOfBtc": "1.00000000"
        },
        {
            "email":"345@test.com",
            "totalAssetOfBtc": "2.22222222",
            "totalLiabilityOfBtc": "1.00000001",
            "totalNetAssetOfBtc": "1.22222221"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_subaccount_transfer_history(**params)[source]

Sub-account Transfer History (For Sub-account)

https://binance-docs.github.io/apidocs/spot/en/#transfer-to-master-for-sub-account

Parameters:
  • asset (str) – required - The asset being transferred, e.g., USDT
  • type (int) – optional - 1: transfer in, 2: transfer out
  • startTime (int) – optional
  • endTime (int) – optional
  • limit (int) – optional - Default 500
  • recvWindow (int) – optional
Returns:

API response

[
  {
    "counterParty":"master",
    "email":"master@test.com",
    "type":1,  // 1 for transfer in, 2 for transfer out
    "asset":"BTC",
    "qty":"1",
    "status":"SUCCESS",
    "tranId":11798835829,
    "time":1544433325000
  },
  {
    "counterParty":"subAccount",
    "email":"sub2@test.com",
    "type":2,
    "asset":"ETH",
    "qty":"2",
    "status":"SUCCESS",
    "tranId":11798829519,
    "time":1544433326000
  }
]
Raises:BinanceRequestException, BinanceAPIException
get_symbol_info(symbol) → Optional[Dict[KT, VT]][source]

Return information about a symbol

Parameters:symbol (str) – required e.g BNBBTC
Returns:Dict if found, None if not
{
    "symbol": "ETHBTC",
    "status": "TRADING",
    "baseAsset": "ETH",
    "baseAssetPrecision": 8,
    "quoteAsset": "BTC",
    "quotePrecision": 8,
    "orderTypes": ["LIMIT", "MARKET"],
    "icebergAllowed": false,
    "filters": [
        {
            "filterType": "PRICE_FILTER",
            "minPrice": "0.00000100",
            "maxPrice": "100000.00000000",
            "tickSize": "0.00000100"
        }, {
            "filterType": "LOT_SIZE",
            "minQty": "0.00100000",
            "maxQty": "100000.00000000",
            "stepSize": "0.00100000"
        }, {
            "filterType": "MIN_NOTIONAL",
            "minNotional": "0.00100000"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
get_symbol_ticker(**params)[source]

Latest price for a symbol or symbols.

https://binance-docs.github.io/apidocs/spot/en/#symbol-price-ticker

Parameters:symbol (str) –
Returns:API response
{
    "symbol": "LTCBTC",
    "price": "4.00000200"
}

OR

[
    {
        "symbol": "LTCBTC",
        "price": "4.00000200"
    },
    {
        "symbol": "ETHBTC",
        "price": "0.07946600"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_system_status()[source]

Get system status detail.

https://binance-docs.github.io/apidocs/spot/en/#system-status-sapi-system

Returns:API response
{
    "status": 0,        # 0: normal,1:system maintenance
    "msg": "normal"     # normal or System maintenance.
}
Raises:BinanceAPIException
get_ticker(**params)[source]

24 hour price change statistics.

https://binance-docs.github.io/apidocs/spot/en/#24hr-ticker-price-change-statistics

Parameters:symbol (str) –
Returns:API response
{
    "priceChange": "-94.99999800",
    "priceChangePercent": "-95.960",
    "weightedAvgPrice": "0.29628482",
    "prevClosePrice": "0.10002000",
    "lastPrice": "4.00000200",
    "bidPrice": "4.00000000",
    "askPrice": "4.00000200",
    "openPrice": "99.00000000",
    "highPrice": "100.00000000",
    "lowPrice": "0.10000000",
    "volume": "8913.30000000",
    "openTime": 1499783499040,
    "closeTime": 1499869899040,
    "fristId": 28385,   # First tradeId
    "lastId": 28460,    # Last tradeId
    "count": 76         # Trade count
}

OR

[
    {
        "priceChange": "-94.99999800",
        "priceChangePercent": "-95.960",
        "weightedAvgPrice": "0.29628482",
        "prevClosePrice": "0.10002000",
        "lastPrice": "4.00000200",
        "bidPrice": "4.00000000",
        "askPrice": "4.00000200",
        "openPrice": "99.00000000",
        "highPrice": "100.00000000",
        "lowPrice": "0.10000000",
        "volume": "8913.30000000",
        "openTime": 1499783499040,
        "closeTime": 1499869899040,
        "fristId": 28385,   # First tradeId
        "lastId": 28460,    # Last tradeId
        "count": 76         # Trade count
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_trade_fee(**params)[source]

Get trade fee.

https://binance-docs.github.io/apidocs/spot/en/#trade-fee-sapi-user_data

Parameters:
  • symbol (str) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "symbol": "ADABNB",
        "makerCommission": "0.001",
        "takerCommission": "0.001"
    },
    {
        "symbol": "BNBBTC",
        "makerCommission": "0.001",
        "takerCommission": "0.001"
    }
]
get_universal_transfer_history(**params)[source]

Universal Transfer (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#query-universal-transfer-history

Parameters:
  • fromEmail (str) – optional
  • toEmail (str) – optional
  • startTime (int) – optional
  • endTime (int) – optional
  • page (int) – optional
  • limit (int) – optional
  • recvWindow (int) – optional
Returns:

API response

[
  {
    "tranId":11945860693,
    "fromEmail":"master@test.com",
    "toEmail":"subaccount1@test.com",
    "asset":"BTC",
    "amount":"0.1",
    "fromAccountType":"SPOT",
    "toAccountType":"COIN_FUTURE",
    "status":"SUCCESS",
    "createTimeStamp":1544433325000
  },
  {
    "tranId":11945857955,
    "fromEmail":"master@test.com",
    "toEmail":"subaccount2@test.com",
    "asset":"ETH",
    "amount":"0.2",
    "fromAccountType":"SPOT",
    "toAccountType":"USDT_FUTURE",
    "status":"SUCCESS",
    "createTimeStamp":1544433326000
  }
]
Raises:BinanceRequestException, BinanceAPIException
get_withdraw_history(**params)[source]

Fetch withdraw history.

https://binance-docs.github.io/apidocs/spot/en/#withdraw-history-supporting-network-user_data

Parameters:
  • coin (str) – optional
  • offset (int) – optional - default:0
  • limit (int) – optional
  • startTime (int) – optional - Default: 90 days from current timestamp
  • endTime (int) – optional - Default: present timestamp
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

[
    {
        "address": "0x94df8b352de7f46f64b01d3666bf6e936e44ce60",
        "amount": "8.91000000",
        "applyTime": "2019-10-12 11:12:02",
        "coin": "USDT",
        "id": "b6ae22b3aa844210a7041aee7589627c",
        "withdrawOrderId": "WITHDRAWtest123", // will not be returned if there's no withdrawOrderId for this withdraw.
        "network": "ETH",
        "transferType": 0,   // 1 for internal transfer, 0 for external transfer
        "status": 6,
        "txId": "0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268"
    },
    {
        "address": "1FZdVHtiBqMrWdjPyRPULCUceZPJ2WLCsB",
        "amount": "0.00150000",
        "applyTime": "2019-09-24 12:43:45",
        "coin": "BTC",
        "id": "156ec387f49b41df8724fa744fa82719",
        "network": "BTC",
        "status": 6,
        "txId": "60fd9007ebfddc753455f95fafa808c4302c836e4d1eebc5a132c36c1d8ac354"
    }
]
Raises:BinanceRequestException, BinanceAPIException
get_withdraw_history_id(withdraw_id, **params)[source]

Fetch withdraw history.

https://binance-docs.github.io/apidocs/spot/en/#withdraw-history-supporting-network-user_data

Parameters:
  • withdraw_id (str) – required
  • asset (str) – optional
  • startTime (long) – optional
  • endTime (long) – optional
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "id":"7213fea8e94b4a5593d507237e5a555b",
    "withdrawOrderId": None,
    "amount": 0.99,
    "transactionFee": 0.01,
    "address": "0x6915f16f8791d0a1cc2bf47c13a6b2a92000504b",
    "asset": "ETH",
    "txId": "0xdf33b22bdb2b28b1f75ccd201a4a4m6e7g83jy5fc5d5a9d1340961598cfcb0a1",
    "applyTime": 1508198532000,
    "status": 4
}
Raises:BinanceRequestException, BinanceAPIException
isolated_margin_stream_close(symbol, listenKey)[source]

Close out an isolated margin data stream.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin

Parameters:
  • symbol (str) – required - symbol for the isolated margin account
  • listenKey (str) – required
Returns:

API response

{}
Raises:BinanceRequestException, BinanceAPIException
isolated_margin_stream_get_listen_key(symbol)[source]

Start a new isolated margin data stream and return the listen key If a stream already exists it should return the same key. If the stream becomes invalid a new key is returned.

Can be used to keep the stream alive.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin

Parameters:symbol (str) – required - symbol for the isolated margin account
Returns:API response
{
    "listenKey":  "T3ee22BIYuWqmvne0HNq2A2WsFlEtLhvWCtItw6ffhhdmjifQ2tRbuKkTHhr"
}
Raises:BinanceRequestException, BinanceAPIException
isolated_margin_stream_keepalive(symbol, listenKey)[source]

PING an isolated margin data stream to prevent a time out.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin

Parameters:
  • symbol (str) – required - symbol for the isolated margin account
  • listenKey (str) – required
Returns:

API response

{}
Raises:BinanceRequestException, BinanceAPIException
make_subaccount_futures_transfer(**params)[source]

Futures Transfer for Sub-account (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#futures-transfer-for-sub-account-for-master-account

Parameters:
  • email (str) – required - Sub account email
  • asset (str) – required - The asset being transferred, e.g., USDT
  • amount (float) – required - The amount to be transferred
  • type (int) – required - 1: transfer from subaccount’s spot account to its USDT-margined futures account 2: transfer from subaccount’s USDT-margined futures account to its spot account 3: transfer from subaccount’s spot account to its COIN-margined futures account 4: transfer from subaccount’s COIN-margined futures account to its spot account
Returns:

API response

{
    "txnId":"2966662589"
}
Raises:BinanceRequestException, BinanceAPIException
make_subaccount_margin_transfer(**params)[source]

Margin Transfer for Sub-account (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#margin-transfer-for-sub-account-for-master-account

Parameters:
  • email (str) – required - Sub account email
  • asset (str) – required - The asset being transferred, e.g., USDT
  • amount (float) – required - The amount to be transferred
  • type (int) – required - 1: transfer from subaccount’s spot account to margin account 2: transfer from subaccount’s margin account to its spot account
Returns:

API response

{
    "txnId":"2966662589"
}
Raises:BinanceRequestException, BinanceAPIException
make_subaccount_to_master_transfer(**params)[source]

Transfer to Master (For Sub-account)

https://binance-docs.github.io/apidocs/spot/en/#transfer-to-master-for-sub-account

Parameters:
  • asset (str) – required - The asset being transferred, e.g., USDT
  • amount (float) – required - The amount to be transferred
  • recvWindow (int) – optional
Returns:

API response

{
    "txnId":"2966662589"
}
Raises:BinanceRequestException, BinanceAPIException
make_subaccount_to_subaccount_transfer(**params)[source]

Transfer to Sub-account of Same Master (For Sub-account)

https://binance-docs.github.io/apidocs/spot/en/#transfer-to-sub-account-of-same-master-for-sub-account

Parameters:
  • toEmail (str) – required - Sub account email
  • asset (str) – required - The asset being transferred, e.g., USDT
  • amount (float) – required - The amount to be transferred
  • recvWindow (int) – optional
Returns:

API response

{
    "txnId":"2966662589"
}
Raises:BinanceRequestException, BinanceAPIException
make_subaccount_universal_transfer(**params)[source]

Universal Transfer (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#universal-transfer-for-master-account

Parameters:
  • fromEmail (str) – optional
  • toEmail (str) – optional
  • fromAccountType (str) – required - “SPOT”,”USDT_FUTURE”,”COIN_FUTURE”
  • toAccountType (str) – required - “SPOT”,”USDT_FUTURE”,”COIN_FUTURE”
  • asset (str) – required - The asset being transferred, e.g., USDT
  • amount (float) – required
  • recvWindow (int) – optional
Returns:

API response

{
    "tranId":11945860693
}
Raises:BinanceRequestException, BinanceAPIException
make_universal_transfer(**params)[source]

User Universal Transfer

https://binance-docs.github.io/apidocs/spot/en/#user-universal-transfer

Parameters:
  • type (str (ENUM)) – required
  • asset (str) – required
  • amount (str) – required
  • recvWindow (int) – the number of milliseconds the request is valid for
transfer_status = client.make_universal_transfer(params)
Returns:API response
{
    "tranId":13526853623
}
Raises:BinanceRequestException, BinanceAPIException
margin_stream_close(listenKey)[source]

Close out a cross-margin data stream.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-margin

Parameters:listenKey (str) – required
Returns:API response
{}
Raises:BinanceRequestException, BinanceAPIException
margin_stream_get_listen_key()[source]

Start a new cross-margin data stream and return the listen key If a stream already exists it should return the same key. If the stream becomes invalid a new key is returned.

Can be used to keep the stream alive.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-margin

Returns:API response
{
    "listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
}
Raises:BinanceRequestException, BinanceAPIException
margin_stream_keepalive(listenKey)[source]

PING a cross-margin data stream to prevent a time out.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-margin

Parameters:listenKey (str) – required
Returns:API response
{}
Raises:BinanceRequestException, BinanceAPIException
new_transfer_history(**params)[source]

Get future account transaction history list

https://binance-docs.github.io/apidocs/delivery/en/#new-future-account-transfer

options_account_info(**params)[source]

Account asset info (USER_DATA)

https://binance-docs.github.io/apidocs/voptions/en/#account-asset-info-user_data

Parameters:recvWindow (int) – optional
options_bill(**params)[source]

Account funding flow (USER_DATA)

https://binance-docs.github.io/apidocs/voptions/en/#account-funding-flow-user_data

Parameters:
  • currency (str) – required - Asset type - USDT
  • recordId (int) – optional - Return the recordId and subsequent data, the latest data is returned by default - 100000
  • startTime (int) – optional - Start Time - 1593511200000
  • endTime (int) – optional - End Time - 1593511200000
  • limit (int) – optional - Number of result sets returned Default:100 Max:1000 - 100
  • recvWindow (int) – optional
options_cancel_all_orders(**params)[source]

Cancel all Option orders (TRADE)

https://binance-docs.github.io/apidocs/voptions/en/#cancel-all-option-orders-trade

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • recvWindow (int) – optional
options_cancel_batch_order(**params)[source]

Cancel Multiple Option orders (TRADE)

https://binance-docs.github.io/apidocs/voptions/en/#cancel-multiple-option-orders-trade

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • orderIds – optional - Order ID - [4611875134427365377,4611875134427365378]
  • clientOrderIds (list) – optional - User-defined order ID - [“my_id_1”,”my_id_2”]
  • recvWindow (int) – optional
options_cancel_order(**params)[source]

Cancel Option order (TRADE)

https://binance-docs.github.io/apidocs/voptions/en/#cancel-option-order-trade

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • orderId (str) – optional - Order ID - 4611875134427365377
  • clientOrderId (str) – optional - User-defined order ID - 10000
  • recvWindow (int) – optional
options_exchange_info()[source]

Get current limit info and trading pair info

https://binance-docs.github.io/apidocs/voptions/en/#get-current-limit-info-and-trading-pair-info

options_funds_transfer(**params)[source]

Funds transfer (USER_DATA)

https://binance-docs.github.io/apidocs/voptions/en/#funds-transfer-user_data

Parameters:
  • currency (str) – required - Asset type - USDT
  • type (str (ENUM)) – required - IN: Transfer from spot account to option account OUT: Transfer from option account to spot account - IN
  • amount (float) – required - Amount - 10000
  • recvWindow (int) – optional
options_historical_trades(**params)[source]

Query trade history

https://binance-docs.github.io/apidocs/voptions/en/#query-trade-history

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • fromId (int) – optional - The deal ID from which to return. The latest deal record is returned by default - 1592317127349
  • limit (int) – optional - Number of records Default:100 Max:500 - 100
options_index_price(**params)[source]

Get the spot index price

https://binance-docs.github.io/apidocs/voptions/en/#get-the-spot-index-price

Parameters:underlying (str) – required - Spot pair(Option contract underlying asset)- BTCUSDT
options_info()[source]

Get current trading pair info

https://binance-docs.github.io/apidocs/voptions/en/#get-current-trading-pair-info

options_klines(**params)[source]

Candle data

https://binance-docs.github.io/apidocs/voptions/en/#candle-data

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • interval (str) – required - Time interval - 5m
  • startTime (int) – optional - Start Time - 1592317127349
  • endTime (int) – optional - End Time - 1592317127349
  • limit (int) – optional - Number of records Default:500 Max:1500 - 500
options_mark_price(**params)[source]

Get the latest mark price

https://binance-docs.github.io/apidocs/voptions/en/#get-the-latest-mark-price

Parameters:symbol (str) – optional - Option trading pair - BTC-200730-9000-C
options_order_book(**params)[source]

Depth information

https://binance-docs.github.io/apidocs/voptions/en/#depth-information

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • limit (int) – optional - Default:100 Max:1000.Optional value:[10, 20, 50, 100, 500, 1000] - 100
options_ping()[source]

Test connectivity

https://binance-docs.github.io/apidocs/voptions/en/#test-connectivity

options_place_batch_order(**params)[source]

Place Multiple Option orders (TRADE)

https://binance-docs.github.io/apidocs/voptions/en/#place-multiple-option-orders-trade

Parameters:
  • orders (list) – required - order list. Max 5 orders - [{“symbol”:”BTC-210115-35000-C”,”price”:”100”,”quantity”:”0.0001”,”side”:”BUY”,”type”:”LIMIT”}]
  • recvWindow (int) – optional
options_place_order(**params)[source]

Option order (TRADE)

https://binance-docs.github.io/apidocs/voptions/en/#option-order-trade

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • side (str (ENUM)) – required - Buy/sell direction: SELL, BUY - BUY
  • type (str (ENUM)) – required - Order Type: LIMIT, MARKET - LIMIT
  • quantity (float) – required - Order Quantity - 3
  • price (float) – optional - Order Price - 1000
  • timeInForce (str (ENUM)) – optional - Time in force method(Default GTC) - GTC
  • reduceOnly (bool) – optional - Reduce Only (Default false) - false
  • postOnly (bool) – optional - Post Only (Default false) - false
  • newOrderRespType (str (ENUM)) – optional - “ACK”, “RESULT”, Default “ACK” - ACK
  • clientOrderId (str) – optional - User-defined order ID cannot be repeated in pending orders - 10000
  • recvWindow (int) – optional
options_positions(**params)[source]

Option holdings info (USER_DATA)

https://binance-docs.github.io/apidocs/voptions/en/#option-holdings-info-user_data

Parameters:
  • symbol (str) – optional - Option trading pair - BTC-200730-9000-C
  • recvWindow (int) – optional
options_price(**params)[source]

Get the latest price

https://binance-docs.github.io/apidocs/voptions/en/#get-the-latest-price

Parameters:symbol (str) – optional - Option trading pair - BTC-200730-9000-C
options_query_order(**params)[source]

Query Option order (TRADE)

https://binance-docs.github.io/apidocs/voptions/en/#query-option-order-trade

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • orderId (str) – optional - Order ID - 4611875134427365377
  • clientOrderId (str) – optional - User-defined order ID - 10000
  • recvWindow (int) – optional
options_query_order_history(**params)[source]

Query Option order history (TRADE)

https://binance-docs.github.io/apidocs/voptions/en/#query-option-order-history-trade

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • orderId (str) – optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000
  • startTime (int) – optional - Start Time - 1593511200000
  • endTime (int) – optional - End Time - 1593511200000
  • limit (int) – optional - Number of result sets returned Default:100 Max:1000 - 100
  • recvWindow (int) – optional
options_query_pending_orders(**params)[source]

Query current pending Option orders (TRADE)

https://binance-docs.github.io/apidocs/voptions/en/#query-current-pending-option-orders-trade

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • orderId (str) – optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000
  • startTime (int) – optional - Start Time - 1593511200000
  • endTime (int) – optional - End Time - 1593511200000
  • limit (int) – optional - Number of result sets returned Default:100 Max:1000 - 100
  • recvWindow (int) – optional
options_recent_trades(**params)[source]

Recently completed Option trades

https://binance-docs.github.io/apidocs/voptions/en/#recently-completed-option-trades

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • limit (int) – optional - Number of records Default:100 Max:500 - 100
options_time()[source]

Get server time

https://binance-docs.github.io/apidocs/voptions/en/#get-server-time

options_user_trades(**params)[source]

Option Trade List (USER_DATA)

https://binance-docs.github.io/apidocs/voptions/en/#option-trade-list-user_data

Parameters:
  • symbol (str) – required - Option trading pair - BTC-200730-9000-C
  • fromId (int) – optional - Trade id to fetch from. Default gets most recent trades. - 4611875134427365376
  • startTime (int) – optional - Start Time - 1593511200000
  • endTime (int) – optional - End Time - 1593511200000
  • limit (int) – optional - Number of result sets returned Default:100 Max:1000 - 100
  • recvWindow (int) – optional
order_limit(timeInForce='GTC', **params)[source]

Send in a new limit order

Any order with an icebergQty MUST have timeInForce set to GTC.

Parameters:
  • symbol (str) – required
  • side (str) – required
  • quantity (decimal) – required
  • price (str) – required
  • timeInForce (str) – default Good till cancelled
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • icebergQty (decimal) – Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_limit_buy(timeInForce='GTC', **params)[source]

Send in a new limit buy order

Any order with an icebergQty MUST have timeInForce set to GTC.

Parameters:
  • symbol (str) – required
  • quantity (decimal) – required
  • price (str) – required
  • timeInForce (str) – default Good till cancelled
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • stopPrice (decimal) – Used with stop orders
  • icebergQty (decimal) – Used with iceberg orders
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_limit_sell(timeInForce='GTC', **params)[source]

Send in a new limit sell order

Parameters:
  • symbol (str) – required
  • quantity (decimal) – required
  • price (str) – required
  • timeInForce (str) – default Good till cancelled
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • stopPrice (decimal) – Used with stop orders
  • icebergQty (decimal) – Used with iceberg orders
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_market(**params)[source]

Send in a new market order

Parameters:
  • symbol (str) – required
  • side (str) – required
  • quantity (decimal) – required
  • quoteOrderQty (decimal) – amount the user wants to spend (when buying) or receive (when selling) of the quote asset
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_market_buy(**params)[source]

Send in a new market buy order

Parameters:
  • symbol (str) – required
  • quantity (decimal) – required
  • quoteOrderQty (decimal) – the amount the user wants to spend of the quote asset
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_market_sell(**params)[source]

Send in a new market sell order

Parameters:
  • symbol (str) – required
  • quantity (decimal) – required
  • quoteOrderQty (decimal) – the amount the user wants to receive of the quote asset
  • newClientOrderId (str) – A unique id for the order. Automatically generated if not sent.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_oco_buy(**params)[source]

Send in a new OCO buy order

Parameters:
  • symbol (str) – required
  • listClientOrderId (str) – A unique id for the list order. Automatically generated if not sent.
  • quantity (decimal) – required
  • limitClientOrderId (str) – A unique id for the limit order. Automatically generated if not sent.
  • price (str) – required
  • limitIcebergQty (decimal) – Used to make the LIMIT_MAKER leg an iceberg order.
  • stopClientOrderId (str) – A unique id for the stop order. Automatically generated if not sent.
  • stopPrice (str) – required
  • stopLimitPrice (str) – If provided, stopLimitTimeInForce is required.
  • stopIcebergQty (decimal) – Used with STOP_LOSS_LIMIT leg to make an iceberg order.
  • stopLimitTimeInForce (str) – Valid values are GTC/FOK/IOC.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See OCO order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
order_oco_sell(**params)[source]

Send in a new OCO sell order

Parameters:
  • symbol (str) – required
  • listClientOrderId (str) – A unique id for the list order. Automatically generated if not sent.
  • quantity (decimal) – required
  • limitClientOrderId (str) – A unique id for the limit order. Automatically generated if not sent.
  • price (str) – required
  • limitIcebergQty (decimal) – Used to make the LIMIT_MAKER leg an iceberg order.
  • stopClientOrderId (str) – A unique id for the stop order. Automatically generated if not sent.
  • stopPrice (str) – required
  • stopLimitPrice (str) – If provided, stopLimitTimeInForce is required.
  • stopIcebergQty (decimal) – Used with STOP_LOSS_LIMIT leg to make an iceberg order.
  • stopLimitTimeInForce (str) – Valid values are GTC/FOK/IOC.
  • newOrderRespType (str) – Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

See OCO order endpoint for full response options

Raises:BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
ping() → Dict[KT, VT][source]

Test connectivity to the Rest API.

https://binance-docs.github.io/apidocs/spot/en/#test-connectivity

Returns:Empty array
{}
Raises:BinanceRequestException, BinanceAPIException
purchase_lending_product(**params)[source]

Purchase Flexible Product

https://binance-docs.github.io/apidocs/spot/en/#purchase-flexible-product-user_data

query_subaccount_spot_summary(**params)[source]

Query Sub-account Spot Assets Summary (For Master Account)

https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-spot-assets-summary-for-master-account

Parameters:
  • email (str) – optional - Sub account email
  • page (int) – optional - default 1
  • size (int) – optional - default 10, max 20
  • recvWindow (int) – optional
Returns:

API response

{
     "totalCount":2,
     "masterAccountTotalAsset": "0.23231201",
     "spotSubUserAssetBtcVoList":[
         {
             "email":"sub123@test.com",
             "totalAsset":"9999.00000000"
         },
         {
             "email":"test456@test.com",
             "totalAsset":"0.00000000"
         }
     ]
 }
Raises:BinanceRequestException, BinanceAPIException
query_universal_transfer_history(**params)[source]

Query User Universal Transfer History

https://binance-docs.github.io/apidocs/spot/en/#query-user-universal-transfer-history

Parameters:
  • type (str (ENUM)) – required
  • startTime (int) – optional
  • endTime (int) – optional
  • current (int) – optional - Default 1
  • size (int) – required - Default 10, Max 100
  • recvWindow (int) – the number of milliseconds the request is valid for
transfer_status = client.query_universal_transfer_history(params)
Returns:API response
{
    "total":2,
    "rows":[
        {
            "asset":"USDT",
            "amount":"1",
            "type":"MAIN_UMFUTURE"
            "status": "CONFIRMED",
            "tranId": 11415955596,
            "timestamp":1544433328000
        },
        {
            "asset":"USDT",
            "amount":"2",
            "type":"MAIN_UMFUTURE",
            "status": "CONFIRMED",
            "tranId": 11366865406,
            "timestamp":1544433328000
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
redeem_lending_product(**params)[source]

Redeem Flexible Product

https://binance-docs.github.io/apidocs/spot/en/#redeem-flexible-product-user_data

repay_margin_loan(**params)[source]

Repay loan in cross-margin or isolated-margin account.

If amount is more than the amount borrowed, the full loan will be repaid.

https://binance-docs.github.io/apidocs/spot/en/#margin-account-repay-margin

Parameters:
  • asset (str) – name of the asset
  • amount (str) – amount to transfer
  • isIsolated (str) – set to ‘TRUE’ for isolated margin (default ‘FALSE’)
  • symbol (str) – Isolated margin symbol (default blank for cross-margin)
  • recvWindow (int) – the number of milliseconds the request is valid for
transaction = client.margin_repay_loan(asset='BTC', amount='1.1')

transaction = client.margin_repay_loan(asset='BTC', amount='1.1',
                                        isIsolated='TRUE', symbol='ETHBTC')
Returns:API response
{
    "tranId": 100000001
}
Raises:BinanceRequestException, BinanceAPIException
stream_close(listenKey)[source]

Close out a user data stream.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

Parameters:listenKey (str) – required
Returns:API response
{}
Raises:BinanceRequestException, BinanceAPIException
stream_get_listen_key()[source]

Start a new user data stream and return the listen key If a stream already exists it should return the same key. If the stream becomes invalid a new key is returned.

Can be used to keep the user stream alive.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

Returns:API response
{
    "listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
}
Raises:BinanceRequestException, BinanceAPIException
stream_keepalive(listenKey)[source]

PING a user data stream to prevent a time out.

https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

Parameters:listenKey (str) – required
Returns:API response
{}
Raises:BinanceRequestException, BinanceAPIException
toggle_bnb_burn_spot_margin(**params)[source]

Toggle BNB Burn On Spot Trade And Margin Interest

https://binance-docs.github.io/apidocs/spot/en/#toggle-bnb-burn-on-spot-trade-and-margin-interest-user_data

Parameters:
  • spotBNBBurn (bool) – Determines whether to use BNB to pay for trading fees on SPOT
  • interestBNBBurn (bool) – Determines whether to use BNB to pay for margin loan’s interest
response = client.toggle_bnb_burn_spot_margin()
Returns:API response
{
   "spotBNBBurn":true,
   "interestBNBBurn": false
}
Raises:BinanceRequestException, BinanceAPIException
transfer_dust(**params)[source]

Convert dust assets to BNB.

https://binance-docs.github.io/apidocs/spot/en/#dust-transfer-user_data

Parameters:
  • asset (str) – The asset being converted. e.g: ‘ONE’
  • recvWindow (int) – the number of milliseconds the request is valid for
result = client.transfer_dust(asset='ONE')
Returns:API response
{
    "totalServiceCharge":"0.02102542",
    "totalTransfered":"1.05127099",
    "transferResult":[
        {
            "amount":"0.03000000",
            "fromAsset":"ETH",
            "operateTime":1563368549307,
            "serviceChargeAmount":"0.00500000",
            "tranId":2970932918,
            "transferedAmount":"0.25000000"
        }
    ]
}
Raises:BinanceRequestException, BinanceAPIException
transfer_history(**params)[source]

Get future account transaction history list

https://binance-docs.github.io/apidocs/futures/en/#get-future-account-transaction-history-list-user_data

transfer_isolated_margin_to_spot(**params)[source]

Execute transfer between isolated margin account and spot account.

https://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin

Parameters:
  • asset (str) – name of the asset
  • symbol (str) – pair symbol
  • amount (str) – amount to transfer
  • recvWindow (int) – the number of milliseconds the request is valid for
transfer = client.transfer_isolated_margin_to_spot(asset='BTC',
                                                    symbol='ETHBTC', amount='1.1')
Returns:API response
{
    "tranId": 100000001
}
Raises:BinanceRequestException, BinanceAPIException
transfer_margin_to_spot(**params)[source]

Execute transfer between cross-margin account and spot account.

https://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin

Parameters:
  • asset (str) – name of the asset
  • amount (str) – amount to transfer
  • recvWindow (int) – the number of milliseconds the request is valid for
transfer = client.transfer_margin_to_spot(asset='BTC', amount='1.1')
Returns:API response
{
    "tranId": 100000001
}
Raises:BinanceRequestException, BinanceAPIException
transfer_spot_to_isolated_margin(**params)[source]

Execute transfer between spot account and isolated margin account.

https://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin

Parameters:
  • asset (str) – name of the asset
  • symbol (str) – pair symbol
  • amount (str) – amount to transfer
  • recvWindow (int) – the number of milliseconds the request is valid for
transfer = client.transfer_spot_to_isolated_margin(asset='BTC',
                                                    symbol='ETHBTC', amount='1.1')
Returns:API response
{
    "tranId": 100000001
}
Raises:BinanceRequestException, BinanceAPIException
transfer_spot_to_margin(**params)[source]

Execute transfer between spot account and cross-margin account.

https://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin

Parameters:
  • asset (str) – name of the asset
  • amount (str) – amount to transfer
  • recvWindow (int) – the number of milliseconds the request is valid for
transfer = client.transfer_spot_to_margin(asset='BTC', amount='1.1')
Returns:API response
{
    "tranId": 100000001
}
Raises:BinanceRequestException, BinanceAPIException
universal_transfer(**params)[source]

Unviversal transfer api accross different binance account types

https://binance-docs.github.io/apidocs/spot/en/#user-universal-transfer

withdraw(**params)[source]

Submit a withdraw request.

https://binance-docs.github.io/apidocs/spot/en/#withdraw-sapi

Assumptions:

  • You must have Withdraw permissions enabled on your API key
  • You must have withdrawn to the address specified through the website and approved the transaction via email
Parameters:
  • coin (str) – required
  • withdrawOrderId (str) – optional - client id for withdraw
  • network (str) – optional
  • address (str) – optional
  • amount (decimal) – required
  • transactionFeeFlag (bool) – required - When making internal transfer, true for returning the fee to the destination account; false for returning the fee back to the departure account. Default false.
  • name (str) – optional - Description of the address, default asset value passed will be used
  • recvWindow (int) – the number of milliseconds the request is valid for
Returns:

API response

{
    "id":"7213fea8e94b4a5593d507237e5a555b"
}
Raises:BinanceRequestException, BinanceAPIException

depthcache module

class binance.depthcache.BaseDepthCacheManager(client, symbol, loop=None, refresh_interval=None, bm=None, limit=10, conv_type=<class 'float'>)[source]

Bases: object

DEFAULT_REFRESH = 1800
TIMEOUT = 60
__init__(client, symbol, loop=None, refresh_interval=None, bm=None, limit=10, conv_type=<class 'float'>)[source]

Create a DepthCacheManager instance

Parameters:
  • client (binance.Client) – Binance API client
  • loop
  • symbol (string) – Symbol to create depth cache for
  • refresh_interval (int) – Optional number of seconds between cache refresh, use 0 or None to disable
  • bm (BinanceSocketManager) – Optional BinanceSocketManager
  • limit (int) – Optional number of orders to get from orderbook
  • conv_type (function.) – Optional type to represent price, and amount, default is float.
close()[source]

Close the open socket for this manager

Returns:
get_depth_cache()[source]

Get the current depth cache

Returns:DepthCache object
get_symbol()[source]

Get the symbol

Returns:symbol
recv()[source]
class binance.depthcache.DepthCache(symbol, conv_type=<class 'float'>)[source]

Bases: object

__init__(symbol, conv_type=<class 'float'>)[source]

Initialise the DepthCache

Parameters:
  • symbol (string) – Symbol to create depth cache for
  • conv_type (function.) – Optional type to represent price, and amount, default is float.
add_ask(ask)[source]

Add an ask to the cache

Parameters:ask
Returns:
add_bid(bid)[source]

Add a bid to the cache

Parameters:bid
Returns:
get_asks()[source]

Get the current asks

Returns:list of asks with price and quantity as conv_type.
[
    [
        0.0001955,  # Price
        57.0'       # Quantity
    ],
    [
        0.00019699,
        778.0
    ],
    [
        0.000197,
        64.0
    ],
    [
        0.00019709,
        1130.0
    ],
    [
        0.0001971,
        385.0
    ]
]
get_bids()[source]

Get the current bids

Returns:list of bids with price and quantity as conv_type
[
    [
        0.0001946,  # Price
        45.0        # Quantity
    ],
    [
        0.00019459,
        2384.0
    ],
    [
        0.00019158,
        5219.0
    ],
    [
        0.00019157,
        1180.0
    ],
    [
        0.00019082,
        287.0
    ]
]
static sort_depth(vals, reverse=False, conv_type=<class 'float'>)[source]

Sort bids or asks by price

class binance.depthcache.DepthCacheManager(client, symbol, loop=None, refresh_interval=None, bm=None, limit=500, conv_type=<class 'float'>, ws_interval=None)[source]

Bases: binance.depthcache.BaseDepthCacheManager

__init__(client, symbol, loop=None, refresh_interval=None, bm=None, limit=500, conv_type=<class 'float'>, ws_interval=None)[source]

Initialise the DepthCacheManager

Parameters:
  • client (binance.Client) – Binance API client
  • loop – asyncio loop
  • symbol (string) – Symbol to create depth cache for
  • refresh_interval (int) – Optional number of seconds between cache refresh, use 0 or None to disable
  • limit (int) – Optional number of orders to get from orderbook
  • conv_type (function.) – Optional type to represent price, and amount, default is float.
  • ws_interval (int) – Optional interval for updates on websocket, default None. If not set, updates happen every second. Must be 0, None (1s) or 100 (100ms).
class binance.depthcache.FuturesDepthCacheManager(client, symbol, loop=None, refresh_interval=None, bm=None, limit=10, conv_type=<class 'float'>)[source]

Bases: binance.depthcache.BaseDepthCacheManager

class binance.depthcache.OptionsDepthCacheManager(client, symbol, loop=None, refresh_interval=None, bm=None, limit=10, conv_type=<class 'float'>)[source]

Bases: binance.depthcache.BaseDepthCacheManager

class binance.depthcache.ThreadedDepthCacheManager(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False)[source]

Bases: binance.threaded_stream.ThreadedApiManager

__init__(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False)[source]

Initialise the BinanceSocketManager

start_depth_cache(callback: Callable, symbol: str, refresh_interval=None, bm=None, limit=10, conv_type=<class 'float'>, ws_interval=0) → str[source]
start_futures_depth_socket(callback: Callable, symbol: str, refresh_interval=None, bm=None, limit=10, conv_type=<class 'float'>) → str[source]
start_options_depth_socket(callback: Callable, symbol: str, refresh_interval=None, bm=None, limit=10, conv_type=<class 'float'>) → str[source]

exceptions module

exception binance.exceptions.BinanceAPIException(response, status_code, text)[source]

Bases: Exception

__init__(response, status_code, text)[source]

Initialize self. See help(type(self)) for accurate signature.

exception binance.exceptions.BinanceOrderException(code, message)[source]

Bases: Exception

__init__(code, message)[source]

Initialize self. See help(type(self)) for accurate signature.

exception binance.exceptions.BinanceOrderInactiveSymbolException(value)[source]

Bases: binance.exceptions.BinanceOrderException

__init__(value)[source]

Initialize self. See help(type(self)) for accurate signature.

exception binance.exceptions.BinanceOrderMinAmountException(value)[source]

Bases: binance.exceptions.BinanceOrderException

__init__(value)[source]

Initialize self. See help(type(self)) for accurate signature.

exception binance.exceptions.BinanceOrderMinPriceException(value)[source]

Bases: binance.exceptions.BinanceOrderException

__init__(value)[source]

Initialize self. See help(type(self)) for accurate signature.

exception binance.exceptions.BinanceOrderMinTotalException(value)[source]

Bases: binance.exceptions.BinanceOrderException

__init__(value)[source]

Initialize self. See help(type(self)) for accurate signature.

exception binance.exceptions.BinanceOrderUnknownSymbolException(value)[source]

Bases: binance.exceptions.BinanceOrderException

__init__(value)[source]

Initialize self. See help(type(self)) for accurate signature.

exception binance.exceptions.BinanceRequestException(message)[source]

Bases: Exception

__init__(message)[source]

Initialize self. See help(type(self)) for accurate signature.

exception binance.exceptions.BinanceWebsocketUnableToConnect[source]

Bases: Exception

exception binance.exceptions.NotImplementedException(value)[source]

Bases: Exception

__init__(value)[source]

Initialize self. See help(type(self)) for accurate signature.

helpers module

binance.helpers.convert_ts_str(ts_str)[source]
binance.helpers.date_to_milliseconds(date_str: str) → int[source]

Convert UTC date to milliseconds

If using offset strings add “UTC” to date string e.g. “now UTC”, “11 hours ago UTC”

See dateparse docs for formats http://dateparser.readthedocs.io/en/latest/

Parameters:date_str – date in readable format, i.e. “January 01, 2018”, “11 hours ago UTC”, “now UTC”
binance.helpers.interval_to_milliseconds(interval: str) → Optional[int][source]

Convert a Binance interval string to milliseconds

Parameters:interval – Binance interval string, e.g.: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w
Returns:int value of interval in milliseconds None if interval prefix is not a decimal integer None if interval suffix is not one of m, h, d, w
binance.helpers.round_step_size(quantity: Union[float, decimal.Decimal], step_size: Union[float, decimal.Decimal]) → float[source]

Rounds a given quantity to a specific step size

Parameters:
  • quantity – required
  • step_size – required
Returns:

decimal

websockets module

class binance.streams.BinanceSocketManager(client: binance.client.AsyncClient, loop=None, user_timeout=300)[source]

Bases: object

DSTREAM_TESTNET_URL = 'wss://dstream.binancefuture.com/'
DSTREAM_URL = 'wss://dstream.binance.{}/'
FSTREAM_TESTNET_URL = 'wss://stream.binancefuture.com/'
FSTREAM_URL = 'wss://fstream.binance.{}/'
STREAM_TESTNET_URL = 'wss://testnet.binance.vision/'
STREAM_URL = 'wss://stream.binance.{}:9443/'
VSTREAM_TESTNET_URL = 'wss://testnetws.binanceops.{}/'
VSTREAM_URL = 'wss://vstream.binance.{}/'
WEBSOCKET_DEPTH_10 = '10'
WEBSOCKET_DEPTH_20 = '20'
WEBSOCKET_DEPTH_5 = '5'
__init__(client: binance.client.AsyncClient, loop=None, user_timeout=300)[source]

Initialise the BinanceSocketManager

Parameters:client (binance.AsyncClient) – Binance API client
aggtrade_futures_socket(symbol: str, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>)[source]

Start a websocket for aggregate symbol trade data for the futures stream

Parameters:
  • symbol – required
  • futures_type – use USD-M or COIN-M futures default USD-M
Returns:

connection key string if successful, False otherwise

Message Format

{
    "e": "aggTrade",  // Event type
    "E": 123456789,   // Event time
    "s": "BTCUSDT",    // Symbol
    "a": 5933014,     // Aggregate trade ID
    "p": "0.001",     // Price
    "q": "100",       // Quantity
    "f": 100,         // First trade ID
    "l": 105,         // Last trade ID
    "T": 123456785,   // Trade time
    "m": true,        // Is the buyer the market maker?
}
aggtrade_socket(symbol: str)[source]

Start a websocket for symbol trade data

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#aggregate-trade-streams

Parameters:symbol (str) – required
Returns:connection key string if successful, False otherwise

Message Format

{
    "e": "aggTrade",                # event type
    "E": 1499405254326,             # event time
    "s": "ETHBTC",                  # symbol
    "a": 70232,                             # aggregated tradeid
    "p": "0.10281118",              # price
    "q": "8.15632997",              # quantity
    "f": 77489,                             # first breakdown trade id
    "l": 77489,                             # last breakdown trade id
    "T": 1499405254324,             # trade time
    "m": false,                             # whether buyer is a maker
    "M": true                               # can be ignored
}
all_mark_price_socket(fast: bool = True, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>)[source]

Start a websocket for all futures mark price data By default all symbols are included in an array. https://binance-docs.github.io/apidocs/futures/en/#mark-price-stream-for-all-market :param fast: use faster or 1s default :param futures_type: use USD-M or COIN-M futures default USD-M :returns: connection key string if successful, False otherwise Message Format .. code-block:: python

[
{
“e”: “markPriceUpdate”, // Event type “E”: 1562305380000, // Event time “s”: “BTCUSDT”, // Symbol “p”: “11185.87786614”, // Mark price “r”: “0.00030000”, // Funding rate “T”: 1562306400000 // Next funding time

}

]

all_ticker_futures_socket(futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>)[source]

Start a websocket for all ticker data By default all markets are included in an array. https://binance-docs.github.io/apidocs/futures/en/#all-book-tickers-stream :param futures_type: use USD-M or COIN-M futures default USD-M :returns: connection key string if successful, False otherwise Message Format .. code-block:: python

[
{
“u”:400900217, // order book updateId “s”:”BNBUSDT”, // symbol “b”:”25.35190000”, // best bid price “B”:”31.21000000”, // best bid qty “a”:”25.36520000”, // best ask price “A”:”40.66000000” // best ask qty

}

]

book_ticker_socket()[source]

Start a websocket for the best bid or ask’s price or quantity for all symbols.

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#all-book-tickers-stream

Returns:connection key string if successful, False otherwise

Message Format

{
    // Same as <symbol>@bookTicker payload
}
coin_futures_socket()[source]

Start a websocket for coin futures data

Returns:connection key string if successful, False otherwise

Message Format - see Binance API docs for all types

depth_socket(symbol: str, depth: Optional[str] = None, interval: Optional[int] = None)[source]

Start a websocket for symbol market depth returning either a diff or a partial book

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#partial-book-depth-streams

Parameters:
  • symbol (str) – required
  • depth (str) – optional Number of depth entries to return, default None. If passed returns a partial book instead of a diff
  • interval (int) – optional interval for updates, default None. If not set, updates happen every second. Must be 0, None (1s) or 100 (100ms)
Returns:

connection key string if successful, False otherwise

Partial Message Format

{
    "lastUpdateId": 160,  # Last update ID
    "bids": [             # Bids to be updated
        [
            "0.0024",     # price level to be updated
            "10",         # quantity
            []            # ignore
        ]
    ],
    "asks": [             # Asks to be updated
        [
            "0.0026",     # price level to be updated
            "100",        # quantity
            []            # ignore
        ]
    ]
}

Diff Message Format

{
    "e": "depthUpdate", # Event type
    "E": 123456789,     # Event time
    "s": "BNBBTC",      # Symbol
    "U": 157,           # First update ID in event
    "u": 160,           # Final update ID in event
    "b": [              # Bids to be updated
        [
            "0.0024",   # price level to be updated
            "10",       # quantity
            []          # ignore
        ]
    ],
    "a": [              # Asks to be updated
        [
            "0.0026",   # price level to be updated
            "100",      # quantity
            []          # ignore
        ]
    ]
}
futures_depth_socket(symbol: str, depth: str = '10', futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>)[source]

Subscribe to a depth data stream

https://binance-docs.github.io/apidocs/futures/en/#partial-book-depth-streams

Parameters:
  • symbol (str) – required
  • depth (str) – optional Number of depth entries to return, default 10.
futures_multiplex_socket(streams: List[str], futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>)[source]

Start a multiplexed socket using a list of socket names. User stream sockets can not be included.

Symbols in socket name must be lowercase i.e bnbbtc@aggTrade, neobtc@ticker

Combined stream events are wrapped as follows: {“stream”:”<streamName>”,”data”:<rawPayload>}

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md

Parameters:
  • streams – list of stream names in lower case
  • futures_type – use USD-M or COIN-M futures default USD-M
Returns:

connection key string if successful, False otherwise

Message Format - see Binance API docs for all types

futures_socket()[source]

Start a websocket for futures data

Returns:connection key string if successful, False otherwise

Message Format - see Binance API docs for all types

futures_user_socket()[source]

Start a websocket for coin futures user data

https://binance-docs.github.io/apidocs/futures/en/#user-data-streams

Returns:connection key string if successful, False otherwise

Message Format - see Binanace API docs for all types

index_price_socket(symbol: str, fast: bool = True)[source]

Start a websocket for a symbol’s futures mark price https://binance-docs.github.io/apidocs/delivery/en/#index-price-stream :param symbol: required :param fast: use faster or 1s default :returns: connection key string if successful, False otherwise

Message Format .. code-block:: python

{
“e”: “indexPriceUpdate”, // Event type “E”: 1591261236000, // Event time “i”: “BTCUSD”, // Pair “p”: “9636.57860000”, // Index Price

}

individual_symbol_ticker_futures_socket(symbol: str, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>)[source]

Start a futures websocket for a single symbol’s ticker data https://binance-docs.github.io/apidocs/futures/en/#individual-symbol-ticker-streams :param symbol: required :type symbol: str :param futures_type: use USD-M or COIN-M futures default USD-M :returns: connection key string if successful, False otherwise .. code-block:: python

{
“e”: “24hrTicker”, // Event type “E”: 123456789, // Event time “s”: “BTCUSDT”, // Symbol “p”: “0.0015”, // Price change

}

isolated_margin_socket(symbol: str)[source]

Start a websocket for isolated margin data

https://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin

Parameters:symbol (str) – required - symbol for the isolated margin account
Returns:connection key string if successful, False otherwise

Message Format - see Binance API docs for all types

kline_futures_socket(symbol: str, interval='1m', futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>, contract_type: binance.enums.ContractType = <ContractType.PERPETUAL: 'perpetual'>)[source]

Start a websocket for symbol kline data for the perpeual futures stream

https://binance-docs.github.io/apidocs/futures/en/#continuous-contract-kline-candlestick-streams

Parameters:
  • symbol (str) – required
  • interval (str) – Kline interval, default KLINE_INTERVAL_1MINUTE
  • futures_type – use USD-M or COIN-M futures default USD-M
  • contract_type – use PERPETUAL or CURRENT_QUARTER or NEXT_QUARTER default PERPETUAL
Returns:

connection key string if successful, False otherwise

Message Format

    {
    "e":"continuous_kline",   // Event type
    "E":1607443058651,        // Event time
    "ps":"BTCUSDT",           // Pair
    "ct":"PERPETUAL"          // Contract type
    "k":{
        "t":1607443020000,      // Kline start time
        "T":1607443079999,      // Kline close time
        "i":"1m",               // Interval
        "f":116467658886,       // First trade ID
        "L":116468012423,       // Last trade ID
        "o":"18787.00",         // Open price
        "c":"18804.04",         // Close price
        "h":"18804.04",         // High price
        "l":"18786.54",         // Low price
        "v":"197.664",          // volume
        "n": 543,               // Number of trades
        "x":false,              // Is this kline closed?
        "q":"3715253.19494",    // Quote asset volume
        "V":"184.769",          // Taker buy volume
        "Q":"3472925.84746",    //Taker buy quote asset volume
        "B":"0"                 // Ignore
    }
}
<pair>_<contractType>@continuousKline_<interval>
kline_socket(symbol: str, interval='1m')[source]

Start a websocket for symbol kline data

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#klinecandlestick-streams

Parameters:
  • symbol (str) – required
  • interval (str) – Kline interval, default KLINE_INTERVAL_1MINUTE
Returns:

connection key string if successful, False otherwise

Message Format

{
    "e": "kline",                                   # event type
    "E": 1499404907056,                             # event time
    "s": "ETHBTC",                                  # symbol
    "k": {
        "t": 1499404860000,                 # start time of this bar
        "T": 1499404919999,                 # end time of this bar
        "s": "ETHBTC",                              # symbol
        "i": "1m",                                  # interval
        "f": 77462,                                 # first trade id
        "L": 77465,                                 # last trade id
        "o": "0.10278577",                  # open
        "c": "0.10278645",                  # close
        "h": "0.10278712",                  # high
        "l": "0.10278518",                  # low
        "v": "17.47929838",                 # volume
        "n": 4,                                             # number of trades
        "x": false,                                 # whether this bar is final
        "q": "1.79662878",                  # quote volume
        "V": "2.34879839",                  # volume of active buy
        "Q": "0.24142166",                  # quote volume of active buy
        "B": "13279784.01349473"    # can be ignored
        }
}
margin_socket()[source]

Start a websocket for cross-margin data

https://binance-docs.github.io/apidocs/spot/en/#listen-key-margin

Returns:connection key string if successful, False otherwise

Message Format - see Binance API docs for all types

miniticker_socket(update_time: int = 1000)[source]

Start a miniticker websocket for all trades

This is not in the official Binance api docs, but this is what feeds the right column on a ticker page on Binance.

Parameters:update_time (int) – time between callbacks in milliseconds, must be 1000 or greater
Returns:connection key string if successful, False otherwise

Message Format

[
    {
        'e': '24hrMiniTicker',  # Event type
        'E': 1515906156273,     # Event time
        's': 'QTUMETH',         # Symbol
        'c': '0.03836900',      # close
        'o': '0.03953500',      # open
        'h': '0.04400000',      # high
        'l': '0.03756000',      # low
        'v': '147435.80000000', # volume
        'q': '5903.84338533'    # quote volume
    }
]
multiplex_socket(streams: List[str])[source]

Start a multiplexed socket using a list of socket names. User stream sockets can not be included.

Symbols in socket name must be lowercase i.e bnbbtc@aggTrade, neobtc@ticker

Combined stream events are wrapped as follows: {“stream”:”<streamName>”,”data”:<rawPayload>}

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md

Parameters:streams (list) – list of stream names in lower case
Returns:connection key string if successful, False otherwise

Message Format - see Binance API docs for all types

options_depth_socket(symbol: str, depth: str = '10')[source]

Subscribe to a depth data stream

https://binance-docs.github.io/apidocs/voptions/en/#market-streams-payload-depth

Parameters:
  • symbol (str) – required
  • depth (str) – optional Number of depth entries to return, default 10.
options_kline_socket(symbol: str, interval='1m')[source]

Subscribe to a candlestick data stream

https://binance-docs.github.io/apidocs/voptions/en/#market-streams-payload-candle

Parameters:
  • symbol (str) – required
  • interval (str) – Kline interval, default KLINE_INTERVAL_1MINUTE
options_multiplex_socket(streams: List[str])[source]

Start a multiplexed socket using a list of socket names. User stream sockets can not be included.

Symbols in socket name must be lowercase i.e bnbbtc@aggTrade, neobtc@ticker

Combined stream events are wrapped as follows: {“stream”:”<streamName>”,”data”:<rawPayload>}

https://binance-docs.github.io/apidocs/voptions/en/#account-and-trading-interface

Parameters:streams (list) – list of stream names in lower case
Returns:connection key string if successful, False otherwise

Message Format - see Binance API docs for all types

options_recent_trades_socket(symbol: str)[source]

Subscribe to a latest completed trades stream

https://binance-docs.github.io/apidocs/voptions/en/#market-streams-payload-latest-completed-trades

Parameters:symbol (str) – required
options_ticker_socket(symbol: str)[source]

Subscribe to a 24 hour ticker info stream

https://binance-docs.github.io/apidocs/voptions/en/#market-streams-payload-24-hour-ticker

Parameters:symbol (str) – required
symbol_book_ticker_socket(symbol: str)[source]

Start a websocket for the best bid or ask’s price or quantity for a specified symbol.

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#individual-symbol-book-ticker-streams

Parameters:symbol (str) – required
Returns:connection key string if successful, False otherwise

Message Format

{
    "u":400900217,     // order book updateId
    "s":"BNBUSDT",     // symbol
    "b":"25.35190000", // best bid price
    "B":"31.21000000", // best bid qty
    "a":"25.36520000", // best ask price
    "A":"40.66000000"  // best ask qty
}
symbol_mark_price_socket(symbol: str, fast: bool = True, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>)[source]

Start a websocket for a symbol’s futures mark price https://binance-docs.github.io/apidocs/futures/en/#mark-price-stream :param symbol: required :param fast: use faster or 1s default :param futures_type: use USD-M or COIN-M futures default USD-M :returns: connection key string if successful, False otherwise Message Format .. code-block:: python

{
“e”: “markPriceUpdate”, // Event type “E”: 1562305380000, // Event time “s”: “BTCUSDT”, // Symbol “p”: “11185.87786614”, // Mark price “r”: “0.00030000”, // Funding rate “T”: 1562306400000 // Next funding time

}

symbol_miniticker_socket(symbol: str)[source]

Start a websocket for a symbol’s miniTicker data

https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream

Parameters:symbol (str) – required
Returns:connection key string if successful, False otherwise

Message Format

{
    "e": "24hrMiniTicker",  // Event type
    "E": 123456789,         // Event time
    "s": "BNBBTC",          // Symbol
    "c": "0.0025",          // Close price
    "o": "0.0010",          // Open price
    "h": "0.0025",          // High price
    "l": "0.0010",          // Low price
    "v": "10000",           // Total traded base asset volume
    "q": "18"               // Total traded quote asset volume
}
symbol_ticker_futures_socket(symbol: str, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>)[source]

Start a websocket for a symbol’s ticker data By default all markets are included in an array. https://binance-docs.github.io/apidocs/futures/en/#individual-symbol-book-ticker-streams :param symbol: required :param futures_type: use USD-M or COIN-M futures default USD-M :returns: connection key string if successful, False otherwise .. code-block:: python

[
{
“u”:400900217, // order book updateId “s”:”BNBUSDT”, // symbol “b”:”25.35190000”, // best bid price “B”:”31.21000000”, // best bid qty “a”:”25.36520000”, // best ask price “A”:”40.66000000” // best ask qty

}

]

symbol_ticker_socket(symbol: str)[source]

Start a websocket for a symbol’s ticker data

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#individual-symbol-ticker-streams

Parameters:symbol (str) – required
Returns:connection key string if successful, False otherwise

Message Format

{
    "e": "24hrTicker",  # Event type
    "E": 123456789,     # Event time
    "s": "BNBBTC",      # Symbol
    "p": "0.0015",      # Price change
    "P": "250.00",      # Price change percent
    "w": "0.0018",      # Weighted average price
    "x": "0.0009",      # Previous day's close price
    "c": "0.0025",      # Current day's close price
    "Q": "10",          # Close trade's quantity
    "b": "0.0024",      # Best bid price
    "B": "10",          # Bid bid quantity
    "a": "0.0026",      # Best ask price
    "A": "100",         # Best ask quantity
    "o": "0.0010",      # Open price
    "h": "0.0025",      # High price
    "l": "0.0010",      # Low price
    "v": "10000",       # Total traded base asset volume
    "q": "18",          # Total traded quote asset volume
    "O": 0,             # Statistics open time
    "C": 86400000,      # Statistics close time
    "F": 0,             # First trade ID
    "L": 18150,         # Last trade Id
    "n": 18151          # Total number of trades
}
ticker_socket()[source]

Start a websocket for all ticker data

By default all markets are included in an array.

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#all-market-tickers-stream

Parameters:coro (function) – callback function to handle messages
Returns:connection key string if successful, False otherwise

Message Format

[
    {
        'F': 278610,
        'o': '0.07393000',
        's': 'BCCBTC',
        'C': 1509622420916,
        'b': '0.07800800',
        'l': '0.07160300',
        'h': '0.08199900',
        'L': 287722,
        'P': '6.694',
        'Q': '0.10000000',
        'q': '1202.67106335',
        'p': '0.00494900',
        'O': 1509536020916,
        'a': '0.07887800',
        'n': 9113,
        'B': '1.00000000',
        'c': '0.07887900',
        'x': '0.07399600',
        'w': '0.07639068',
        'A': '2.41900000',
        'v': '15743.68900000'
    }
]
trade_socket(symbol: str)[source]

Start a websocket for symbol trade data

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#trade-streams

Parameters:symbol (str) – required
Returns:connection key string if successful, False otherwise

Message Format

{
    "e": "trade",     # Event type
    "E": 123456789,   # Event time
    "s": "BNBBTC",    # Symbol
    "t": 12345,       # Trade ID
    "p": "0.001",     # Price
    "q": "100",       # Quantity
    "b": 88,          # Buyer order Id
    "a": 50,          # Seller order Id
    "T": 123456785,   # Trade time
    "m": true,        # Is the buyer the market maker?
    "M": true         # Ignore.
}
user_socket()[source]

Start a websocket for user data

https://github.com/binance-exchange/binance-official-api-docs/blob/master/user-data-stream.md https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

Returns:connection key string if successful, False otherwise

Message Format - see Binance API docs for all types

class binance.streams.BinanceSocketType[source]

Bases: str, enum.Enum

An enumeration.

ACCOUNT = 'Account'
COIN_M_FUTURES = 'Coin_M_Futures'
OPTIONS = 'Vanilla_Options'
SPOT = 'Spot'
USD_M_FUTURES = 'USD_M_Futures'
class binance.streams.KeepAliveWebsocket(client: binance.client.AsyncClient, loop, url, keepalive_type, prefix='ws/', is_binary=False, exit_coro=None, user_timeout=None)[source]

Bases: binance.streams.ReconnectingWebsocket

__init__(client: binance.client.AsyncClient, loop, url, keepalive_type, prefix='ws/', is_binary=False, exit_coro=None, user_timeout=None)[source]

Initialize self. See help(type(self)) for accurate signature.

class binance.streams.ReconnectingWebsocket(loop, url: str, path: Optional[str] = None, prefix: str = 'ws/', is_binary: bool = False, exit_coro=None)[source]

Bases: object

MAX_QUEUE_SIZE = 100
MAX_RECONNECTS = 5
MAX_RECONNECT_SECONDS = 60
MIN_RECONNECT_WAIT = 0.1
NO_MESSAGE_RECONNECT_TIMEOUT = 60
TIMEOUT = 10
__init__(loop, url: str, path: Optional[str] = None, prefix: str = 'ws/', is_binary: bool = False, exit_coro=None)[source]

Initialize self. See help(type(self)) for accurate signature.

before_reconnect()[source]
connect()[source]
recv()[source]
class binance.streams.ThreadedWebsocketManager(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False)[source]

Bases: binance.threaded_stream.ThreadedApiManager

__init__(api_key: Optional[str] = None, api_secret: Optional[str] = None, requests_params: Dict[str, str] = None, tld: str = 'com', testnet: bool = False)[source]

Initialise the BinanceSocketManager

start_aggtrade_futures_socket(callback: Callable, symbol: str, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>) → str[source]
start_aggtrade_socket(callback: Callable, symbol: str) → str[source]
start_all_mark_price_socket(callback: Callable, fast: bool = True, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>) → str[source]
start_all_ticker_futures_socket(callback: Callable, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>) → str[source]
start_book_ticker_socket(callback: Callable) → str[source]
start_coin_futures_socket(callback: Callable) → str[source]
start_depth_socket(callback: Callable, symbol: str, depth: Optional[str] = None, interval: Optional[int] = None) → str[source]
start_futures_multiplex_socket(callback: Callable, streams: List[str], futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>) → str[source]
start_futures_socket(callback: Callable) → str[source]
start_index_price_socket(callback: Callable, symbol: str, fast: bool = True) → str[source]
start_individual_symbol_ticker_futures_socket(callback: Callable, symbol: str, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>) → str[source]
start_isolated_margin_socket(callback: Callable, symbol: str) → str[source]
start_kline_futures_socket(callback: Callable, symbol: str, interval='1m', futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>, contract_type: binance.enums.ContractType = <ContractType.PERPETUAL: 'perpetual'>) → str[source]
start_kline_socket(callback: Callable, symbol: str, interval='1m') → str[source]
start_margin_socket(callback: Callable) → str[source]
start_miniticker_socket(callback: Callable, update_time: int = 1000) → str[source]
start_multiplex_socket(callback: Callable, streams: List[str]) → str[source]
start_options_depth_socket(callback: Callable, symbol: str, depth: str = '10') → str[source]
start_options_kline_socket(callback: Callable, symbol: str, interval='1m') → str[source]
start_options_multiplex_socket(callback: Callable, streams: List[str]) → str[source]
start_options_recent_trades_socket(callback: Callable, symbol: str) → str[source]
start_options_ticker_socket(callback: Callable, symbol: str) → str[source]
start_symbol_book_ticker_socket(callback: Callable, symbol: str) → str[source]
start_symbol_mark_price_socket(callback: Callable, symbol: str, fast: bool = True, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>) → str[source]
start_symbol_miniticker_socket(callback: Callable, symbol: str) → str[source]
start_symbol_ticker_futures_socket(callback: Callable, symbol: str, futures_type: binance.enums.FuturesType = <FuturesType.USD_M: 1>) → str[source]
start_symbol_ticker_socket(callback: Callable, symbol: str) → str[source]
start_ticker_socket(callback: Callable) → str[source]
start_trade_socket(callback: Callable, symbol: str) → str[source]