Skip to main content

API Rate Limits

SDD Classification: L3-Technical Authority: Engineering Team Review Cycle: Quarterly
Rate limiting protects the Materi platform from abuse while ensuring fair resource allocation across all users. This guide explains rate limit policies, headers, and best practices for handling limits gracefully.

Rate Limiting Overview


Rate Limits by Plan

Standard Limits

Endpoint-Specific Limits

Some endpoints have additional specific limits:

Rate Limit Headers

Every API response includes rate limit information:

Header Reference


Rate Limit Response

When you exceed rate limits, you’ll receive a 429 Too Many Requests response:

Response Headers on 429


Rate Limit Algorithm

Materi uses a sliding window algorithm that provides smoother rate limiting than fixed windows:

How It Works

  1. Window Duration: Configured per limit type (e.g., 1 hour)
  2. Sub-Windows: Divided into smaller buckets (e.g., 1 minute each)
  3. Weighted Count: Recent requests weighted more heavily
  4. Smooth Decay: Old requests gradually stop counting

Benefits

  • No “thundering herd” at window boundaries
  • Fairer distribution of requests over time
  • Burst allowance within limits
  • Predictable behavior for clients

Handling Rate Limits

Basic Retry Logic

Exponential Backoff with Jitter

Proactive Rate Limit Monitoring


Request Queuing

For high-throughput applications, implement request queuing:

Special Limits

AI Generation Limits

AI endpoints have separate daily quotas: AI responses include additional headers:

Concurrent Connection Limits


Best Practices

Do

  1. Cache responses when appropriate to reduce API calls
  2. Use webhooks instead of polling for event-driven updates
  3. Batch requests using bulk endpoints where available
  4. Monitor headers and adjust request rate proactively
  5. Implement queuing for bulk operations

Don’t

  1. Don’t retry immediately on 429 - always respect Retry-After
  2. Don’t parallelize aggressively without rate limiting
  3. Don’t ignore remaining count - throttle before hitting zero
  4. Don’t cache rate limit headers - always read fresh values

Requesting Higher Limits

Enterprise customers can request custom rate limits:
  1. Contact sales or support with use case details
  2. Provide expected request volumes and patterns
  3. Describe peak usage scenarios
  4. Allow 2-3 business days for review
Include in your request:
  • Current plan and usage patterns
  • Specific endpoints needing higher limits
  • Business justification
  • Expected growth trajectory


Document Status: Complete Version: 2.0