Meet API Docs Dashboard
On this page

Limits and Rate Limits

The numbers to design around.

What Limit
Requests 120 a minute for each API key, in a fixed 60 second window
Over the limit 429 rate_limited with a Retry-After header (seconds)
Rate limit headers X-RateLimit-Limit and X-RateLimit-Remaining on every answer
People in a room 1 to 200 (max_participants)
Room name Up to 32 characters, letters, digits, - and _
Room metadata 4 KB of JSON
Translation languages in a room At most 5
Meeting token life 1 second to 24 hours, default 2 hours
List page size 1 to 100, default 10
API chat message 1 to 1,000 characters
Webhook endpoints 20 for each project and mode
Webhook retries 7 attempts over about 20 hours
Idempotency keys The first answer is kept for 24 hours
One recording At most 240 minutes
Recording storage time 30 days by default, counted from the end of the recording
Usage query At most 366 days

Your project can set its own request rate in the dashboard. Ask us if you need a higher one.

Handle 429#

Wait for the Retry-After seconds, then try again. The Node and Python SDKs do this for you (2 retries by default). If you call the API yourself, add a small random delay so many workers do not return at the same second.

Idempotent writes#

Every POST accepts an Idempotency-Key header (up to 255 characters). If a network error leaves you unsure whether a call worked, send it again with the same key and the same body. You get the first answer back and the header Idempotent-Replayed: true. The same key with a different body answers 409 idempotency_key_reused.

Pagination#

Lists answer {"object": "list", "data": [...], "has_more": true}, newest first. To get the next page pass starting_after with the id of the last item you received.