Skip to content

Rate limits & trust

The free tier allows [X] requests per minute and [X] per day, enforced per API key. When you exceed a window, the API returns 429 Too Many Requests with a Retry-After header (seconds until the window resets).

Ping support@lexcel.ai if you need more.

Indexed weekly. Every /v1/ask, /v1/statute, /v1/compare, and /v1/verify response carries the as_of date the answer was grounded against. If a section changed after your query, the next call surfaces the update.

Every statute chunk is:

  1. Extracted from an official source (Secretary of State code portal, LegisAPI, or bulk feed).
  2. Tagged with its effective date and legislative history.
  3. Cross-checked against a section registry — a canonical list of every valid section number per code. Any citation that does not resolve to a live registry entry is rejected before the response leaves the API.

The API refuses to return a paraphrase without at least one citation. It refuses to fabricate a section that does not exist.

  • No client data is required to call the API. Send only the question and the jurisdiction.
  • We do not train on your queries.
  • All traffic served over TLS 1.2+.

See our Privacy Policy and Terms of Service for the specifics.

Best-effort during beta. Target 99.5% once we exit beta, published on our status page as we run more traffic against it.

StatusMeaning
400Malformed request (missing jurisdiction, unknown code)
401Missing or invalid API key
403Key revoked or expired
422Jurisdiction not supported
429Rate limit exceeded — retry after the Retry-After interval
503Temporarily unavailable — retry after Retry-After

Error bodies are JSON: { "detail": "..." }.