What it returns
Search National Labor Relations Board cases, which the agency publishes on its website but not through an API: 516,000+ unfair labor practice charges and union election petitions, newest first.
Filter by employer, party, allegation, case number, state, city, case type, status and filing or closing date. Each case includes its status, region, dates, how it closed and the employees involved. You can also add allegations, parties, election tallies and the docket with document links.
Example: {"name": "Starbucks", "caseTypes": ["RC"], "filedFrom": "2026-01-01"}
Source: public NLRB records through the labordata daily mirror of nlrb.gov; sourceCheckedAt shows when each case was last checked. Coverage of older cases follows the NLRB's own records. Party street addresses and phone numbers are left out.
Charged per case returned.
Request
POST https://api.pushbuild.com/nlrb-cases/run with a JSON body. Send your key in the X-API-Key header.
| Field | Type | Description |
|---|---|---|
name | string | Part of the case name, usually the employer, e.g. Starbucks. |
participant | string | Part of any party's name, e.g. Workers United. |
allegation | string | Part of an allegation, e.g. 8(a)(3) or Discharge. |
caseNumbers | list of strings | NLRB case numbers, e.g. 29-CA-397476. |
states | list of strings | Two-letter codes, e.g. NY, CA. |
city | string | Exact city name. |
caseTypes | list of strings | CA = charge against employer, CB = charge against union, RC = union election petition, RD = decertification petition, RM = employer petition. Others: CC, CD, CE, CG, CP, UC, UD, AC. |
status | string | For example Open or Closed. |
filedFrom | string | YYYY-MM-DD. |
filedTo | string | YYYY-MM-DD. |
closedFrom | string | YYYY-MM-DD. |
closedTo | string | YYYY-MM-DD. |
includeDetails | boolean | Add allegations, parties and election tallies. Default: true. |
includeDocket | boolean | Add every docket entry and its document link. Default: false. |
maxItems | integer | Maximum items to return (1-500). Default: 100. |
Example
curl -X POST https://api.pushbuild.com/nlrb-cases/run \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"maxItems": 20}'
Response
{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}
Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.
Pricing
Pay only for results returned: $1.60 per 1,000 cases. No charge for errors or empty searches.
Use it from Claude, ChatGPT or Cursor
This API is also an MCP server: https://api.pushbuild.com/mcp/nlrb-cases. Add it to any assistant that supports remote MCP servers, with your key in the X-API-Key header. Same prices. Setup for each app.
Tell us what you need built.
Questions about this API, higher volumes, or a data source you need that we don't cover yet.
hello@pushbuild.comWant this data inside your own app or CRM? API integrations and data sync