Rate limiting
The Tella public API and MCP server implement rate limiting to ensure fair usage and protect the service for all users.Current limits
All API keys and external MCP connections used by the same user in a workspace
share one 100-request-per-minute limit.
Video analytics
Video analytics (GET /v1/videos/{id}/analytics and the get_video_analytics MCP tool) also has a separate limit of 30 requests per minute for each workspace, shared by every user and key in that workspace. Each request still counts toward the 100-request limit. The rate limit headers show only the 100-request limit, but the 429 response and the MCP error work the same way for both limits.
To sync analytics for many videos, spread the requests out or use workspace analytics, which lists each video’s views, sessions and average percent viewed, up to 100 videos per page.
Rate limit headers
Every REST API response includes headers with rate limit information:RateLimit-Policy and RateLimit use the structured HTTP rate-limit fields. The X-RateLimit-* headers remain available for compatibility with existing integrations.
Example response headers
Handling rate limits
REST API requests
When a REST API request exceeds the limit, you’ll receive a429 status code:
Retry-After with the number of seconds to wait before retrying.
MCP tool calls
When an MCP tool call exceeds the limit, the server returns a tool error instead of an HTTP429 response. The result includes the number of seconds to wait and marks the error as retryable:
Best practices
Check remaining requests
Check remaining requests
Monitor the
X-RateLimit-Remaining header and slow down before hitting the limit.Respect retry timing
Respect retry timing
When you receive a REST API
429, respect Retry-After. For a retryable MCP error, wait for the duration in its text content before retrying:Use the reset timestamp
Use the reset timestamp
The
X-RateLimit-Reset header tells you exactly when your limit resets, in Unix epoch milliseconds:Batch requests efficiently
Batch requests efficiently
Instead of making many small requests, use pagination efficiently:
Rate limit scope
The 100-request-per-minute limit is per user within a workspace. All API keys and external MCP connections used by the same user share it; other users in the workspace have independent 100-request limits. REST API requests and MCP tool calls both count toward this limit. The 30-request-per-minute video analytics limit is shared across the workspace. Requests toGET /v1/videos/{id}/analytics and calls to get_video_analytics from any user or key in that workspace count toward the same 30-request limit, as well as the caller’s 100-request limit.