Understanding API limitations and specifications helps you optimize performance, plan capacity, and avoid throttling. This guide covers rate limits, driver capabilities, request constraints, and best practices.
Overview
Nimble’s API implements tiered specifications based on:
Driver selection : Different drivers have different rate limits
Request complexity : Complex operations may have additional constraints
Resource usage : Fair usage policies ensure platform stability
Drivers
Nimble offers different drivers optimized for various use cases:
Driver Description Best For vx6HTTP requests without rendering Static pages, simple HTML vx8JavaScript rendering Dynamic content, AJAX vx10Stealth browser mode Protected sites, complex sites vx12Full browser automation Social media, interactive platforms
Each driver has different pricing and rate limits. Higher-tier drivers cost more per request.
Rate Limits
Default rate limits by driver
All accounts have the following default rate limits:
Driver Rate Limit vx6, vx8, vx1083 QPS (5,000 QPM) vx1220 QPS (1,200 QPM)
Need higher limits? Reach out to your CS or open a via a Support Ticket to discuss custom rate limits based on your requirements.
Every response includes metadata headers:
ratelimit-limit: 20
ratelimit-remaining: 15
x-task-id: 8e8cfde8-345b-42b8-b3e2-0c61eb11e00f
Use these headers to:
Monitor rate limit usage
Track request IDs for debugging
Optimize driver selection
Measure performance
Handling rate limits
When you exceed rate limits, the API returns a 429 status code:
{
"status" : "failed" ,
"msg" : "Rate limit exceeded"
}
Best practices:
Implement exponential backoff on 429 responses
Use the retry_after value to schedule next request
Monitor rate limit headers in responses
Batch requests when possible
Use lower-tier drivers when sufficient
HTTP status codes
Success codes
Code Status Description 200 OK Request succeeded and data was returned successfully
Client error codes
Code Status Description 400 Bad Request Invalid URL, malformed parameters, or missing required fields 401 Unauthorized Account doesn’t exist, invalid API key, or missing credentials 402 Payment Required No budget, limit reached, trial expired, or trial quota finished 403 Forbidden Account blocked or not activated 429 Too Many Requests Rate limit exceeded for your plan
Server error codes
Code Status Description 500 Internal Server Error Unexpected server-side error occurred 501 Not Implemented Proxy service encountered an error 555 Request Timeout Request exceeded maximum execution time
Nimble automatically retries failed requests before returning a final failure status (500)