Delivery API quotas and rate limits
Understand SCHMA Delivery API monthly quotas, per-minute rate limits, response headers, and how edge caching optimizes request throughput.
Before you begin
- A SCHMA workspace
- An application making requests to the Delivery API (`/v1/delivery/entries`)
SCHMA employs intelligent rate limiting and monthly request quotas to protect system infrastructure, prevent resource exhaustion, and ensure predictable latency across all connected client applications.
Understanding quotas vs rate limits
SCHMA enforces two complementary tiers of traffic governance:
- Monthly Delivery Quota: A monthly allocation of Delivery API calls associated with your workspace subscription tier. Quotas reset at the start of each billing cycle.
- Per-Minute Rate Limits (Burst Protection): Sliding-window rate limits that prevent sudden volumetric spikes, scraping, or infinite retry loops from impacting database performance.
Quota response headers
Every successful response from the Delivery API includes standard metadata headers indicating your current quota consumption:
| Header Name | Example Value | Description |
|---|---|---|
X-Quota-Limit | 10000 | Total Delivery API calls allocated for the current monthly billing cycle. |
X-Quota-Remaining | 7420 | Number of monthly Delivery API calls remaining before quota exhaustion. |
X-RateLimit-Limit | 300 | Maximum permissible Delivery API calls per 60-second sliding rate-limit window. |
X-RateLimit-Remaining | 284 | Calls remaining in the current 60-second rate-limit window. |
X-RateLimit-Reset | 1730000000 | Unix timestamp (seconds) when the sliding rate-limit window resets. |
Retry-After | 60 | Seconds remaining until rate-limit reset (included on HTTP 429 rate-limited responses). |
Handling 429 DELIVERY_QUOTA_EXCEEDED responses
When an application exceeds its monthly quota allocation, the API returns an HTTP 429 Too Many Requests status code with a structured JSON error body:
{
"error": "Too Many Requests",
"code": "DELIVERY_QUOTA_EXCEEDED",
"message": "Monthly Delivery API quota exceeded for this workspace. Upgrade your plan or wait for billing cycle reset."
}If you encounter a per-minute burst rate limit rather than a monthly quota exhaustion, inspect the Retry-After header and implement exponential backoff with jitter in your application's client loader.
Plan quota allowances and scaling
On the Free tier, workspaces include a baseline quota of 10,000 monthly Delivery API requests, designed for development, testing, and small static websites. Upgrading to the Pro plan (£20/mo UK, €25/mo EU, $25/mo Rest of world) provides substantially higher request capacities suitable for production commercial traffic.
Optimizing request throughput with edge caching
To maximize performance and keep your quota consumption low: configure caching in your frontend framework. Next.js App Router, Astro, and Remix support Incremental Static Regeneration (ISR) and stale-while-revalidate caching.