Skip to main content

Rate Limits & Errors

Rate Limits

The TechLadder API enforces rate limits to ensure fair usage and platform stability.

LimitDefaultDescription
Requests per minute300Total API calls per minute per API key
Max batch size10,000Maximum contacts per batch
Max concurrent calls20Simultaneous active calls per account
Max call duration900s (15 min)Maximum duration per individual call
tip

If you need higher limits, contact us at info@techladder.ai to discuss your requirements.

Rate Limit Headers

Every response includes rate limit information in the headers:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 295
X-RateLimit-Reset: 1715698800

Handling Rate Limits

When you exceed the rate limit, you'll receive a 429 response:

{
"status_code": 429,
"message": "Rate limit exceeded. Please retry after 30 seconds.",
"error": {
"code": "RATE_LIMITED",
"details": ["Maximum 300 requests per minute"]
},
"data": null
}

Best practice: Implement exponential backoff with jitter:

import time
import random

def make_request_with_retry(func, max_retries=3):
for attempt in range(max_retries):
response = func()
if response.status_code != 429:
return response
wait = (2 ** attempt) + random.uniform(0, 1)
time.sleep(wait)
raise Exception("Max retries exceeded")

HTTP Status Codes

CodeMeaningDescription
200OKRequest succeeded
201CreatedResource created successfully
202AcceptedRequest accepted for processing (async)
400Bad RequestInvalid request body or parameters
401UnauthorizedMissing or invalid API key
403ForbiddenInsufficient permissions
404Not FoundResource does not exist
422Validation ErrorRequest body failed validation
429Rate LimitedToo many requests
500Server ErrorInternal server error — contact support

Common Error Codes

Error CodeHTTP StatusDescription
UNAUTHORIZED401API key is missing or invalid
FORBIDDEN403API access not enabled for account
NOT_FOUND404The requested resource was not found
VALIDATION_ERROR422Request body contains invalid data
BATCH_SIZE_EXCEEDED400Batch exceeds maximum contact limit
DUPLICATE_PHONE400Duplicate phone number in batch
INVALID_PHONE422Phone number format is invalid
RATE_LIMITED429Rate limit exceeded
BATCH_ALREADY_STARTED409Batch has already been started
BATCH_NOT_STARTABLE422Batch is not in a startable state