# Introduction
URL: https://backworkhealth.com/docs

The Backwork API turns Medicare and commercial coverage policies into structured, source-backed JSON

Backwork turns Medicare and commercial payer coverage policies into structured data: which policies apply to a code, whether prior authorization is required, the coverage criteria, and what changed. You call it over a REST API or from an AI client through MCP.

**Production availability of the endpoints on this page**

| Operation                                                              | Endpoint                        | Production |
| ---------------------------------------------------------------------- | ------------------------------- | ---------- |
| [`lookupCode`](/docs/api/lookupCode)                                   | `GET /api/v1/codes/lookup`      | Live       |
| [`checkPriorAuth`](/docs/api/checkPriorAuth)                           | `POST /api/v1/prior-auth/check` | Live       |
| [`comparePolicies`](/docs/api/comparePolicies)                         | `POST /api/v1/policies/compare` | Live       |
| [`getPolicyChanges`](/docs/api/getPolicyChanges)                       | `GET /api/v1/policies/changes`  | Live       |
| [`batchLookupCodes`](/docs/api/batchLookupCodes)                       | `POST /api/v1/codes/batch`      | Live       |
| [`searchDrugFormularyEvidence`](/docs/api/searchDrugFormularyEvidence) | `GET /api/v1/drugs/formulary`   | Live       |
| [`listPolicies`](/docs/api/listPolicies)                               | `GET /api/v1/policies`          | Live       |

## Get started [#get-started]

Sign up free at [backworkhealth.com](https://backworkhealth.com/sign-up). Your organization gets 100 free starter credits, and you create a live key yourself in [API usage and keys](https://backworkhealth.com/api-usage). When you need more, buy a Credits pack ($20 for 1,000 requests) or start a monthly pack on the same page.

<Cards>
  <Card title="Quickstart" href="/docs/quickstart" description="Sign up, create a key, and make your first call" />

  <Card title="Try the sandbox" href="/docs/sandbox" description="A test key with one command and synthetic data, no account" />

  <Card title="Pricing and credits" href="/docs/pricing" description="Packs, overage, and what each endpoint costs" />

  <Card title="Connect an AI client" href="/docs/mcp" description="The hosted MCP server for Claude, Cursor, VS Code, and Codex" />
</Cards>

## What Backwork does [#what-backwork-does]

Coverage policies are spread across CMS documents, Medicare contractor publications, and commercial payer portals, mostly as PDFs. Backwork extracts coverage criteria, prior-authorization requirements, and code lists from Medicare LCDs, Articles, and NCDs and from commercial payer policies, and serves them as JSON with a link to each source document.

Every code linked to a policy says where the link came from: the policy document lists it (`document`), or Backwork inferred it from the policy title (`inferred_title_match`). See [Code sources](/docs/code-sources).

## Your first request [#your-first-request]

```bash
curl "https://backworkhealth.com/api/v1/codes/lookup?code=99213&include=policies" \
  -H "Authorization: Bearer $BACKWORK_API_KEY"
```

The [Quickstart](/docs/quickstart) shows the response.

## Common tasks [#common-tasks]

### Check whether a procedure needs prior authorization [#check-whether-a-procedure-needs-prior-authorization]

```bash
curl -X POST "https://backworkhealth.com/api/v1/prior-auth/check" \
  -H "Authorization: Bearer $BACKWORK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"procedure_codes": ["27447"], "state": "TX"}'
```

The response lists the matching policies, the coverage status, and the documentation the policies ask for. See [`checkPriorAuth`](/docs/api/checkPriorAuth).

### Compare coverage across MAC jurisdictions [#compare-coverage-across-mac-jurisdictions]

Medicare coverage varies by MAC jurisdiction: a procedure covered in one can have different criteria in another.

```bash
curl -X POST "https://backworkhealth.com/api/v1/policies/compare" \
  -H "Authorization: Bearer $BACKWORK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"procedure_codes": ["76942"], "jurisdictions": ["J5", "J6", "JM"]}'
```

### Review recent policy changes [#review-recent-policy-changes]

```bash
curl "https://backworkhealth.com/api/v1/policies/changes?since=2026-09-01T00:00:00Z&limit=20" \
  -H "Authorization: Bearer $BACKWORK_API_KEY"
```

### Look up many codes at once [#look-up-many-codes-at-once]

```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"], "include": "policies"}'
```

### Search commercial formulary evidence [#search-commercial-formulary-evidence]

Search pharmacy-benefit evidence from CVS Caremark, Express Scripts, and UnitedHealthcare / Optum Rx:

```bash
curl "https://backworkhealth.com/api/v1/drugs/formulary?q=metformin&payer=all&limit=5" \
  -H "Authorization: Bearer $BACKWORK_API_KEY"
```

Each record names its source and includes tier, coverage status, utilization management requirements, alternatives, and the source URL.

### Export as CSV or FHIR [#export-as-csv-or-fhir]

Policy endpoints return JSON by default, CSV with `format=csv`, and FHIR R4 `CoverageEligibilityResponse` resources with `format=fhir`:

```bash
curl "https://backworkhealth.com/api/v1/policies?icd10=E11.9&format=csv" \
  -H "Authorization: Bearer $BACKWORK_API_KEY"
```

## Limits [#limits]

* Backwork covers Medicare LCDs, Articles, and NCDs and the commercial payer policies it has collected. It does not cover state Medicaid policies.
* The API returns what the policies say. It does not make coverage decisions for you.
* Confirm codes with `source: "inferred_title_match"` against the policy document before you rely on them.

## Resources [#resources]

* [API reference](/docs/api): every endpoint
* [SDKs and HTTP clients](/docs/sdks): call the API from any language, or generate a typed client
* [Authentication](/docs/authentication): keys and scopes
* [Pricing and credits](/docs/pricing): packs and request costs
* [Rate limits](/docs/rate-limits): per-minute limits and headers
* [Errors](/docs/errors): every error code and whether to retry
* [Build with AI](/docs/build-with-ai): Markdown docs, `llms.txt`, and what an agent should check
