Rate and request limits at DataForSEO ensure the stability and efficiency of our services by helping us maintain optimal performance for all users and protect our infrastructure from potential overloads.
First off, let’s consider what types of limits we apply.
➤ Rate limits indicate the number of API requests you can make within a specified time frame. They are put in place to prevent abuse or overuse of the API, which can degrade performance for all users. At DataForSEO, rate limits are expressed as the number of requests per minute.
➤ Simultaneous request limits refer to the maximum number of concurrent requests you can make. These limits are important for managing the load on the server and ensuring it can efficiently handle multiple clients.
➤ Task limits correspond to the maximum number of tasks you can include in a single request.
Here’s a detailed look at the DataForSEO API limits and how they apply.
General rate limit
The general rate limit for DataForSEO API is 2,000 requests per minute. If your project requires a higher limit, please contact our support team to discuss a custom increase.
Endpoint-specific rate limits
The general rate limit does not apply to the following APIs/endpoints, which have specific limits:
➤ Live Google Ads endpoints in Keyword Data API: 12 requests per minute. For higher volume, use the Standard method with separate task_post
and task_get
endpoints. The Standard method allows sending up to 2000 API calls per minute, with each POST call containing up to 100 tasks.
➤ Live Google Trends endpoints in Keyword Data API: our system can process a total of 250 Live tasks per minute across all users. You can submit more Live requests, however, note that they might not be completed in time. You may receive limit-related errors if over 250 Live ‘Google Trends Explore’ tasks are sent to our system within a minute. It’s recommended to use the Standard method with separate task_post
and task_get
endpoints.
➤ User Data endpoint: 6 requests per minute.
➤ API Status endpoint: 10 requests per minute.
➤ Errors endpoint: 10 requests per minute.
➤ Tasks Ready endpoints: 20 requests per minute. Using callbacks is recommended for better performance.
Recommended task limit
To ensure optimal API performance, we recommend setting up to 100 tasks per request for task_post
endpoints.
Simultaneous request limits
For endpoints working with our databases, the maximum number of simultaneous requests is limited to 30. This limit safeguards our system and our customers against scenarios in which a client’s application malfunctions and starts sending thousands of requests at once. By capping simultaneous requests at 30, we ensure that all users have a smooth and reliable experience.
This applies to the following APIs:
➤ Сontent Analysis API
➤ DataForSEO Trends API
➤ DataForSEO Labs API
➤ Backlinks API
When using any of these APIs, you can make no more than 30 simultaneous requests to each.
Let’s break down what it means.
If our average response time is 1 second per request, you can make 30 requests every second (or run 30 threads), resulting in a maximum of 1,800 requests per minute (30
requests * 60
seconds). If you send over 1,800 requests simultaneously, we will return an error indicating too many simultaneous requests.
Our API response times can vary depending on the endpoint and the payload, so the number of requests you can make per minute will also vary. Here are some examples to illustrate this.
Short requests: For instance, if you send a request to the Historical Google Search Volume endpoint with 2 words, the response time will be around 35ms. Thus, in one minute (60,000ms) one thread can handle:
60,000ms
/ 35ms
= 1,714
requests per minute.
With 30 simultaneous requests (or 30 threads), you can make approximately:
1,714
* 30
= 51,420
requests per minute.
Longer requests: If you send a request with 643 words to the same endpoint, the response time will be around 260ms. Therefore, one thread can handle 60,000ms
/ 260ms
= 230
requests per minute. With 30 simultaneous requests, you can make approximately 230
* 30
= 6,900
requests per minute.
Complex requests: For a complex task with a response time of, let’s say, 850ms, one thread can handle 60,000ms
/ 850ms
= 70
requests per minute. With 30 simultaneous requests, you can make approximately 70
* 30
= 2,100
requests per minute.
By understanding these limits and response times, you can optimize your API usage and ensure efficient data retrieval. If you have any questions or need further assistance, please contact our support team.