For Agents
Query Medicare provider data (hospitals, nursing homes, hospices, clinicians, and quality measures) via the public CMS DKAN datastore.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the CMS Provider Data API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with CMS Provider Data API.
Query any CMS provider dataset by distribution ID via /datastore/query/{distributionId}
Run SQL-style filters across the datastore using GET /datastore/sql
Search the full provider dataset catalog with GET /search and GET /search/facets
GET STARTED
Use for: Find Medicare-rated hospitals in a specific zip code, Search the CMS catalog for nursing home quality datasets, Run a SQL query against the CMS datastore, Download a CSV of dialysis facility ratings
Not supported: Does not handle individual patient records, claims processing, or insurance enrollment. Use for public CMS provider, facility, and quality datasets only. This is the CMS Provider Data Catalog programme, separate from Blue Button, from the Beneficiary Claims Data API, and from the datasets on data.cms.gov outside /provider-data.
The API exposes the public Centers for Medicare and Medicaid Services provider datasets (hospitals, nursing homes, dialysis facilities, home health agencies, hospices, doctors and clinicians) through DKAN-style query, download, and SQL endpoints. Callers can search the 234-dataset catalog, fetch metadata schemas, and run filtered queries against any individual distribution to retrieve quality measures, ratings, and provider directory data. CMS publishes its own OpenAPI 3.0.2 document for this API at https://data.cms.gov/provider-data/api/1; the spec behind this page is a Jentic-authored 25-operation subset of that surface, so treat the CMS document as canonical for anything it covers that this one does not.
Download filtered query results as CSV through /datastore/query/download
Browse and inspect dataset metadata via /metastore/schemas and /metastore/schemas/dataset/items/{identifier}
Patterns agents use CMS Provider Data API for, with concrete tasks.
★ Medicare Care Compare Quality Lookups
Fetch the hospital measures behind Medicare Care Compare (readmission rates, mortality, patient experience scores) for a specific hospital or set of hospitals. Use GET /search to locate the relevant dataset, then /datastore/query/{distributionId} with conditions on facility ID or state to filter results. The read endpoints take no credentials, so a quality dashboard needs no key exchange or registration first.
Search for the Hospital General Information dataset, then query /datastore/query/{distributionId} for hospitals in California and return the top 10 by overall rating.
Nursing Home and Long-Term Care Research
Pull nursing home star ratings, staffing data, and inspection results for analytics or consumer-facing tools. /datastore/sql lets the caller run SQL-style filters across the long-term-care datasets and /datastore/query/download returns CSV for downstream warehousing. CMS states that works of the U.S. Government are in the public domain and need no permission to reuse, asking for attribution to the agency and no implied endorsement.
Run a SQL query via /datastore/sql to return nursing homes in Texas with overall rating of 5 stars.
Dataset Catalog Discovery
Programmatically browse the full set of CMS provider datasets to keep an internal catalog or data warehouse in sync. GET /search returns dataset records with identifiers, /search/facets exposes filterable categories, and /metastore/schemas/{schema_id}/items lists the items under each schema.
Call GET /search with the keyword 'hospice' and return the dataset identifiers and titles for all matching datasets.
AI Agent Provider Data Lookups via Jentic
An AI agent answering healthcare questions discovers CMS provider data through Jentic, loads the relevant query schema, and executes filtered datastore calls. Because /search and /datastore/query take no credentials, the agent can chain them in a single workflow with nothing to store or rotate. Your self-hosted Jentic instance still decides which operations the agent may call and logs each one.
Use Jentic to search for 'CMS hospital data', load the /datastore/query/{distributionId} schema, and return Medicare-rated hospitals in zip code 10001.
25 endpoints — the api exposes the public centers for medicare and medicaid services provider datasets (hospitals, nursing homes, dialysis facilities, home health agencies, hospices, doctors and clinicians) through dkan-style query, download, and sql endpoints.
METHOD
PATH
DESCRIPTION
/search
Search the CMS dataset catalog
/datastore/sql
Run a SQL-like query
/datastore/query/{distributionId}
Query a single dataset distribution
/datastore/query/{distributionId}/download
Download query results as CSV
/metastore/schemas/{schema_id}/items
List all items for a metadata schema
/metastore/schemas/dataset/items/{identifier}
Fetch a dataset record
/search
Search the CMS dataset catalog
/datastore/sql
Run a SQL-like query
/datastore/query/{distributionId}
Query a single dataset distribution
/datastore/query/{distributionId}/download
Download query results as CSV
/metastore/schemas/{schema_id}/items
List all items for a metadata schema
Three things that make agents converge on Jentic-routed access.
Credential isolation
The 18 read operations need no credential, so for most agents there is nothing to store or rotate. If you do hold HTTP Basic credentials for the administrative operations, your self-hosted instance keeps them and injects them at call time rather than handing them to the agent.
Intent-based discovery
Agents search by intent (e.g. 'find Medicare hospital ratings') and Jentic returns the matching CMS query operation with its parameter schema, so the agent can construct a valid distribution query without parsing DKAN documentation.
Time to first call
Alternatives and complements available in the Jentic catalogue.
Specific to using CMS Provider Data API through Jentic.
What authentication does the CMS Provider Data API use?
It depends on the operation. The CMS document declares a single scheme, HTTP Basic, and applies it to the write and administrative operations only. Of the 25 operations behind this page, 18 are callable with no credentials at all (including GET /search, GET /search/facets, GET /datastore/sql, GET /datastore/query/{distributionId} and the /metastore/schemas reads) and 7 are not: GET /datastore/imports, POST /datastore/imports, DELETE /datastore/imports/{identifier}, POST /metastore/schemas/dataset/items, PATCH /metastore/schemas/dataset/items/{identifier}, PUT /metastore/schemas/dataset/items/{identifier} and GET /metastore/schemas/{schema_id}/items/{identifier}/revisions. An uncredentialed call to one of those returns 401 with a Basic challenge on the Provider Data Catalog realm. GET /datastore/imports/{identifier} is not in that set: the CMS document leaves that one open.
Where is the official CMS Provider Data OpenAPI specification?
CMS serves it from the API root itself: request https://data.cms.gov/provider-data/api/1 with an Accept: application/json header and you get an OpenAPI 3.0.2 document covering 22 paths and 33 operations. The Provider Data Catalog's own API Documentation page renders the same document, loading the https://data.cms.gov/provider-data/api/1?authentication=false projection of it, which lists the 18 operations that need no credentials. The spec behind this page is a Jentic-authored 25-operation subset of the CMS document, not a copy of it.
Can I query Medicare hospital quality measures with the CMS Provider Data API?
Yes. Search the dataset catalog with GET /search for terms such as 'hospital general information' or 'readmission', then call /datastore/query/{distributionId} with the returned identifier and conditions on facility ID or state to retrieve quality measures. The Hospital General Information distribution alone returns 5,432 facility rows with fields including hospital_type, hospital_ownership and hospital_overall_rating.
What are the rate limits for the CMS Provider Data API?
The CMS specification declares no rate limit and no 429 response, and CMS publishes no request-rate policy for this API. What it does publish is a row-limit warning: a 500 response to a query is most likely memory exhaustion, calls time out if the limit is set too high, and complex queries should use a smaller limit value with the limit and offset parameters to page through result sets. For bulk extracts use /datastore/query/{distributionId}/download, which returns CSV directly.
How do I run a SQL-style query against the CMS datastore?
Call GET /datastore/sql with a query built from the DKAN bracketed dialect over a distribution UUID rather than a table name, for example query=[SELECT * FROM b0a92ff7-a457-54f9-b247-20022db14590][LIMIT 2]. An empty query is rejected with 400. Through Jentic, search for 'query CMS data', load the GET /datastore/sql operation schema, and execute it: the parameter shape comes from the spec, so the agent does not have to learn the dialect from the docs first.
Is the data returned by this API redistributable?
CMS states that works of the U.S. Government are in the public domain and that you do not need permission to reuse them, so results from /datastore/query and /datastore/query/{distributionId}/download can be cached and republished. CMS asks for two things in return: attribution to the agency as the source, and that your materials do not give the false impression that the government endorses your commercial products or services.
Is there a CMS Provider Data MCP server?
You do not need an MCP server to give your agent CMS provider data. Jentic connects it directly from the API Directory: import it and, because the read surface takes no credentials, your agent can start calling it right away, with no extra server's tool definitions loaded into its context.
Can I limit what my agent is allowed to do with the CMS Provider Data API?
Yes. Say an agent only needs to answer questions about provider quality: allow GET /search, GET /search/facets, GET /datastore/query/{distributionId} and GET /datastore/sql, and leave the datastore import and metastore write operations out of the allowed set. The agent can then search and read but cannot start an import or edit a dataset record, and you can widen the set later if the task grows.
/metastore/schemas/dataset/items/{identifier}
Fetch a dataset record