Rate limits

Each API key can make a set number of requests in any 5-minute window, depending on your plan. v1 and v2 requests count toward the same limit.

PlanRequests per 5 minutesAbout per minute
Developer10020
Starter1,500300
Growth3,000600
Scale5,0001,000

Every response to a request with a valid key includes headers that show your current usage:

HeaderDescription
RateLimit-LimitThe number of requests allowed in the window
RateLimit-RemainingThe number of requests remaining in the window
RateLimit-ResetSeconds until the window resets

For older clients, X-RateLimit-Limit and X-RateLimit-Remaining contain the same values, and X-RateLimit-Reset contains the time of the reset as a Unix timestamp.

When you exceed the limit

When you exceed the limit, the API responds with 429 Too Many Requests, the error code RATE_LIMIT_EXCEEDED, and a Retry-After header that contains the number of seconds until the window resets. Wait that long before you send more requests. The SDK waits and retries for you automatically.

Provider limits

Google, Microsoft, and Zoom limit how often you can make requests for a single account, regardless of your Pyas plan. When a provider rate-limits a request, the API responds with PROVIDER_RATE_LIMITED and a Retry-After header. The limit applies only to that account, and requests for your other accounts aren't affected.

Make fewer requests

  • Use webhooks to get notified when something changes, so you don't need to poll for changes.
  • Use a sync token to get only what changed since your last read.
  • Use fields=id,title,startsAt to get only the fields you need.
  • Read several accounts in one request with accountIds or subjectId. This counts as one request, not one per account.

Monthly requests

Requests made with a live key also count toward your plan's monthly quota. When you exceed it, the API responds with RATE_MONTHLY_QUOTA_EXCEEDED until the next month starts or your plan changes. Requests made with a test key have a separate monthly quota.

The Billing page in the dashboard shows your requests so far this month. To get your requests by day, call:

GET /v2/usage