Statute-of-limitations data for legal software, by API.
Limitation periods for all 50 states and DC across eight common civil causes of action — personal injury, contract, fraud, defamation, property damage, medical malpractice, and wrongful death — plus a deadline calculator that adds the period to an explicit accrual date. General reference data with a built-in not-legal-advice disclaimer, not a lawyer in a box.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://almanac.tools/v1/statutes/lookup?state=CA&cause=personal-injury"{
"data": {
"state": "CA",
"cause": "personal-injury",
"years": 2,
"notes": "Cal. Civ. Proc. Code § 335.1 — two years from injury; delayed-discovery may toll accrual."
}
}- 51
- Jurisdictions (50 states + DC)
- 8
- Civil causes of action
- 408
- Limitation periods (51 × 8, fully filled)
- 1
- Disclaimer on every deadline result
The Statute of Limitations API returns the general civil limitation period (in years) for a US state and cause of action, and computes a filing deadline from an accrual date. It is general reference information, not legal advice: real deadlines turn on exceptions like discovery rules, tolling, and minority, so always confirm with a licensed attorney.
Built for the awkward middle.
Reference data the enterprise suites lock away
Westlaw and Lexis bundle statute-of-limitations content inside $100+/seat research products. This is the same kind of lookup as a plain developer API: query a state and a cause, get the limitation period in years — built for legal-intake, case-management, and matter-triage software.
A deadline calculator, not just a number
POST /deadline takes an explicit accrual date and returns the computed filing deadline. The math is string-based and leap-year aware: whole years preserve the calendar anniversary, a Feb-29 accrual clamps to Feb 28 in a non-leap target year, and fractional periods (e.g. New York medical malpractice at 2.5 years) add the extra days.
Honest about the exceptions
Every deadline response carries a disclaimer field, and notable rows include a notes caveat (delayed-discovery tolling, a statute of repose, a recent legislative change, the governing code section). The data is the published general period — it does not resolve the exceptions, and it never pretends to.
Endpoints
Every route takes a Bearer API key. Validation runs before authentication, so a malformed request never costs you a credit.
| GET | /v1/statutes/lookup | Limitation period (years) for a state + cause. Query: state, cause. |
| GET | /v1/statutes/causes | List the 8 supported causes of action (id + label). |
| GET | /v1/statutes/states | List the 51 supported jurisdictions (2-letter code + name). |
| POST | /v1/statutes/deadline | Compute a filing deadline from an accrual date. Body: state, cause, accrualDate. |
Frequently asked
Is this legal advice?
No. This is general reference data, not legal advice. It returns the most commonly published general limitation period for a state and cause of action. Whether a specific claim is time-barred depends on facts and exceptions this API does not resolve, so always consult a licensed attorney before relying on any deadline.
What does the disclaimer field cover?
Every POST /v1/statutes/deadline result includes a fixed disclaimer: the data is general reference information, not legal advice, and statutes of limitations have many exceptions — discovery rules, tolling, minority, and fraudulent concealment among them. The wording is part of the API contract so your UI can surface it verbatim next to any computed deadline.
Does it account for the discovery rule, tolling, or minority?
No — and that is the most important caveat. The returned number is the general statutory period that starts at accrual. Real deadlines can be paused or extended by the discovery rule (the clock starts when harm is or should have been found), tolling (e.g. the defendant leaves the state, the plaintiff is a minor or incapacitated), or shortened by a statute of repose. Notable rows include a notes field flagging these; treat them as pointers, not a complete analysis.
Which causes of action are covered?
Eight core civil causes: personal-injury, breach-written-contract, breach-oral-contract, fraud, defamation (libel/slander), property-damage, medical-malpractice, and wrongful-death. Call GET /v1/statutes/causes for the canonical kebab-case ids and labels. All 51 jurisdictions are populated for all eight causes — 408 periods, with no gaps to handle.
How does the deadline calculator handle leap years and fractional periods?
The math runs on the YYYY-MM-DD string, never a timezone-bearing Date. Whole years preserve the calendar anniversary (2024-01-15 + 2y = 2026-01-15); a Feb-29 accrual landing in a non-leap target year clamps to Feb 28. Fractional periods such as New York medical malpractice (2.5 years) add the whole years first, then round(fraction × 365) days. The deadline is computed from the accrual date you pass — never from today.
Can I pass a full state name instead of a 2-letter code?
Yes. Both the lookup and deadline endpoints accept a USPS 2-letter code (including DC) or the full jurisdiction name, case-insensitive — "CA", "ca", and "California" all resolve to the same row. Causes are matched on their kebab-case id, also case-insensitive. An unknown state, cause, or pair returns a not-found response rather than a guess.
More from the almanac
Business Days & Settlement
Settlement-date and SLA-calendar math for 21 market & regional calendars.
VAT & GST Validation
Offline format + checksum validation for 36 VAT/GST schemes — no dependency on VIES uptime.
Postal Code Validation
Structural postal-code validation for 208 countries — including the 62 that have none.
Start building with Statute of Limitations.
One key unlocks every Almanac API. Free tier, no credit card, deterministic results you can pin in a test.