Rate limits

Understand API limits and retry behavior.

Last updated June 3, 2026

Grometrics rate limits protect ingestion reliability while still allowing normal tracking bursts from launches, campaigns, and mobile offline flushes.

Options / Configuration

OptionTypeRequiredDescription
Browser eventslimitAccepted in normal traffic bursts; excessive duplicate events may be throttled
Server APIlimitUse batching for backfills or high-volume imports
Mobile offline flushlimitFlush queued events in batches instead of one request per event
Retry-AfterheadernoWait this many seconds before retrying a throttled request

retry.ts

1async function sendWithRetry(event) {2  const response = await fetch('https://api.usegrometrics.com/events', {3    method: 'POST',4    headers: { Authorization: 'Bearer YOUR_API_KEY' },5    body: JSON.stringify(event)6  })78  if (response.status === 429) {9    const retryAfter = Number(response.headers.get('Retry-After') ?? 10)10    throw new Error(`Retry after ${retryAfter}s`)11  }1213  return response14}

What happens next

For imports or backfills, batch events and preserve original timestamps so reports stay accurate.

Troubleshooting

Requests are throttled

Batch events, remove duplicates, and respect the Retry-After header before retrying.

Was this page helpful?