I tried to comment on the other answer, but my rep isn't high enough. I wanted to point out that Nick's presumption about using the counter makes sense but doesn't answer the question, which, assuming his presumption is correct, leaves this unanswered: When is the counter reset?
I would implement it this way, and (to be safe) assume that this is how they did it: On each request, if the number of requests matching either your account or your IP (or both) in the last 60 seconds is over 60, then the request is denied. This means that one of the "60 requests at once during the first second of the second minute" would get answered and the rest would fail. There would be no counter, but instead a record of all requests (IP, account, timestamp) that is purged of records over a minute old as often as necessary to keep the server healthy.
How do you measure the amount of the requests? Do you make it every minute or you start a minute and calculation only when the new request arrives after a delay?
Can I for ex. make one request every second during one minute and then make 60 requests at once during the first second of the second minute? – shinydev – 2015-05-20T21:03:19.723
@Roces Presumably, they do it by incrementing a counter every time a request comes in. Or am I misinterpreting your question? – Nick ODell – 2015-05-20T21:04:52.507
@NickODell sorry, updated my question. Hit enter too early. – shinydev – 2015-05-20T21:07:05.103
1What about WebSocket technology from Binance? Are there any rate limits? – Konstantin – 2018-01-22T17:19:52.877