Using API v1? See what changes in v2, or the v1 docs
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.
| Plan | Requests per 5 minutes | About per minute |
|---|---|---|
| Developer | 100 | 20 |
| Starter | 1,500 | 300 |
| Growth | 3,000 | 600 |
| Scale | 5,000 | 1,000 |
Every response to a request with a valid key includes headers that show your current usage:
| Header | Description |
|---|---|
RateLimit-Limit | The number of requests allowed in the window |
RateLimit-Remaining | The number of requests remaining in the window |
RateLimit-Reset | Seconds 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,startsAtto get only the fields you need. - Read several accounts in one request with
accountIdsorsubjectId. 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