Skip to main content

Rate Limiting

Cinephage implements rate limiting to ensure fair usage and system stability.

Current Policy

The public API uses tiered rate limits based on authentication level:

AuthenticationRate LimitScope
Unauthenticated60 requests/hourPer IP address
API Key10,000 requests/hourPer key
Streaming API Key10,000 requests/hourPer key (live TV/EPG only)

Rate Limit Headers

All API responses include rate limit information:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed
X-RateLimit-RemainingRequests remaining in window
X-RateLimit-ResetUnix timestamp when limit resets

Exceeding the Limit

When you exceed the rate limit, the API returns:

  • Status: 429 Too Many Requests
  • Body: Error message with retry timing
  • Header: Retry-After with seconds to wait

Best Practices

  • Cache responses - Don't repeat identical requests
  • Use streaming keys - For media server integrations, use the limited-scope Streaming API Key
  • Handle 429s gracefully - Back off and retry with exponential delay
  • Monitor usage - Check the X-RateLimit-Remaining header

See Also