For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Developer Tools
CommunityContact UsConsole
DocsAPI Reference
DocsAPI Reference
  • Getting Started
    • Welcome to Frame.io V2 API
    • Key Concepts
    • Authentication
  • Migration
    • V2 to V4 Migration Guide
  • OAuth 2 Applications
    • OAuth 2 Code Authorization Flow
    • Building an OAuth2 App
    • Refreshing OAuth 2 Tokens
  • Workflows - Assets
    • Reading the File Tree
    • Uploading Assets
    • Manage Version Stacks
    • Working with Annotations
    • Search for Assets
  • Workflows - Projects
    • Working with Review Links
    • Gather All Comments from a Project
  • Workflows - Admin
    • User Management
    • Working with Audit Logs
  • Automations - Webhooks
    • Webhooks Overview
    • Comment Workflows with Zapier
  • Automations - Zapier
    • Zapier Basics
    • Frame.io Resources in Zapier
    • Upload Assets to Frame.io using Zapier
    • Webhooks in Zapier
  • Custom Actions
    • Custom Actions Overview
    • Three Ways to Deploy Custom Actions
    • Deploy Custom Actions to Zapier
  • Other Tools
    • Using ngrok
    • Using Glitch
  • Troubleshooting
    • API Error Codes
    • Rate Limits
    • Browser Support
  • Deprecated
    • How to - Authorize (Hardware)
    • How to - Authorize (Application)
    • How to - Manage Auth (Hardware)
    • How to - Manage Auth (Application)

© 2026 Adobe Inc. All rights reserved.

TermsPrivacyDo not sell or share my personal information
Developer-friendly docs for your API
Logo
Developer Tools
CommunityContact UsConsole
On this page
  • Overview
  • Depletion and refill
  • Exponential backoff
  • Headers
  • Example
  • Details
Troubleshooting

Rate Limits

Was this page helpful?
Previous

Browser Support

Next

Overview

Whether a token is distributed via Developer Portal, OAuth grant, or the Accounts backend that serves Frame.io’s own applications, all API calls to Frame.io are rate limited.

Rate limits apply are applied across any and all API requests from an individual user (irrespective of which token or auth method is used), are depleted and refilled progressively, and are reflected in the response headers of every request made to the Frame.io API. Each endpoint is configured with its own limits, which range from as low as 10 requests/minute, to as high as 100 requests/second.

Requests that have exceeded the rate limit for a particular endpoint will receive a 429 HTTP error in response.

Depletion and refill

The Frame.io API uses a leaky bucket strategy of progressive rate limiting, in which limits refresh gradually during their allotted time window. In other words, there is not a concept of any hard cutoff after which limits refresh for a particular resource (i.e. “fixed” and “sliding window” enforcement strategies). Rather, remaining limits are constantly refreshing at a pace relative to a resource’s limit and time window.

Exponential backoff

Our recommended strategy for managing rate limits is usually referred to as “exponential backoff.”

In short:

  • When receiving a 429, pause for a period (normally one second)
  • If another 429 is received, exponentially increase the wait period until normal function resumes

Headers

Responses to API requests will always include the following three headers that should be utilized to limit your outbound requests:

HeaderValue
x-ratelimit-limitThe rate limit for this resource path, measured in requests.
x-ratelimit-remainingThe number of requests remaining in the current time window.
x-ratelimit-windowThe time window for this resource path’s limits, measured in milliseconds (ms).

Example

The following example is from the response to GET v2/assets/:id/children, to fetch the child assets of a Project root, folder, or Version Stack. The limit for that path is 40 requests per 60,000 ms (one minute), and there are 39 requests remaining after one has been made.

x-ratelimit-limit → 40
x-ratelimit-remaining → 39
x-ratelimit-window → 60000

Details

Rate limits vary greatly across resource paths in the Frame.io API. Below are some select details, expressed for readability as resource and action (e.g. “Assets — Update” instead of PUT /assets/:id).

As a general rule, resource paths that create new data are limited at or below 100 calls per minute, and resource paths that fetch lists of assets are limited to 200 calls per minute.

ResourceActionLimit (requests)Limit window (ms)
Assetscreate51,000
Assetsupdate101,000
Assetsread51,000
Comments
Presentations
Projects
Review Links
Teams
Team Members
create10060,000
Searchread20060,000