Deriv API
Documentation
Advanced

Limits

Deriv rate limits the WebSocket and REST APIs to keep them responsive for everyone. This page lists the limits that apply and how they are counted.

How limits work

The two APIs count requests differently. On the WebSocket API, related calls share one per-minute and per-hour budget. On the REST API, each request counts against the IP address it comes from and, once you are logged in, against your account as well.

WebSocket limits

Each row below is one budget, shared by the calls beside it. Requests to any of those calls draw on the same counter: 20 requests to one call and 20 to another use 40 of that row's per-minute limit, not 20 each.

The per-minute and per-hour limits apply at the same time, so you can reach the hourly limit while staying inside the per-minute one. Plan your request rate against the row, not the single call.

Calls counted togetherPer minutePer hour
proposalproposal_open_contractbuysell36014,400
balancestatement1002,000
portfolioprofit_table301,500
All other calls22014,400

ping sits outside these budgets. Each connection can send 10 pings per second.

REST API limits

These limits apply to every REST endpoint. Each request counts against the IP address it comes from and, once you are logged in, against your account as well.

Counted againstWindowLimit
IP address1 minute300 requests
IP address10 minutes1,000 requests
Logged-in user1 minute80 requests

Once you are logged in, you reach the 80-per-minute account limit first. Spreading requests across several IP addresses does not raise it.

Contact [email protected] if you have questions about the limits that apply to your application.

Read the Best practices guide for the habits that keep you inside these limits: subscribe instead of polling, reuse one connection, pace your bursts, and back off after a rejected request.

We provide these limits for reference and reserve the right to change them at any time.

Click to open live chat support. Get instant help from our support team.