ConcourseWorkers' Comp Opinions
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/opinions

Search and list opinions. Supports keyword + facet filters and pagination.

ParamDescription
qFree 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`.
yearFromInclusive lower bound on decision year (e.g. `2022`).
yearToInclusive upper bound on decision year.
employerSubstring match on respondent / employer name.
awccExact or substring match on AWCC claim number (e.g. `H400417`).
sort`relevance` (default if `q`), `newest` (default otherwise), `oldest`.
limitDefault 25, max 200.
offsetDefault 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.

ParamDescription
idOpinion 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/stats

Corpus-wide counts, year distribution, outcome distribution, and top employers.

curl 'https://{host}/api/v1/stats' | jq .by_outcome
GET/api/bulk/opinions.csv

Full opinion + parsed metadata dump, CSV.

curl -O 'https://{host}/api/bulk/opinions.csv'
GET/api/bulk/opinions.json

Same 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.
Or grab the full corpus as a single file