Rate limits

Rate limits

The API limits requests per key so it stays fast for everyone.

The limits

  • Default: 300 requests per minute per API key, unless a route is lower.
  • GET (read): typically 60/minute
  • POST/PATCH/DELETE (write): typically 30/minute
  • Send invoice: 20/minute
  • Ping / me: 60/minute

When you exceed the limit

Above the limit you get 429:

json
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded."
  }
}

Respect 429 and use exponential backoff before retrying.

How to stay under

  • Use exponential backoff on repeated 429s.
  • Fetch lists with a generous per_page instead of many small requests.
  • Trigger AppPilot flows via webhooks instead of aggressively polling for changes.