Skip to main content

Rate limit tiers

TinyFn uses rate limiting to ensure fair usage and maintain API stability.
PlanPriceRequests/monthRequests/minute
Free$010010
Starter$5/mo10,000100
Pro$15/mo100,0001,000

Rate limit headers

Every API response includes headers showing your current usage:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640995200
HeaderDescription
X-RateLimit-LimitYour rate limit per minute
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the limit resets

Rate limit exceeded

When you exceed your rate limit, you’ll receive a 429 Too Many Requests response:
{
  "error": "Rate limit exceeded",
  "code": "RATE_LIMIT_EXCEEDED",
  "retry_after": 60
}

Best practices

When you receive a 429 response, wait before retrying:
import time

def make_request_with_retry(url, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)
        if response.status_code == 429:
            wait_time = 2 ** attempt  # 1, 2, 4 seconds
            time.sleep(wait_time)
            continue
        return response
    raise Exception("Max retries exceeded")
For endpoints with stable outputs (like validation), cache results to reduce API calls.
Where possible, combine multiple operations into fewer requests.

Need higher limits?

Upgrade your plan

Get higher rate limits with Pro or Business plans