Skip to content

Rate limits

Every limit has two windows: a short burst window and a rolling day. Going over either one answers 429.

What Counted per Burst Per day
POST /v1/contacts API key 100 per 10 seconds 200,000
POST /v1/webinar-registrants API key, per registrant 600 per 60 seconds 100,000
GET /v1/api-v1 (website analytics) Workspace 100 per 10 seconds 200,000
MCP (/mcp) Workspace; a write tool call counts 2 100 per 10 seconds 200,000
Inbound webhook with a secret token Webhook and sender IP 100 per 10 seconds 200,000
Inbound webhook without a token Webhook and sender IP 40 per 60 seconds 5,000

Limits can be raised for a workspace that needs more. Contact [email protected].

Successful responses carry the current state:

Header Meaning
X-RateLimit-Limit Requests allowed in the burst window
X-RateLimit-Remaining Requests left in the burst window
X-RateLimit-Reset When the burst window resets (Unix seconds)
X-RateLimit-Daily-Limit Requests allowed per day
X-RateLimit-Daily-Remaining Requests left today
X-RateLimit-Daily-Reset When the day window resets (Unix seconds)
HTTP/1.1 429 Too Many Requests
Retry-After: 7
{ "error": "rate_limited", "message": "Too many requests", "retry_after": 7 }

Wait Retry-After seconds, then retry. For bulk work, keep a steady pace below the burst limit instead of sending everything at once, and send webinar registrants in batches of up to 100.