# BNM Data Shop – NLRB Board Decisions

> BNM Data Shop – NLRB Board Decisions is a paid API for AI agents from ticks.bnm.farm, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-20).

Returns the latest National Labor Relations Board (NLRB) board decisions as structured JSON, including case numbers, citations, party names, and source document links.

## Facts

- Endpoint: GET https://ticks.bnm.farm/nlrb-decisions?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-20
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/bnm-data-shop-nlrb-board-decisions-23caebc7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AQwl5xUNnD59zWyBV9E7u

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability bnm-data-shop-nlrb-board-decisions-23caebc7
```

Example prompt: Can you pull the latest NLRB board decisions from the BNM Data Shop and give me the case numbers, party names, and citation info for each one?

## When to prefer this

Choose this endpoint when you need structured, machine-readable NLRB board decision data without scraping the NLRB website yourself. It is ideal for legal research tools, labor relations monitoring, compliance workflows, or any application that needs official board decision records (case numbers, citations, party names, document links) in clean JSON format at low per-call cost.

## Known failure modes

- HTTP 402 Payment Required if the x402 micropayment is not included or is insufficient
- Empty records array if no new decisions have been published recently
- Stale data if the upstream NLRB source has not been refreshed
- Network timeout if the upstream NLRB PDF source is slow to respond
- Schema mismatch if NLRB changes its underlying document structure

## How this service works

Official public data as JSON. Unpaid paid routes return HTTP 402.

## Output

A JSON object containing: a boolean ok flag, product identifier, fetch timestamp, asOf date, source URL, record count, an array of decision records (each with id, URL, date, firm name, and type), and a cards array (each with id, body text, date, kind, title, case number, citation, source URL, document ID, and institution name).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string"
    },
    "schema": {
     "type": "object"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "schema": {
  "type": "object",
  "required": [
   "ok",
   "product",
   "status",
   "fetchedAt",
   "asOf",
   "source",
   "recordCount",
   "records",
   "cards"
  ],
  "properties": {
   "ok": {
    "type": "boolean"
   },
   "asOf": {
    "type": "string"
   },
   "cards": {
    "type": "array",
    "items": {
     "type": "object"
    }
   },
   "source": {
    "type": "string"
   },
   "status": {
    "type": "string"
   },
   "product": {
    "type": "string"
   },
   "records": {
    "type": "array",
    "items": {
     "type": "object"
    }
   },
   "fetchedAt": {
    "type": "string"
   },
   "recordCount": {
    "type": "integer"
   }
  }
 },
 "example": {
  "ok": true,
  "asOf": "2026-09-17",
  "cards": [
   {
    "id": "375-nlrb-no-40",
    "body": "NATIONAL LABOR RELATIONS BOARD. 375 NLRB No. 40. Official NLRB Board Decision extracted from the apps.nlrb.gov PDF.",
    "date": "2026-09-17",
    "kind": "Decision and Order",
    "title": "375 NLRB No. 40",
    "caseNo": "05-CA-367812",
    "citation": "375 NLRB No. 40",
    "sourceUrl": "https://apps.nlrb.gov/link/document.aspx/09031d458436f374",
    "documentId": "09031d458436f374",
    "institution": "Nexstar Media Corporation d/b/a NewsNation"
   }
  ],
  "source": "https://www.nlrb.gov/cases-decisions/decisions/board-decisions",
  "status": "ok",
  "product": "nlrb-board-decision-bodies",
  "records": [
   {
    "id": "375-nlrb-no-40",
    "url": "https://apps.nlrb.gov/link/document.aspx/09031d458436f374",
    "date": "2026-09-17",
    "firm": "Nexstar Media Corporation d/b/a NewsNation",
    "type": "nlrb-decisions"
   }
  ],
  "fetchedAt": "2026-09-22T00:00:00.000Z",
  "recordCount": 1
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/bnm-data-shop-nlrb-board-decisions-23caebc7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ticks.bnm.farm](https://www.zero.xyz/host/ticks.bnm.farm/llms.txt)
