API Status Get API Key

Rate Limits

Buffer applies API rate limits per client. The number of API keys and app clients you can create, along with how many requests each client can make over a rolling 15-minute, 24-hour, and 30-day window, depend on your Buffer plan.

Feature Free Essentials Team
API Keys 1 3 5
App Clients 1 3 5
15-min limit 100 100 100
24-hr limit 100 250 500
30-day limit 3,000 7,500 15,000

Does your integration require higher limits? Reach out to developersupport@buffer.com.

Response Headers

Rate limit information is included in the response headers:

RateLimit-Limit: 3000
RateLimit-Remaining: 850
RateLimit-Reset: 2024-01-01T12:00:00.000Z

Error Response

When a rate limit is exceeded, you will receive an HTTP 429 Too Many Requests response:

{
  "errors": [
    {
      "message": "Too many requests from this client. Please try again later.",
      "extensions": {
        "code": "RATE_LIMIT_EXCEEDED",
        "limitType": "CLIENT_ACCOUNT",
        "retryAfter": 900
      }
    }
  ]
}

Use the retryAfter value (in seconds) to determine when you can make requests again.

Query Limits

In addition to rate limits, we enforce query-level limits to protect against overly complex or expensive GraphQL queries.

Query Complexity

Each query is assigned a cost based on the fields it requests:

  • Scalar fields (e.g., id, name): 1 point each
  • Object fields (e.g., organization, channel): 2 points each
  • Nesting multiplier: Nested fields are multiplied by a factor of 1.5x per level of depth

The maximum allowed query cost is 175,000 points. If your query exceeds this, you will receive an error asking you to simplify it.

Query Depth

Queries are limited to a maximum depth of 25 levels. Deeply nested queries can cause exponential resource consumption, so keep your queries as flat as possible.

Aliases

A maximum of 30 aliases are allowed per query. Aliases let you rename fields in a response, but excessive use can be used to amplify query cost.

Directives

Queries are limited to a maximum of 50 directives.

Tokens

Queries are limited to a maximum of 15,000 tokens. This is a parser-level limit on the overall size of the query document.

Query Limit Error Responses

When a query limit is exceeded, you will receive a GraphQL error response:

{
  "errors": [
    {
      "message": "Query exceeds maximum allowed complexity. Please simplify your query."
    }
  ]
}

The error message will indicate which limit was exceeded (complexity, depth, aliases, directives, or tokens).

These limits may change as we evolve the API, so keep an eye on your usage.