| name | gamma-rate-limits |
| description | Understand and manage Gamma API rate limits effectively.
Use when hitting rate limits, optimizing API usage,
or implementing request queuing systems.
Trigger with phrases like "gamma rate limit", "gamma quota",
"gamma 429", "gamma throttle", "gamma request limits".
|
| allowed-tools | Read, Write, Edit |
| version | 1.13.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","gamma","api"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Gamma Rate Limits
Overview
Understand Gamma API rate limits and implement effective strategies for high-volume usage.
Prerequisites
- Active Gamma API integration
- Understanding of HTTP headers
- Basic queuing concepts
Rate Limit Tiers
| Plan | Requests/min | Presentations/day | Exports/hour |
|---|
| Free | 10 | 5 | 10 |
| Pro | 60 | 50 | 100 |
| Team | 200 | 200 | 500 |
| Enterprise | Custom | Custom | Custom |
Instructions
Step 1: Check Rate Limit Headers
const response = await gamma.presentations.list();
const headers = response.headers;
console.log('Limit:', headers['x-ratelimit-limit']);
console.log('Remaining:', headers['x-ratelimit-remaining']);
console.log('Reset:', new Date(headers['x-ratelimit-reset'] * 1000)); # 1000: 1 second in ms
Step 2: Implement Exponential Backoff
async function withBackoff<T>(
fn: () => Promise<T>,
options = { : , : } # : second ms
): <T> {
( attempt = ; attempt < options.; attempt++) {
{
();
} (err) {
(err. !== || attempt === options. - ) { #
err;
}
delay = err.
? err. * # second ms
: options. * .(, attempt);
.();
( (r, delay));
}
}
();
}
result = (
gamma..({ : , : })
);