Skip to main content

Overview

demeterrr enforces public API rate limits per organization, not per API key. All API keys in the same organization share the same limit pool. The current implementation applies two windows:
API access and API rate-limit profile are related but separate concerns. An organization can have API access disabled, and an enabled organization can still use a custom rate-limit profile.

Default Profiles

These are the deployment defaults used when no organization-specific override is configured:
Enterprise organizations commonly use an override above the default profile. The default exists so enterprise traffic can be raised without a code change even before a per-org override is set.

Organization Overrides

Operations can raise or lower a specific organization’s limits without editing code by setting API_V1_RATE_LIMIT_ORGANIZATION_OVERRIDES. Example:
Supported override fields:

Tier Defaults By Environment

Each default profile can also be tuned through environment variables: This lets operations tune a whole class of customers without changing application code.

Headers On Limit Responses

When a request is throttled, the API returns:

Throttled Response Shape

When a request exceeds the active policy, the API returns 429 Too Many Requests:

Retry Guidance

1. Always honor Retry-After

If the API returns 429, wait at least the number of seconds in Retry-After before retrying.

2. Add jitter

Do not have all workers retry at the same instant. Add randomized delay on top of your backoff.

3. Prefer batching over bursts

Use the bulk sequence execute path instead of many single-contact calls when possible.

4. Treat 429s as backpressure, not as hard failures

High-volume clients should queue and retry rather than surfacing every 429 directly to end users.

Increasing Limits

Need a higher API profile for a pilot or an enterprise rollout?

Contact Sales

Enterprise customers can use per-org overrides or higher deployment defaults during rollout planning.

Next Steps

Error Handling

Learn how to handle API errors

Quick Start

Make your first API call