Skip to main content

Rate Limit

IP Rate Limit

HTTP IP limit

You are allowed to send 600 requests within a 5-second window per IP by default. This limit applies to all traffic directed to api.zoomex.com. If you encounter the error "403, access too frequent", it indicates that your IP has exceeded the allowed request frequency. In this case, you should terminate all HTTP sessions and wait for at least 10 minutes. The ban will be lifted automatically.

We do not recommend running your application at the very edge of these limits in case abnormal network activity results in an unexpected violation.

Websocket IP limit

Do not establish more than 500 connections within a 5-minute window. This limit applies to all connections directed to stream.zoomex.com as well as local site hostnames such as stream.zoomex.kz. Do not frequently connect and disconnect the connection Do not establish more than 1,000 connections per IP for market data. The connection limits are counted separately for Spot, Linear, and Inverse markets

API Rate Limit

caution

If you receive "ret_msg": "Too many visits!" in the JSON response, you have hit the API rate limit.

The API rate limit is based on the rolling time window per second and UID. In other words, it is per second per UID. Every request to the API returns response header shown in the code panel:

  • X-Bapi-Limit-Status - your remaining requests for current endpoint
  • X-Bapi-Limit - your current limit for current endpoint
  • X-Bapi-Limit-Reset-Timestamp - the timestamp indicating when your request limit resets if you have exceeded your rate_limit. Otherwise, this is just the current timestamp (it may not exactly match timeNow).

Http Response Header Example

▶Response Headers
Content-Type: application/json; charset=utf-8
Content-Length: 141
X-Bapi-Limit: 100
X-Bapi-Limit-Status: 99
X-Bapi-Limit-Reset-Timestamp: 1672738134824

API Rate Limit Table

Trade

MethodPathlinearinverseupgradable
POST/cloud/trade/v3/order/create10 req/s10 req/sY
/cloud/trade/v3/order/amend10 req/s10 req/sY
/cloud/trade/v3/order/cancel10 req/s10 req/sY
/cloud/trade/v3/order/cancel-all10 req/s10 req/sN
GET/cloud/trade/v3/order/realtime10 req/s10 req/sN
/cloud/trade/v3/order/history10 req/s10 req/sN

Position

MethodPathlinear/inverseupgradable
GET/cloud/trade/v3/position/list10 req/sN
/cloud/trade/v3/execution/list10 req/sN
/cloud/trade/v3/position/closed-pnl10 req/sN
POST/cloud/trade/v3/position/set-leverage10 req/sN
/cloud/trade/v3/position/set-tpsl-mode10 req/sN
/cloud/trade/v3/position/set-risk-limit10 req/sN
/cloud/trade/v3/position/trading-stop10 req/sN

Account

MethodPathLimitupgradable
GET/cloud/trade/v3/account/wallet-balance10 req/sN
/cloud/trade/v3/account/fee-rate10 req/sN

API Rate Limit Rules For VIPs/PROs

info
  • The values in the table represent the application upper limit of the corresponding level, and do not mean that users at this level will automatically enjoy the corresponding API Rate Limit by default.
instructions for batch endpoints
  • API for batch create/amend/cancel order, the frequency of the API will be consistent with the current configuration, but the counting consumption will be consumed according to the actual number of orders. (Number of consumption = number of requests * number of orders included in a single request), and the configuration of business lines is independent of each other.

  • The batch APIs allows 1-20 orders/request. For example, if a batch order request is made once and contains 10 orders, then the request limit will consume 10.

  • If part of the last batch of orders requested within 1s exceeds the limit, the part that exceeds the limit will fail, and the part that does not exceed the limit will succeed. For example, in the 1 second, the limit is 10, but a batch request containing 15 orders is placed at this time, then the first 10 orders will be successfully placed, and the 11-15th orders will report an error exceeding the limit, and these orders will fail.

Normal account
Level\ProductFutures
Default10/s
VIP 120/s
VIP 240/s
VIP 3 - Supreme VIP60/s
PRO1100/s
PRO2150/s
PRO3200/s

UID level

Level\ProductFuturesSpot
PRO1200/s200/s
PRO2400/s400/s
PRO3600/s600/s
PRO4800/s800/s
PRO51000/s1000/s
PRO61200/s1200/s

Master and subaccounts level

Level\ProductFuturesSpot
PRO110000/s10000/s
PRO220000/s20000/s
PRO330000/s30000/s
PRO440000/s40000/s
PRO550000/s50000/s
PRO660000/s60000/s

Set api rate limit

API rate limit: 50 req per second

info
  • If UID requesting this endpoint is a master account, uids in the input parameter must be subaccounts of the master account.
  • If UID requesting this endpoint is not a master account, uids in the input parameter must be the UID requesting this endpoint.
  • UID requesting this endpoint must be an institutional user.

HTTP Request

POST /cloud/trade/v3/apilimit/set

Request Parameters

ParameterRequiredTypeComments
listtruearrayObject
> uidstruestringMultiple UIDs, separated by commas
> bizTypetruestringBusiness type
> ratetrueintegerapi rate limit per second

Response Parameters

ParameterTypeComments
listarrayObject
> uidsstringMultiple UIDs, separated by commas
> bizTypestringBusiness type
> rateintegerapi rate limit per second
> successbooleansuccess or not
> msgstringresult message

Request Example

POST /cloud/trade/v3/apilimit/set HTTP/1.1
Host: openapi-testnet.zoomex.com
X-BAPI-SIGN: XXXXXXX
X-BAPI-API-KEY: xxxxxxxxxxxxxxxxxx
X-BAPI-TIMESTAMP: 1711420489915
X-BAPI-RECV-WINDOW: 5000
Content-Type: application/json

{
"list": [
{
"uids": "106293838",
"bizType": "DERIVATIVES",
"rate": 50
}
]
}

Response Example

{
"retCode": 0,
"retMsg": "success",
"result": {
"result": [
{
"uids": "290118",
"bizType": "SPOT",
"rate": 600,
"success": true,
"msg": "API limit updated successfully"
}
]
},
"retExtInfo": {},
"time": 1754894296913
}

Query api rate limit

API rate limit: 50 req per second

info
  • A master account can query api rate limit of its own and subaccounts.
  • A subaccount can only query its own api rate limit.

HTTP Request

GET /cloud/trade/v3/apilimit/query

Request Parameters

ParameterRequiredTypeComments
uidstruestringMultiple UIDs, separated by commas

Response Parameters

ParameterTypeComments
listarrayObject
> uidsstringMultiple UIDs, separated by commas
> bizTypestringBusiness type
> rateintegerapi rate limit per second

Request Example

GET /cloud/trade/v3/apilimit/query?uids=290118 HTTP/1.1
Host: openapi-testnet.zoomex.com
X-BAPI-SIGN: XXXXXXX
X-BAPI-API-KEY: xxxxxxxxxxxxxxxxxx
X-BAPI-TIMESTAMP: 1728460942776
X-BAPI-RECV-WINDOW: 5000
Content-Type: application/json
Content-Length: 2

Response Example

{
"retCode": 0,
"retMsg": "success",
"result": {
"list": [
{
"uids": "290118",
"bizType": "SPOT",
"rate": 600
},
{
"uids": "290118",
"bizType": "DERIVATIVES",
"rate": 400
}
]
},
"retExtInfo": {},
"time": 1754894341984
}

How to increase API Limit

Please contact your client manager or email to support@zoomex.com with the following information. We will reply within 1-4 working days:

  1. Your name and your company details
  2. Your Zoomex UID or registered email, and the assets you are trading
  3. General description of your trading strategy and reasons for higher rate limits
  4. Screenshot of previous monthly trading volume (maker/taker) on other platforms
  5. Optional: your order history in CSV format