Docs · Rate limits
API rate limits.
Guest Talk enforces two-plane rate limits: a read plane for GET requests and a write plane for POST, PUT, PATCH and DELETE. The two are counted separately because a healthy integration reads far more than it writes; capping them together penalises the common case.
Default limits
- Read plane — 10,000 requests per minute per workspace, with a burst of 30,000 for 30 seconds.
- Write plane — 1,000 requests per minute per workspace, with a burst of 3,000 for 30 seconds.
- Search endpoints — capped at 100 requests per minute per key because they are expensive to evaluate.
- Report endpoints — capped at 10 requests per minute per key because they are very expensive to evaluate; use scheduled reports for high-volume needs.
- Per-key ceiling — each individual API key is capped at 25 percent of the workspace limit to prevent a single misbehaving integration from starving others.
Rate-limit headers
Every response includes the current rate-limit state:
When you hit the limit
The API returns HTTP 429 with a body:
Respect Retry-After and implement exponential backoff with jitter. Guest Talk's SDKs do this automatically.
Best practices
- Use webhooks for change notification, not polling. Polling every 5 seconds burns quota with no benefit.
- Cache read-only lookups (room types, rate plans) that rarely change; the workspace webhook rate.updated tells you when to invalidate.
- Batch writes where the API supports it (folio adjustments, tag applications).
- Use pagination sensibly; the biggest page size (200) is more efficient than 4 pages of 50.
- Respect the burst allowance; do not rely on it as a steady state.
Enterprise limits
Enterprise plans include configurable higher ceilings. If you consistently push the default limits and can justify the workload, contact hello@talkg.fabriza.org to discuss an uplift. Uplifts are decided by an engineer review to ensure they will not impact other workspaces.
Fair usage overlay
In addition to the numeric limits above, the fair-usage overlay documented in the Acceptable Use Policy applies. Sustained abusive patterns (pathological queries, non-idempotent retries, credential-stuffing style access to unrelated resources) are terminated regardless of numeric quota.