What it returns
Medicare's national and local coverage rules in one schema, from the CMS Medicare Coverage Database:
| Type | What it is |
|---|---|
| NCD | National coverage determinations, with chapter and a laboratory flag |
| NCA, CAL | National coverage analyses and CAL reviews: issue, requestor, benefit category, comment periods, proposed and final decision dates |
| MEDCAC | Medicare Evidence Development and Coverage Advisory Committee meetings |
| TA, MCD | Technology assessments and Medicare coverage documents (guidance) |
| LCD | Final and proposed local coverage determinations from each Medicare Administrative Contractor, with comment end dates |
| Article | Billing and coding articles, including MolDX molecular and genetic testing policies |
About 4,000 documents. The contractor is split from the document id, so the same policy issued by several contractors (MolDX articles from Palmetto, Noridian, CGS and WPS) can be grouped by title. firstSeen dates new documents and new versions. molecular marks MolDX, molecular, genetic, genomic, NGS, pharmacogenomic and biomarker testing documents. Refreshed daily. LCD and article bodies and code lists are licensed by the AMA, ADA and AHA and are not included; each row links to the CMS page.
Request
POST https://api.pushbuild.com/medicare-coverage-decisions/run with a JSON body. Send your key in the X-API-Key header.
| Field | Type | Description |
|---|---|---|
query | string | Words that must all appear in the title, NCA issue summary, note, benefit category, requestor or document id. With Regex on, a regular expression. |
regex | boolean | Treat Keywords as a regular expression (case-insensitive). Default: false. |
documentTypes | list of strings | NCD, NCA, CAL, MEDCAC, TA, MCD, LCD, Article. |
displayIds | list of strings | e.g. L38043, A57901, 90.2, CAG-00436R. |
contractor | string | Medicare Administrative Contractor name contains this text, e.g. Palmetto, Noridian, Novitas. |
scope | string: National, Local | National or Local. |
status | string | Status contains this text, e.g. Active, Proposed, Retired, Open, Closed, Future effective. |
molecularOnly | boolean | MolDX and molecular, genetic, genomic, NGS, pharmacogenomic and biomarker testing documents. Default: false. |
labOnly | boolean | National coverage determinations flagged as laboratory. Default: false. |
openForComment | boolean | Proposed LCDs and national analyses with a comment period still open. Default: false. |
excludeRetired | boolean | Drop retired LCDs and articles and closed analyses. Default: false. |
updatedSince | string | YYYY-MM-DD. |
firstSeenSince | string | New documents and new versions since this date (YYYY-MM-DD). |
sort | string: updated, firstSeen, commentEnd | updated (default), firstSeen, commentEnd. |
groupBy | string: documentType, contractor, status, month | Count by documentType, contractor, status or month. |
dataset | string: documents, sources | documents (default) or sources: last refresh and counts. |
maxItems | integer | Maximum items to return (1-500). Default: 100. |
Example
curl -X POST https://api.pushbuild.com/medicare-coverage-decisions/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: $0.80 per 1,000 records. 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/medicare-coverage-decisions. 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