Docs
API Reference

Rate Limiting

API rate limits and how to handle them gracefully.

Limits

The Ticket0 API is rate-limited to 1,000 requests per minute per API key. Limits are applied per key, not per IP.

Rate limit headers

Every API response includes headers indicating your current usage:

HeaderDescription
X-RateLimit-LimitMaximum requests per minute
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets

When you exceed the limit

If you exceed 1,000 requests per minute, the API returns:

HTTP 429 Too Many Requests
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded. Retry after 2025-01-15T10:31:00Z",
    "retryAfter": "2025-01-15T10:31:00Z"
  }
}

Pagination

Use cursor-based pagination to retrieve large result sets efficiently rather than making many small requests.

Responses that support pagination include a nextCursor field. Pass it as the cursor query parameter in your next request:

# First page
curl "https://app.ticket0.ai/api/v1/tickets?limit=100" \
  -H "Authorization: Bearer t0_your_api_key"

# Next page (using cursor from previous response)
curl "https://app.ticket0.ai/api/v1/tickets?limit=100&cursor=cur_01abc..." \
  -H "Authorization: Bearer t0_your_api_key"

When nextCursor is null, you've reached the last page.

Best practices

  • Use the maximum limit (100) when fetching large datasets to reduce request count
  • Implement exponential backoff when you receive a 429 response
  • Cache responses that don't change frequently (e.g. tag lists)
  • Use webhooks for real-time events instead of polling the API

On this page