# Batch code lookup
URL: https://backworkhealth.com/docs/api/batchLookupCodes

Look up multiple medical codes in a single request.

**Endpoint:** `POST /api/v1/codes/batch`

**Availability:** Live in production.

**Authentication:** API key in `Authorization: Bearer <key>` with the `read` scope.

Look up multiple medical codes in a single request. Returns results keyed by code. Maximum 50 codes per request. Fuzzy matching is disabled in batch mode for performance.

**Partial failure handling:** Individual code lookup failures do not abort the batch. A code that cannot be resolved returns `{"found": false, "code": "<code>", "code_system": "UNKNOWN"}` in the results map instead of causing a request-level error, even when the request includes a `code_system` hint.

**Parameters**

* `codes` (body, required): Array of medical codes to look up
* `code_system` (body): Optional code system hint applied to all codes
* `include` (body): Comma-separated list of additional data (rvu, policies)

**Code sources:** Code entries in the response carry a `source`: `document` when the policy document lists the code, `inferred_title_match` when the code was attached because the policy title names the drug. See [Code sources](/docs/code-sources).

**Example request**

```bash
curl -X POST "https://backworkhealth.com/api/v1/codes/batch" \
  -H "Authorization: Bearer $BACKWORK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "codes": [
    "99213",
    "E11.9",
    "27447"
  ]
}'
```

**Example response** (`200`)

```json
{
  "success": true,
  "data": {
    "results": {}
  },
  "meta": {
    "request_id": "string",
    "timestamp": "2026-01-15T10:30:00Z",
    "total_codes": 0,
    "unique_codes": 0,
    "includes": [
      "string"
    ],
    "attributions": {
      "disclaimer": "string",
      "cpt": "string",
      "loinc": "string",
      "cms": "string",
      "payer_data": "string",
      "negotiated_rates": "string"
    }
  }
}
```
