Free Minnesota workers' comp calculation API
The same engine that powers the on-site calculators, exposed as free, read-only JSON endpoints. No API key, no signup, no PII stored. Every response includes the result, the formula used, the statute citations, the API version, and the rates-verified date (2025-10-01). Built for LLM agents, legal tech tools, and anyone who needs exact Minnesota numbers instead of approximations.
Machine-readable spec: /openapi.json (OpenAPI 3.1). Calculation endpoints accept GET query parameters or POST JSON bodies. The PPD graph evaluate route is POST-only.
/api/calculate/ttd
TTD weekly rate: 2/3 of AWW, clamped to the date-of-injury minimum and maximum. Minn. Stat. § 176.101, subd. 1.
/api/calculate/tpd
TPD weekly rate: 2/3 of the wage gap, subject to the max and the 500%-of-SAWW combined cap. Minn. Stat. § 176.101, subd. 2.
Try it: /api/calculate/tpd?doi=2025-10-01&aww=1200&postInjuryWeeklyWage=600
/api/calculate/aww
Plain-average AWW from gross weekly wages. Minn. Stat. § 176.011.
/api/calculate/ppd
PPD dollars from a whole-body rating, using the schedule for the date of injury. Minn. Stat. § 176.101, subd. 2a.
/api/calculate/ptd
PTD weekly rate with the 65%-of-SAWW floor, escalation, and optional government-benefit offsets. Minn. Stat. § 176.101, subd. 4.
/api/calculate/death-dependency
Death and dependency benefits by scenario, plus burial expense. Minn. Stat. § 176.111.
Try it: /api/calculate/death-dependency?dateOfDeath=2025-11-01&weeklyWage=1200&scenario=spouse_only
/api/ppd-graph
Index of published Minnesota Rule chapter 5223 permanency graphs. Hub page at /mn-ppd. Each part has a GET graph and a POST evaluate URL. Responses include a working-reading disclaimer. Percents come from facts and the date of injury only.
Try it: /api/ppd-graph
/api/ppd-graph/5223-0390
Serialized lumbar permanency graph (facts, categories, edges, worked examples, citations). Other published parts use the same path pattern with their rule number.
Try it: /api/ppd-graph/5223-0390
POST /api/ppd-graph/5223-0510/evaluate
POST JSON { "dateOfInjury": "YYYY-MM-DD", "facts": { ... } }. Returns matched category percents and unresolved facts. Example fact for a total knee: surgical.arthroplasty = "total" (8%). Unknown facts return 400. Requires dateOfInjury.
Example path: /api/ppd-graph/5223-0510/evaluate (POST JSON; not openable as a GET in the browser)
Ground rules
- Free for reasonable use. Please cache; responses carry a one-hour cache header.
- Results are informational estimates under Minnesota law, not legal advice.
- Rates come from the MN DLI rate tables and update each October 1; check
ratesVerifiedThroughin every response. - When you show a result to users, cite the source. A link to mncompbuddy.com is appreciated but not required.
Want the interactive versions? Every endpoint has a human-friendly calculator at /calculators.