OIG Exclusion List (LEIE) Scraper
Pricing
from $3.56 / 1,000 exclusion records
OIG Exclusion List (LEIE) Scraper
Search and download the HHS OIG List of Excluded Individuals/Entities: 83,000+ excluded providers with NPI, DOB, address, exclusion authority and date, monthly new exclusions and reinstatements, roster screening, NPI registry and geocoding enrichment.
Pricing
from $3.56 / 1,000 exclusion records
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
OIG Exclusion List (LEIE) Scraper
Search, filter and download the HHS OIG exclusion list — the List of Excluded Individuals/Entities (LEIE) — and screen your own roster against it. Every excluded provider with name, category, specialty, NPI, UPIN, date of birth, address, the exclusion authority with its meaning and minimum period, and the exclusion date. Monthly new exclusions and reinstatements as their own feeds. Optional NPI registry profile and geocoded address. No login, no API key, no browser. Export to CSV, JSON, Excel, or XML.
The OIG publishes the LEIE as a 15 MB CSV plus monthly supplement files, and an online search that only takes one name at a time and shows fewer fields than the file. This Actor reads the same public files, normalises them into clean rows, applies your filters, and can check a list of employees, vendors or NPIs against the whole database in one run.
| Who uses it | What they use the LEIE for |
|---|---|
| Healthcare compliance and HR teams | Monthly screening of staff, contractors and vendors, as CMS and state Medicaid programs require |
| Credentialing and provider-enrollment teams | Checking an NPI or a physician before onboarding, with the NPPES profile beside the exclusion |
| Pharmacies, DME suppliers and billing companies | Watching the monthly new exclusions in their state and specialty |
| Healthcare law firms and investigators | Exclusion history by authority, date and location; reinstatements as they happen |
| Compliance-software and data vendors | A normalised monthly feed of exclusions and reinstatements with stable record keys |
What it does
The LEIE holds about 83,800 currently excluded individuals and entities (80,400 people and 3,400 businesses). OIG refreshes the file around the 10th of each month with the actions of the previous month, and publishes each month's new exclusions (about 250) and reinstatements (40–80) as separate supplement files, kept online for roughly the last 19 months.
The Actor returns one row per record:
- 🧾 The exclusion record: last, first and middle name or business name, OIG's general category and specialty, NPI and UPIN, date of birth, street address, city, state and ZIP, the exclusion type code, and the exclusion date.
- ⚖️ The authority, decoded: each
1128b4-style code becomes1128(b)(4), its class (mandatory or permissive exclusion), the plain-English reason ("License revocation, suspension, or surrender") and the statutory minimum period. - 🗓️ Monthly feeds: choose the new-exclusions supplement, the reinstatements supplement (with the reinstatement date), or both, for the last N months.
- 🔍 Screening mode: paste a list of names ("LAST, FIRST" with an optional date of birth), business names or NPIs; the Actor returns one row per subject with
matched, the match quality, and the matching records embedded. - 🏥 NPI registry profile (optional): for records with an NPI, the CMS NPPES profile — active/deactivated status, enumeration date, credential, sex, primary taxonomy and licence, practice and mailing address with phone and fax, and the authorized official for organisations.
- 📍 Geocoded address (optional): latitude, longitude, the standardised address and the state, county, tract and block FIPS codes from the U.S. Census Bureau geocoder.
Filters run on the downloaded list, so combining name, state, city, ZIP, category, specialty, authority, class, date range, NPI and entity type costs nothing extra. Rows are sorted newest first by default.
Every row contains: recordKey, recordType, source, supplementMonth, entityType, fullName, lastName, firstName, middleName, businessName, generalCategory, specialty, upin, npi, dateOfBirth, address, city, state, zip, exclusionType, exclusionAuthority, exclusionClass, exclusionDescription, minimumPeriod, exclusionDate, daysSinceExclusion, reinstatementDate, waiverDate, waiverState, dataAsOf, sourceUrl, scrapedAt — plus npiRegistry, npiStatus, npiPrimaryTaxonomy, npiPracticePhone with the NPI profile, and geocode, latitude, longitude with geocoding. Screening rows contain subject, subjectType, parsedSubject, matchMode, matched, matchCount, matchQuality and matches.
What you can do with OIG exclusion data
Screen your workforce every month.
A hospital compliance officer schedules a monthly run with screenSubjects set to the employee roster ("DOE, JANE, 1980-05-14") and vendor list, and routes every row with matched: true to review. Dates of birth resolve common names; NPIs resolve providers exactly.
Watch new exclusions in your state.
A pharmacy chain runs source: "new-exclusions" with states: ["TX"] on the 15th of each month and gets the providers excluded in Texas last month, decoded authority included.
Verify a provider before enrollment.
A credentialing team passes the NPI with includeNpiRegistry: true and sees the exclusion beside the current NPPES profile — is the NPI still active, which licence and taxonomy, which practice address.
Track reinstatements.
A law firm pulls source: "reinstatements" for the last 12 months to find clients and counterparties whose exclusions ended, with the exact reinstatement date.
Build a map of excluded providers.
An investigative team filters exclusionClass: "mandatory" with includeGeocode: true and plots the coordinates by county FIPS.
Why choose this scraper
| What you get | |
|---|---|
| The whole list, normalised | 83,800 records with clean nulls (no 0000000000 NPIs or 00000000 dates), ISO dates and a stable recordKey for deduplication across months |
| The authority explained | Class, reason and minimum period for every exclusion code, straight from OIG's authorities table |
| Monthly feeds | New exclusions and reinstatements per month, each row tagged with its supplement month |
| Screening with match quality | npi, exact (name and date of birth), name, first-initial, business-exact, business-partial, last-name-only |
| Two enrichments | CMS NPPES profile and Census geocoding, charged only where they return data |
| Server-side nothing, client-side everything | Fifteen filters combine freely; a run costs one 15 MB download plus the rows you keep |
| No browser, no proxy | Plain HTTP against public files; runs in seconds |
How it compares
| Feature | ParseForge | Typical LEIE screening actors |
|---|---|---|
| Full list with 15 combinable filters | Yes | Usually name or NPI lookup only |
| Monthly new exclusions and reinstatements as feeds | Yes | Not listed |
| Exclusion authority decoded (class, reason, minimum period) | Yes | Code only |
| Roster screening with dates of birth and match quality | Yes | Some |
| NPPES profile per NPI | Yes | Some |
| Geocoded address with FIPS codes | Yes | Not listed |
| Price per record | $0.004 | $0.002 – $0.10 |
Configure the run
Pick a source, add filters or a list of subjects to screen, and set the maximum number of records. The two enrichments are opt-in because each costs a request per record.
A first run with the defaults (the 100 most recent exclusions):
{"source": "full-list","maxItems": 100,"sortBy": "newest"}
Last month's new exclusions in two states:
{"source": "new-exclusions","supplementMonths": 1,"states": ["TX", "OK"],"maxItems": 1000}
Screen a roster:
{"screenSubjects": ["SMITH, JOHN, 1970-06-08", "GONZALEZ, MARIA", "1346474764", "Benimar Medical Center Inc"],"screenMatchMode": "standard","maxItems": 500}
Excluded physicians with an NPI, with the NPPES profile and coordinates:
{"generalCategories": ["PHYSICIAN", "MEDICAL PRACTICE"],"hasNpi": true,"excludedAfter": "2025-01-01","includeNpiRegistry": true,"includeGeocode": true,"maxItems": 2000}
Reinstatements over the last year:
{"source": "reinstatements","supplementMonths": 12,"maxItems": 2000}
Limits
- The LEIE is a monthly file:
dataAsOfon each row is the date OIG last published it. Exclusions taken after that date are not in the list yet, on oig.hhs.gov or anywhere else. - OIG truncates names and addresses (last name 20 characters, business name 30, address 30). Screening compensates for truncated business names; a person's full first name may appear shortened in the record.
- A date of birth is published for 95% of individuals; an NPI for about 8,800 records (most exclusions predate NPIs or concern people who never had one).
hasNpiandhasDateOfBirthkeep only records that carry them. - Screening uses the full list only, so a subject reinstated last month correctly comes back unmatched. Up to 25 matching records are embedded per subject;
matchCountreports the true number. - OIG keeps about the last 19 monthly supplements online; older months are not available on the site.
- The Census geocoder does not resolve P.O. boxes, "C/O" addresses or foreign addresses (
state: "XX"); those rows returngeocode.matched: falseand are not charged. - The full list downloads and parses in a few seconds; 5,000 records write in under 10 seconds, the whole list in a couple of minutes. Use the filters or
maxItemsfor routine runs. - Apify gives every run a cost ceiling derived from your balance (
maxTotalChargeUsd). The Actor checks it before each batch and stops cleanly at it, so you only receive rows that were paid for; the status message says "run cost limit reached".
Pricing
Pay-per-event. $4 per 1,000 records plus $0.02 per run start. Extras are charged only when enabled and only for the records that actually returned data:
| Event | Price | When |
|---|---|---|
exclusion-record | $0.004 | Every row from the full list |
monthly-exclusion-record | $0.004 | Every row from a new-exclusions supplement |
reinstatement-record | $0.004 | Every row from a reinstatements supplement |
supplement-file | $0.01 | Each monthly supplement file read |
screening-check | $0.008 | Each subject screened |
screening-match | $0.004 | Each matching record embedded in a screening row |
npi-lookup | $0.005 | NPI registry profile on, NPPES returned the profile |
geocode | $0.003 | Geocoding on, the address resolved |
| Run | Approximate cost |
|---|---|
| 100 most recent exclusions | $0.42 |
| Last month's new exclusions and reinstatements (about 330 rows) | $1.36 |
| 500 employees screened, 3 matches | $4.03 |
| 1,000 records with an NPI, NPPES profile and geocoding (75% resolved) | $11.27 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 records (or 10 screened subjects) as a preview. Upgrade your Apify plan to pull the whole list.
Run it
- Create a free Apify account with $5 in credit.
- Open the OIG Exclusion List (LEIE) Scraper.
- Pick a source, set filters or paste the subjects to screen, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab, or schedule the run monthly.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to the OIG exclusion list through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/hhs-oig-leie-exclusions-scraper"
Then ask: "Is NPI 1346474764 on the OIG exclusion list, and under which authority?"
FAQ
Is the data public? Yes. OIG publishes the LEIE for anyone to download and requires health care providers to check it; the Actor reads only those public files.
How current is it? OIG updates the LEIE by the middle of each month with the previous month's actions. dataAsOf on every row tells you which release you are looking at.
Why does my search on exclusions.oig.hhs.gov show a person this Actor does not return? The online search and the downloadable file are refreshed together, so the two agree; check the spelling and the lastName prefix. If the person was reinstated, they leave the list — use source: "reinstatements" to see when.
Can it verify an SSN or EIN? No. OIG's "Verify" step needs the SSN/EIN entered on its own site and returns only a yes/no; the Actor matches on name, date of birth and NPI instead.
