Rate Limits & Quotas

Understand rate limiting tiers, monthly quotas, and how to monitor your API usage.

Rate Limit Tiers

Every API key belongs to a tier that determines its per-minute rate limit and monthly quota.

Tier Price Requests / min Monthly Quota
Startup $29 CAD/mo 60 5,000
Growth $99 CAD/mo 300 25,000
Enterprise $499 CAD/mo 1,000 250,000

How Rate Limiting Works

Draftory uses a per-minute sliding window. When your request count exceeds the limit for your tier, the API returns a 429 Too Many Requests response until the window resets.

Every API response includes these headers so you can track your usage in real time:

Header Description
RateLimit-Limit Maximum requests allowed per minute for your tier.
RateLimit-Remaining Requests remaining in the current sliding window.
RateLimit-Reset Seconds until the current window resets.

Monthly Quotas

Quota Weighting

All endpoints count equally against your monthly quota:

Endpoint Quota Weight
POST /contracts 1 call
GET /contracts/:id 1 call
GET /usage, GET /status 0 (free)

Checking Your Usage

Call the usage endpoint to see exactly where you stand for the current billing period:

curl -X GET https://api.draftory.ca/api/external/v2/usage \ -H "x-api-key: dft_live_your_key"
const response = await fetch('https://api.draftory.ca/api/external/v2/usage', { headers: { 'x-api-key': 'dft_live_your_key' } }); const data = await response.json(); console.log(data.usage.remaining);
import requests response = requests.get( 'https://api.draftory.ca/api/external/v2/usage', headers={ 'x-api-key': 'dft_live_your_key' } ) data = response.json() print(data['usage']['remaining'])

Example Response

{
  "success": true,
  "usage": {
    "period": "2026-03",
    "totalCalls": 1247,
    "billableCalls": 1200,
    "quotaLimit": 5000,
    "remaining": 3800,
    "overageCalls": 0,
    "endpointBreakdown": {
      "POST /contracts": 450,
      "GET /contracts/:id": 750
    },
    "periodStart": "2026-03-01T00:00:00.000Z",
    "periodEnd": "2026-03-31T23:59:59.999Z"
  }
}

Pricing & Billing

Tips

Usage Tips
  • Cache contract details when possible to reduce API calls.
  • Use the status endpoint (doesn't count toward quota) to verify connectivity.
  • Implement exponential backoff when receiving 429 responses.
  • Monitor usage regularly with the /usage endpoint.
  • Contact support to discuss upgrading your tier if you're consistently hitting limits.