Skip to main content

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 a 429 status code:
The response also includes 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 HTTP 429 response. The result includes the number of seconds to wait and marks the error as retryable:
Wait for the duration in the first text content block before retrying the tool call.

Best practices

Monitor the X-RateLimit-Remaining header and slow down before hitting the limit.
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:
The X-RateLimit-Reset header tells you exactly when your limit resets, in Unix epoch milliseconds:
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 to GET /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.

Need higher limits?

If your use case requires higher rate limits, please contact us to discuss your needs.
Last modified on September 29, 2026