API
Concourse WC Opinions REST API
Open, versioned, free. No API key required for v1. Cached for 60s edge-side. Base URL is the same origin as this page.
GET
/api/v1/opinionsSearch and list opinions. Supports keyword + facet filters and pagination.
| Param | Description |
|---|---|
| q | Free text query — matches claimant, employer, AWCC number, full opinion text. |
| type | `full_commission` or `alj`. |
| outcome | `granted`, `denied`, `affirmed`, `reversed`, `remanded`, `vacated`, `dismissed`, `modified`, `unknown`. |
| yearFrom | Inclusive lower bound on decision year (e.g. `2022`). |
| yearTo | Inclusive upper bound on decision year. |
| employer | Substring match on respondent / employer name. |
| awcc | Exact or substring match on AWCC claim number (e.g. `H400417`). |
| sort | `relevance` (default if `q`), `newest` (default otherwise), `oldest`. |
| limit | Default 25, max 200. |
| offset | Default 0. |
curl 'https://{host}/api/v1/opinions?q=rotator+cuff&outcome=granted&limit=5'GET
/api/v1/opinions/{id}Fetch a single opinion by id. Returns full extracted text plus parsed metadata.
| Param | Description |
|---|---|
| id | Opinion id from list endpoint, e.g. `full_commission-H400417-2026-05-15`. |
curl 'https://{host}/api/v1/opinions/full_commission-H400417-2026-05-15'GET
/api/v1/statsCorpus-wide counts, year distribution, outcome distribution, and top employers.
curl 'https://{host}/api/v1/stats' | jq .by_outcomeGET
/api/bulk/opinions.csvFull opinion + parsed metadata dump, CSV.
curl -O 'https://{host}/api/bulk/opinions.csv'GET
/api/bulk/opinions.jsonSame corpus as CSV, plus full extracted text per opinion.
curl -O 'https://{host}/api/bulk/opinions.json'Stability and rate limits
- v1 endpoints are stable for the lifetime of this prototype. Breaking changes will ship under
/api/v2/. - No auth in v1. Reasonable use only — please cache and batch.
- Underlying corpus refreshes when new opinions are published on the AWCC site.