Medicare Revoked Providers List (CMS Revocations) Scraper avatar

Medicare Revoked Providers List (CMS Revocations) Scraper

Pricing

$20.00 / 1,000 revoked provider records

Go to Apify Store
Medicare Revoked Providers List (CMS Revocations) Scraper

Medicare Revoked Providers List (CMS Revocations) Scraper

Medicare revoked providers list from CMS: every provider and supplier with a revoked Medicare enrollment, with NPI, state, provider type, 42 CFR 424.535 reason codes, revocation date and re-enrollment bar expiration. Filter by state, type, date, reason, active bar or NPI/name. $0.02/record.

Pricing

$20.00 / 1,000 revoked provider records

Rating

0.0

(0)

Developer

Jonathan Serle

Jonathan Serle

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

Pulls the CMS Revoked Medicare Providers and Suppliers list into clean, deduplicated JSON records: NPI, name, state, provider type, the 42 CFR 424.535 revocation authorities, the revocation effective date and the re-enrollment bar expiration. Filter by state, provider type, revocation date, reason code, active bar, or name/NPI.

It is the second exclusion-type screen most compliance teams want alongside the OIG LEIE, and it answers a question LEIE does not: why the enrollment was revoked, under which authority, and when the provider is allowed to come back. 8,136 records on 2026-08-23: 4,739 organizations, 3,397 individuals, across 53 states and territories and 172 provider types.

Who uses this data

  • Payer and health-system credentialing teams re-screening a provider roster. Match on NPI or name, get the revocation authority and the date the bar lifts.
  • Compliance and FWA teams running a second exclusion screen alongside the OIG LEIE. A CMS revocation is not the same event as an OIG exclusion, and the two lists do not carry the same people.
  • Healthcare recruiters and MSOs checking a candidate or acquisition target before an offer or a deal.
  • Provider data vendors and RCM platforms that need the list as records rather than as a quarterly CSV to re-parse.
  • Analysts studying revocation patterns: which authorities, which provider types, which states, over time.

What you get

One dataset item per revoked enrollment, most recent revocation first.

{
"source": "https://data.cms.gov/data-api/v1/dataset/a6496a7d-4e19-479a-a9ad-d4c0a49e07c3/data",
"attribution": "Centers for Medicare & Medicaid Services (CMS)",
"enrollmentId": "I20100324000818",
"npi": "1518295484",
"entityType": "individual",
"fullName": "FARBOD FARMAND",
"organizationName": null,
"firstName": "FARBOD",
"middleName": null,
"lastName": "FARMAND",
"state": "CA",
"providerType": "PRACTITIONER - INTERNAL MEDICINE",
"revocationReason": "424.535(A)(19) Affiliation That Poses An Undue Risk",
"revocationReasonCodes": ["424.535(A)(19)"],
"revocationReasons": [
{ "code": "424.535(A)(19)", "description": "Affiliation That Poses An Undue Risk" }
],
"revocationEffectiveDate": "2026-05-27",
"reenrollmentBarExpirationDate": "2036-05-26",
"reenrollmentBarActive": true,
"multipleNpi": false,
"landingPage": "https://data.cms.gov/provider-characteristics/medicare-provider-supplier-enrollment/revoked-medicare-providers-and-suppliers",
"fetchedAt": "2026-08-23T11:38:08.544Z"
}

Notes on the fields that are easy to get wrong:

  • enrollmentId is the key, not npi. One NPI can hold several revoked Medicare enrollments; NPI 1801839063 has five, one each in FL, OH, TX, TN and ME. Records are deduplicated on enrollmentId, so all five are delivered. Deduplicating on NPI would silently drop four real findings.
  • npi can be null. CMS publishes no NPI for 123 of the 8,136 records. The enrollment is still real.
  • revocationReasons is split out of the source's semicolon-joined string so you can test a code without substring-matching prose. revocationReasonCodes is the same list flattened.
  • reenrollmentBarActive is computed at fetch time, as reenrollmentBarExpirationDate >= the day the data was read. Because CMS refreshes quarterly, a bar that lapsed since the last refresh is still published: 90 of the 8,136 records were already past their bar date on 2026-08-23. Those records are delivered by default, since they are what CMS publishes. Set activeBarOnly to drop them.
  • entityType is derived from whether CMS filled ORG_NAME or the person-name columns. fullName gives you one column to match on either way.
  • Dates are ISO 8601 calendar dates, exactly as CMS publishes them. Missing values are null, never "".

The run summary under the OUTPUT key reports the table size, rows fetched, records matched, records delivered, and whether the charge limit stopped the run.

Input

Everything is optional. Run it with no input and you get the 100 most recent revocations.

FieldTypeDefaultNotes
statestring[]-Two-letter codes, matched exactly, e.g. ["NY","TX"].
providerTypestring-Case-insensitive substring, e.g. PHARMACY, HOME HEALTH, DME SUPPLIER.
revokedFromISO date-Revocation effective date on or after this day, inclusive.
revokedToISO date-Revocation effective date on or before this day, inclusive.
reasonCodestring[]-42 CFR 424.535 authorities, as an OR. Full (424.535(A)(3)) or shorthand (A3).
keywordstring-Case-insensitive substring across name, organization name, NPI and enrollment ID.
activeBarOnlybooleanfalseKeep only records whose re-enrollment bar has not expired as of the fetch date.
maxResultsinteger1001 to 10000. This is your cost cap: you pay per delivered record.
includeRawbooleanfalseAttach a raw object with the CMS columns under their original names.

Filters combine as AND. reasonCode matches a code anywhere in a multi-reason record, not only the first one listed. 4,460 of the 8,136 records carry more than one authority, so a first-reason-only match would miss most felony revocations.

Example inputs

Screen one provider by NPI or name (credentialing):

{
"keyword": "1518295484",
"maxResults": 10
}

Every provider still under an active re-enrollment bar in your states (roster re-screen):

{
"state": ["NY", "NJ", "CT"],
"activeBarOnly": true,
"maxResults": 2000
}

Felony-based revocations this year (424.535(a)(3) is the felony conviction authority):

{
"reasonCode": ["A3"],
"revokedFrom": "2026-01-01",
"maxResults": 1000
}

Pricing

$0.02 per record; you pay only for records delivered. One charge per dataset item, nothing else. Set maxResults and you have set your bill: 100 records is $2.00. Filters are applied before delivery, so a search that matches nothing costs nothing.

Data source, refresh and licence

Data comes from the Centers for Medicare & Medicaid Services (CMS) dataset Revoked Medicare Providers and Suppliers, read from its public API:

Refresh: CMS publishes the dataset quarterly (accrualPeriodicity: R/P3M in its catalogue). The extract available on 2026-08-23 was modified 2026-08-04 and covered the quarter 2026-04-01 to 2026-06-30. A monthly or quarterly schedule tracks it; running more often will usually return the same rows.

Licence: CMS lists the dataset's licence in its own catalogue (https://data.cms.gov/data.json) as https://www.usa.gov/government-works.

Attribution: Centers for Medicare & Medicaid Services (CMS). This Actor is not affiliated with or endorsed by CMS, and it is not a legal or regulatory determination about any provider. Verify a finding against the CMS record before acting on it.

https://data.cms.gov/robots.txt sets crawl-delay: 10 and disallows /data-api/v1/download-request and the view tracker; the dataset data path this Actor reads is not disallowed. The Actor honours the ten-second delay between every request, sends a descriptive User-Agent, never opens parallel connections, and caches nothing between runs. A full unfiltered read is two requests and about twelve seconds, because the API caps one response at 6,500 rows.

Limitations

  • Revocations, not exclusions. This is CMS enrollment revocation under 42 CFR 424.535. It is a different action from an OIG exclusion on the LEIE, and neither list is a superset of the other. Screen both.
  • This is CMS's currently published revoked-provider table, which can lag bar expiration. A revoked provider drops off once CMS processes the lapsed bar out, so it is not a historical record of every revocation ever issued; and until that processing happens, expired bars are still listed. Use activeBarOnly for the strict view, and treat reenrollmentBarExpirationDate as the authoritative field either way.
  • No address, no specialty taxonomy, no OIG cross-reference. CMS publishes twelve columns and this Actor delivers all of them; there is nothing richer behind the endpoint.
  • Names are as CMS publishes them, uppercase and unpunctuated, with no middle name on many records. Match loosely.
  • A record is an enrollment, not a person. Counting rows counts enrollments; count distinct npi if you want providers.

FAQ

How do I check if a provider has been revoked from Medicare?

Put the NPI, name or enrollment ID in keyword. Every revoked enrollment that matches comes back with the revocation authority, the effective date and the date the re-enrollment bar expires. No match means the provider is not on CMS's currently published list; it does not prove there was never a revocation.

What is the difference between a Medicare revocation and an OIG exclusion?

A revocation is CMS terminating a provider's Medicare enrollment under 42 CFR 424.535, with a re-enrollment bar. An OIG exclusion is a separate action under the Social Security Act that appears on the LEIE. Neither list is a superset of the other, so compliance screening uses both.

What is a Medicare re-enrollment bar?

The period after a revocation during which the provider may not re-enroll in Medicare. reenrollmentBarExpirationDate is the date it ends, and reenrollmentBarActive tells you whether it was still running on the day the data was read.

What do the 424.535 reason codes mean?

Each code is a paragraph of 42 CFR 424.535(a), the regulation listing the grounds for revocation. revocationReasons carries CMS's own short description next to each code, for example 424.535(A)(19) Affiliation That Poses An Undue Risk.

How often is the CMS revoked providers list updated?

Quarterly. The extract read on 2026-08-23 was modified 2026-08-04 and covered April to June 2026.

Does the list include addresses?

No. CMS publishes twelve columns and none is an address. Join on npi against the NPPES registry if you need one.

Other datasets by the same author, all pay-per-record with source, refresh cadence and licence stated on each listing:

Nursing home and long-term care data

Medicare provider enrollment data

Public procurement and RFP feeds

Developer and AI test data