Binance connector in Nodejs
This is a lightweight library that works as a connector to Binance public API. It’s designed to be simple, clean, and easy to use with minimal dependencies.
- Source Code: https://github.com/binance/binance-connector-node
- Official API document:
- Support channels:
- Binance developer forum: https://dev.binance.vision/
- Telegram Channel: https://t.me/binance_api_english
- API key setup: https://www.binance.com/en-NG/support/faq/360002502072
- Testnet API key setup: https://dev.binance.vision/t/99
Features
- Supported APIs:
/api/*
/sapi/*
- Spot Websocket Market Stream
- Spot User Data Stream
- Inclusion of test cases and examples
- Customizable base URL, request timeout and HTTP proxy
- Response metadata can be displayed
- Customizable Logger
Quick Start
Installation
cd <your_project_directory>
npm install @binance/connector
Usage
RESTful APIs
const { Spot } = require('@binance/connector')
const apiKey = ''
const apiSecret = ''
const client = new Spot(apiKey, apiSecret)
// Get account information
client.account().then(response => client.logger.log(response.data))
// Place a new order
client.newOrder('BNBUSDT', 'BUY', 'LIMIT', {
price: '350',
quantity: 1,
timeInForce: 'GTC'
}).then(response => client.logger.log(response.data))
.catch(error => client.logger.error(error))
Websocket Stream
const { WebsocketStream } = require('@binance/connector')
const logger = new Console({ stdout: process.stdout, stderr: process.stderr })
// define callbacks for different events
const callbacks = {
open: () => logger.debug('Connected with Websocket server'),
close: () => logger.debug('Disconnected with Websocket server'),
message: data => logger.info(data)
}
const websocketStreamClient = new WebsocketStream({ logger, callbacks })
// subscribe ticker stream
websocketStreamClient.ticker('bnbusdt')
// close websocket stream
setTimeout(() => websocketStreamClient.disconnect(), 6000)
WebSocket API
const { WebsocketAPI } = require('@binance/connector')
const logger = new Console({ stdout: process.stdout, stderr: process.stderr })
// callbacks for different events
const callbacks = {
open: (client) => {
logger.debug('Connected with Websocket server')
// send message to get orderbook info after connection open
client.orderbook('BTCUSDT')
client.orderbook('BNBUSDT', { limit: 10 })
},
close: () => logger.debug('Disconnected with Websocket server'),
message: data => logger.info(data)
}
const websocketAPIClient = new WebsocketAPI(null, null, { logger, callbacks })
// disconnect the connection
setTimeout(() => websocketAPIClient.disconnect(), 20000)
More websocket examples are available in the examples
folder