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.

Plans & Billing5 min read·Updated October 2026

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 NameExample ValueDescription
X-Quota-Limit10000Total Delivery API calls allocated for the current monthly billing cycle.
X-Quota-Remaining7420Number of monthly Delivery API calls remaining before quota exhaustion.
X-RateLimit-Limit300Maximum permissible Delivery API calls per 60-second sliding rate-limit window.
X-RateLimit-Remaining284Calls remaining in the current 60-second rate-limit window.
X-RateLimit-Reset1730000000Unix timestamp (seconds) when the sliding rate-limit window resets.
Retry-After60Seconds 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:

429 Error Response Payload
{
  "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.