- All endpoints return either a JSON object or array.
- Data is returned in ascending order. Oldest first, newest last.
- All time and timestamp related fields are in milliseconds.
- HTTP
4XX
return codes are used for for malformed requests;
the issue is on the sender's side.
- HTTP
429
return code is used when breaking a request rate limit.
- HTTP
418
return code is used when an IP has been auto-banned for continuing to send requests after receiving 429
codes.
- HTTP
5XX
return codes are used for internal errors; the issue is on
Binance's side.
It is important to NOT treat this as a failure operation; the execution status is
UNKNOWN and could have been a success.
- Any endpoint can return an ERROR; the error payload is as follows:
{
"code": -1121,
"msg": "Invalid symbol."
}
- Specific error codes and messages defined in another document.
- For
GET
endpoints, parameters must be sent as a query string
.
- For
POST
, PUT
, and DELETE
endpoints, the parameters may be sent as a
query string
or in the request body
with content type
application/x-www-form-urlencoded
. You may mix parameters between both the
query string
and request body
if you wish to do so.
- Parameters may be sent in any order.
- If a parameter sent in both the
query string
and request body
, the
query string
parameter will be used.
IP Limits
- Every request will contain
X-MBX-USED-WEIGHT-(intervalNum)(intervalLetter)
in the response headers which has the current used weight for the IP for all request rate limiters defined.
- Each route has a
weight
which determines for the number of requests each endpoint counts for. Heavier endpoints and endpoints that do operations on multiple symbols will have a heavier weight
.
- When a 429 is received, it's your obligation as an API to back off and not spam the API.
- Repeatedly violating rate limits and/or failing to back off after receiving 429s will result in an automated IP ban (HTTP status 418).
- IP bans are tracked and scale in duration for repeat offenders, from 2 minutes to 3 days.
- A
Retry-After
header is sent with a 418 or 429 responses and will give the number of seconds required to wait, in the case of a 429, to prevent a ban, or, in the case of a 418, until the ban is over.
- The limits on the API are based on the IPs, not the API keys.
Endpoint Security Type
- Each endpoint has a security type that determines the how you will
interact with it.
- API-keys are passed into the Rest API via the
X-MBX-APIKEY
header.
- API-keys and secret-keys are case sensitive.
- API-keys can be configured to only access certain types of secure endpoints.
For example, one API-key could be used for TRADE only, while another API-key
can access everything except for TRADE routes.
- By default, API-keys can access all secure routes.
Security Type |
Description |
TRADE |
Endpoint requires sending a valid API-Key and signature. |
USER_DATA |
Endpoint requires sending a valid API-Key and signature. |
Note
Request Parameters
Email address
- Email address should be encoded. e.g. alice@test.com should be encoded into alice%40test.com
- Email address should be in lower case.