get_nlrb_cases
Returns NLRB (National Labor Relations Board) case filings: unfair- labor-practice charges and union representation/election petitions. Use this when the user asks about: union organizing at a company, labor disputes or ULP charges, union election petitions and outcomes, decertification efforts, or a company's labor-relations record. Case numbers follow {region}-{type}-{sequence}, e.g. '03-CA-390171' (NLRB Region 03, CA charge). The middle code determines the case family: C-cases are ULP CHARGES against an employer (CA) or a union (CB, CC, CD, CE, CG, CP) — allegations of unlawful labor practices. R-cases are REPRESENTATION petitions — RC (union seeks certification), RD (employees seek decertification), RM (employer-filed), plus UD/UC/AC unit matters. Each record carries case_type ('ULP' or 'representation') and case_subtype (the raw code). The name field is the named party on the filing — usually the employer, but on CB/CC-type charges it is the union being charged. employer_name matches against it as a substring. Representation cases carry eligible_voters, certified_representative (filled after a won election), and unit_sought (the bargaining-unit description). FRESHNESS CAVEAT: cases mutate after filing — status flips Open→Closed and date_closed / reason_closed / certified_representative fill in later. The daily sync re-pulls a trailing 180-day date_filed window, so those fields on cases FILED MORE THAN ~180 DAYS AGO may lag the source until a periodic full re-pull; the source_url case page is always current. Filter combinations note: server-side indexes support ONE of state / case_type combined with the date_filed sort + since/until. Other filters (employer_name substring, case_subtype, status, region, state+case_type together) post-filter client-side over a widened fetch window. Pure-publisher posture: NLRB's public case rows as published — no outcome scoring. Each record's source_url links to the nlrb.gov public case page (which also carries docket activity and related documents not in this dataset).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "get_nlrb_cases"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum cases to return. Default 50, max 500. | |
| since | No | date_filed lower bound (YYYY-MM-DD inclusive). | |
| state | No | Two-letter state/territory code of the case site (e.g., 'NY', 'CA', 'PR'). | |
| until | No | date_filed upper bound (YYYY-MM-DD inclusive). | |
| region | No | Two-digit NLRB region number from the case-number prefix (e.g., '03' Buffalo, '13' Chicago). Client-side filter. | |
| status | No | Case status. Client-side filter. | |
| sort_by | No | Sort key. Only date_filed is supported (the default). | |
| case_type | No | Case family: 'ULP' = unfair-labor-practice charges (C-cases), 'representation' = election/unit petitions (R-cases). | |
| sort_order | No | Default: desc (most recently filed first). | |
| case_number | No | Direct lookup by NLRB case number (e.g., '03-CA-390171'). Fastest path. | |
| case_subtype | No | Exact case-number code (e.g., 'CA' charge against employer, 'CB' against union, 'RC' certification petition, 'RD' decertification). Client-side filter. | |
| employer_name | No | Case-insensitive substring against the named party (e.g., 'starbucks', 'amazon'). Usually the employer; on CB-type charges the union. Client-side filter. |