Introduction
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 | GET /api/v1/codes/lookup | Live |
checkPriorAuth | POST /api/v1/prior-auth/check | Live |
comparePolicies | POST /api/v1/policies/compare | Live |
getPolicyChanges | GET /api/v1/policies/changes | Live |
batchLookupCodes | POST /api/v1/codes/batch | Live |
searchDrugFormularyEvidence | GET /api/v1/drugs/formulary | Live |
listPolicies | GET /api/v1/policies | Live |
Get started
Sign up free at backworkhealth.com. Your organization gets 100 free starter credits, and you create a live key yourself in API usage and keys. When you need more, buy a Credits pack ($20 for 1,000 requests) or start a monthly pack on the same page.
Quickstart
Sign up, create a key, and make your first call
Try the sandbox
A test key with one command and synthetic data, no account
Pricing and credits
Packs, overage, and what each endpoint costs
Connect an AI client
The hosted MCP server for Claude, Cursor, VS Code, and Codex
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.
Your first request
curl "https://backworkhealth.com/api/v1/codes/lookup?code=99213&include=policies" \
-H "Authorization: Bearer $BACKWORK_API_KEY"The Quickstart shows the response.
Common tasks
Check whether a procedure needs prior authorization
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.
Compare coverage across MAC jurisdictions
Medicare coverage varies by MAC jurisdiction: a procedure covered in one can have different criteria in another.
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
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
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 pharmacy-benefit evidence from CVS Caremark, Express Scripts, and UnitedHealthcare / Optum Rx:
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
Policy endpoints return JSON by default, CSV with format=csv, and FHIR R4 CoverageEligibilityResponse resources with format=fhir:
curl "https://backworkhealth.com/api/v1/policies?icd10=E11.9&format=csv" \
-H "Authorization: Bearer $BACKWORK_API_KEY"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
- API reference: every endpoint
- SDKs and HTTP clients: call the API from any language, or generate a typed client
- Authentication: keys and scopes
- Pricing and credits: packs and request costs
- Rate limits: per-minute limits and headers
- Errors: every error code and whether to retry
- Build with AI: Markdown docs,
llms.txt, and what an agent should check
Last updated on