LawForge
Reference

Rate Limits

Request limits by plan

Rate Limits

LawForge enforces rate limits to ensure fair usage and service stability.

Limits by Plan

PlanRequests/MonthRate LimitPrice
Anonymous103/minFree
Free5010/minFree
Pro2,00060/min$19/mo

Rate Limit Headers

Every response includes rate limit information:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 1704067200
HeaderDescription
X-RateLimit-LimitRequests allowed per minute
X-RateLimit-RemainingRequests remaining this minute
X-RateLimit-ResetUnix timestamp when limit resets

Exceeding Limits

When you exceed the rate limit:

  1. HTTP 429 status code is returned
  2. Retry-After header indicates wait time
  3. Error body contains explanation
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Please wait 60 seconds."
  }
}

Best Practices

Implement Backoff

Use exponential backoff when hitting limits:

async function fetchWithRetry(url: string, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fetch(url);
    if (response.status !== 429) return response;

    const retryAfter = parseInt(response.headers.get("Retry-After") || "60");
    await sleep(retryAfter * 1000 * Math.pow(2, i));
  }
  throw new Error("Max retries exceeded");
}

Cache Results

Cache responses to reduce requests:

  • Case text rarely changes
  • Court metadata is static
  • Citation networks update less frequently

Batch Requests

Where possible, batch operations:

  • Use broader searches instead of many narrow ones
  • Retrieve multiple documents in one session
  • Plan research workflows to minimize requests

Monitoring Usage

Track your usage at lawforge.io/settings/usage.

Upgrading

Need higher limits? View pricing plans.

On this page