Frame.io API

Frame.io API Documentation

Welcome to Frame.io's official documentation portal.In here, you'll find everything you need to:

Get up and running with Frame.io's public API 🤙
Leverage powerful features like Webhooks and Custom Actions 🚀
Build your own OAuth2.0 app 🚢

Get Started    Guides

Rate Limits

Every request to the Frame.io API is subject to rate limits. Learn about them here.

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 are applied per token, are depleted and refilled progressively, and are reflected in the header responses to all calls made to the Frame.io API. Every resource path is configured with its own limits, which range from as low as 10 requests/minute, to as high as 100 requests/second.

Requests that exceed the rate limit for a particular resource 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:

Header

Description

x-ratelimit-limit

The rate limit for this resource path, measured in requests.

x-ratelimit-remaining

The number of requests remaining in the current time window.

x-ratelimit-window

The 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.

Resource

Action

Limit (requests)

Limit window (ms)

Assets

Create

10

1000

Assets

Read

100

1000

Assets

Update

10

1000

Comments

Create

100

60000

Presentations

Create

100

60000

Projects

Create

100

60000

Review Links

Create

100

60000

Search

Read

200

60000

Teams

Create

100

60000

Team Members

Create

100

60000

Updated about a month ago

Rate Limits


Every request to the Frame.io API is subject to rate limits. Learn about them here.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.