mexc-api-sdk
MEXC Official Market and trade api sdk, easy to connection and send request to MEXC open api !
Table of APIS
Init
//Javascript
import * as Mexc from 'mexc-sdk';
const apiKey = 'apiKey'
const apiSecret = 'apiSecret'
const client = new Mexc.Spot(apiKey, apiSecret);
// Go
package main
import (
"fmt"
"mexc-sdk/mexcsdk"
)
func main() {
apiKey := "apiKey"
apiSecret := "apiSecret"
spot := mexcsdk.NewSpot(apiKey, apiSecret)
}
# python
from mexc_sdk import Spot
spot = Spot(api_key='apiKey', apiSecret='apiSecret')
// java
import Mexc.Sdk.*;
class MyClass {
public static void main(String[] args) {
String apiKey= "apiKey";
String apiSecret= "apiSecret";
Spot mySpot = new Spot(apiKey, apiSecret);
}
}
// dotnet
using System;
using System.Collections.Generic;
using Mxc.Sdk;
namespace dotnet
{
class Program
{
static void Main(string[] args)
{
string apiKey = "apiKey";
string apiSecret= "apiSecret";
var spot = new Spot(apiKey, apiSecret);
}
}
}
Market
Ping
client.ping()
Check Server Time
client.time()
Exchange Information
client.exchangeInfo(options: any)
options:{symbol, symbols}
/**
* choose one parameter
*
* symbol :
* example "BNBBTC";
*
* symbols :
* array of symbol
* example ["BTCUSDT","BNBBTC"];
*
*/
Recent Trades List
client.trades(symbol: string, options: any = { limit: 500 })
options:{limit}
/**
*
* limit :
* Number of returned data
* Default 500;
* max 1000;
*
*/
Order Book
client.depth(symbol: string, options: any = { limit: 100 })
options:{limit}
/**
* limit :
* Number of returned data
* Default 100;
* max 5000;
* Valid:[5, 10, 20, 50, 100, 500, 1000, 5000]
*
*/
Old Trade Lookup
client.historicalTrades(symbol: string, options: any = { limit: 500 })
options:{limit, fromId}
/**
*
* limit :
* Number of returned data
* Default 500;
* max 1000;
*
* fromId:
* Trade id to fetch from. Default gets most recent trades
*
*/
Aggregate Trades List
client.aggTrades(symbol: string, options: any = { limit: 500 })
options:{fromId, startTime, endTime, limit}
/**
*
* fromId :
* id to get aggregate trades from INCLUSIVE
*
* startTime:
* start at
*
* endTime:
* end at
*
* limit :
* Number of returned data
* Default 500;
* max 1000;
*
*/
kline Data
client.klines(symbol: string, interval: string, options: any = { limit: 500 })
options:{ startTime, endTime, limit}
/**
*
* interval :
* m :minute;
* h :Hour;
* d :day;
* w :week;
* M :month
* example : "1m"
*
* startTime :
* start at
*
* endTime :
* end at
*
* limit :
* Number of returned data
* Default 500;
* max 1000;
*
*/
Current Average Price
client.avgPrice(symbol: string)
24hr Ticker Price Change Statistics
client.ticker24hr(symbol?: string)
Symbol Price Ticker
client.tickerPrice(symbol?: string)
Symbol Order Book Ticker
client.bookTicker(symbol?: string)
Trade
Test New Order
client.newOrderTest(symbol: string, side: string, orderType: string, options: any = {})
options:{ timeInForce, quantity, quoteOrderQty, price, newClientOrderId, stopPrice, icebergQty, newOrderRespType, recvWindow}
/**
*
* side:
* Order side
* ENUM:
* BUY
* SELL
*
* orderType:
* Order type
* ENUM:
* LIMIT
* MARKET
* STOP_LOSS
* STOP_LOSS_LIMIT
* TAKE_PROFIT
* TAKE_PROFIT_LIMIT
* LIMIT_MAKER
*
* timeInForce :
* How long an order will be active before expiration.
* GTC: Active unless the order is canceled
* IOC: Order will try to fill the order as much as it can before the order expires
* FOK: Active unless the full order cannot be filled upon execution.
*
* quantity :
* target quantity
*
* quoteOrderQty :
* Specify the total spent or received
*
* price :
* target price
*
* newClientOrderId :
* A unique id among open orders. Automatically generated if not sent
*
* stopPrice :
* sed with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders
*
* icebergQty :
* Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order
*
* newOrderRespType :
* Set the response JSON. ACK, RESULT, or FULL;
* MARKET and LIMIT order types default to FULL, all other orders default to ACK
*
* recvWindow :
* Delay accept time
* The value cannot be greater than 60000
* defaults: 5000
*
*/
New Order
client.newOrder(symbol: string, side: string, orderType: string, options: any = {})
options:{ timeInForce, quantity, quoteOrderQty, price, newClientOrderId, stopPrice, icebergQty, newOrderRespType, recvWindow}
/**
*
* side:
* Order side
* ENUM:
* BUY
* SELL
*
* orderType:
* Order type
* ENUM:
* LIMIT
* MARKET
* STOP_LOSS
* STOP_LOSS_LIMIT
* TAKE_PROFIT
* TAKE_PROFIT_LIMIT
* LIMIT_MAKER
*
* timeInForce :
* How long an order will be active before expiration.
* GTC: Active unless the order is canceled
* IOC: Order will try to fill the order as much as it can before the order expires
* FOK: Active unless the full order cannot be filled upon execution.
*
* quantity :
* target quantity
*
* quoteOrderQty :
* Specify the total spent or received
*
* price :
* target price
*
* newClientOrderId :
* A unique id among open orders. Automatically generated if not sent
*
* stopPrice :
* sed with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders
*
* icebergQty :
* Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order
*
* newOrderRespType :
* Set the response JSON. ACK, RESULT, or FULL;
* MARKET and LIMIT order types default to FULL, all other orders default to ACK
*
* recvWindow :
* Delay accept time
* The value cannot be greater than 60000
* defaults: 5000
*
*/
cancel-order
client.cancelOrder(symbol: string, options:any = {})
options:{ orderId, origClientOrderId, newClientOrderId}
/**
*
* Either orderId or origClientOrderId must be sent
*
* orderId:
* target orderId
*
* origClientOrderId:
* target origClientOrderId
*
* newClientOrderId:
* Used to uniquely identify this cancel. Automatically generated by default.
*
*/
Cancel all Open Orders on a Symbol
client.cancelOpenOrders(symbol: string)
Query Order
client.queryOrder(symbol: string, options:any = {})
options:{ orderId, origClientOrderId}
/**
*
* Either orderId or origClientOrderId must be sent
*
* orderId:
* target orderId
*
* origClientOrderId:
* target origClientOrderId
*
*/
Current Open Orders
client.openOrders(symbol: string)
All Orders
client.allOrders(symbol: string, options: any = { limit: 500 })
options:{ orderId, startTime, endTime, limit}
/**
*
* orderId:
* target orderId
*
* startTime:
* start at
*
* endTime:
* end at
*
* limit :
* Number of returned data
* Default 500;
* max 1000;
*
*/
Account Information
client.accountInfo()
Account Trade List
client.accountTradeList(symbol: string, options:any = { limit: 500 })
options:{ orderId, startTime, endTime, fromId, limit}
/**
*
* orderId:
* target orderId
*
* startTime:
* start at
*
* endTime:
* end at
*
* fromId:
* TradeId to fetch from. Default gets most recent trades
*
* limit :
* Number of returned data
* Default 500;
* max 1000;
*
*/