Provider Exclusion Screening API
Automate provider exclusion screening with one API call. Check whether a provider or organization is excluded, sanctioned, debarred, opted out or deactivated across OIG LEIE, SAM.gov, OFAC, FDA and state Medicaid exclusion lists — with a verdict, confidence score, matching source record, and the rule that produced it.
Send a provider. Get a defensible answer.
Two synchronous endpoints. No job queue, no polling, no callback to wire up.
/v1/screen{
"first_name": "maria",
"last_name": "garcia",
"dob": "1974-03-02",
"state": "CA"
}
Match on last_name for people, org_name for organizations. Add npi, dob, state or license_number to sharpen the score.
application/json{
"risk_band": "review",
"highest_confidence": 1.0,
"summary": {
"leie": { "matches": 1 },
"state_medicaid": { "matches": 1 }
},
"exclusion_matches": [{
"category": "state_medicaid",
"list_label": "California Medicaid",
"jurisdiction": "state",
"confidence": 1.0,
"match_basis": ["name_exact"],
"status": "active",
"status_basis": "end_date 'Indefinite':
exclusion has no expiry"
}]
}
Every field a reviewer needs to act — and to justify the decision months later.
POST /v1/screenExactly one provider or organizationPOST /v1/screen/batch1–100 records in one callGET /v1/getAccountSummaryYour quota usage, any timeAuthenticate with an ApiKey header · Swagger docs with a live “Try it out”
Every source, on every plan — including free.
Coverage is never the upsell. Volume is the only thing that changes between tiers.
Opt-out and deactivation never move the risk band.
A provider who opted out of Medicare has done nothing wrong. Scoring them as a risk would destroy trust in the band faster than any false positive, so those two categories are reported and excluded from the verdict.
Florida does not publish an obtainable Medicaid exclusion list. Any response for a Florida subject carries a COVERAGE_GAP notice on the record, not just in a footnote — a response-level disclosure is too easy for an integrator to miss.
Three verdicts, because a boolean would lie.
You make the employment or billing decision. The API's job is to be honest about what it found.
Exactly one adverse match, high confidence, still active. An unambiguous finding you can act on.
We found something we can't decide for you — several candidate identities sharing a name, an unresolvable status, or a source we couldn't reach. A review with an empty match list means “nothing found, and we couldn't look everywhere.”
No adverse match above your threshold, every requested source screened, no coverage gap. Deliberately hard to earn.
Multiple matches are normal — and often all correct.
Excluded by OIG and California and SAM.gov is three real findings, not a duplicate. The API returns every match above your min_confidence ranked by score and never picks one for you — match_basis tells you which signals fired so you can tell “excluded in three jurisdictions” from “three people share this name.”
Built to be defended, not just consumed.
Every response is reproducible from request_id + engine_version + source_snapshot
Date of birth is used, never returned.
DOB is the single strongest disambiguator for common names, so the engine matches on it — but it never appears in a response, and both endpoints are POST so names and dates of birth stay out of access logs, proxy caches and Referer headers.
Screening at the moment of decision.
Screen a candidate inside your ATS or HR flow before an offer goes out, not on the next monthly cycle.
Add a sanctions check to the packet your CVO or committee already reviews, with the evidence attached.
Check ordering and referring providers before submission — billing for an excluded provider is the expensive way to find out.
Locums, agency staff, billing vendors and their owners, screened on the same engine as your employees.
Gate provider onboarding programmatically so an excluded provider never reaches your network.
Batch up to 100 records per call when you want to re-check a list on your own schedule.
Screening API or Provider Signals Risk?
Same matching engine, same verdicts. Different moment — and most teams need one, not both.
| Screening API | Provider Signals Risk | |
|---|---|---|
| The job | Answer now, at the point of decision | Watch a roster over time |
| Runs | When your system calls it | Every day, automatically |
| Lives in | Your product, ATS, or claim pipeline | The Provider Signals app |
| Alerts & audit log | You build them | Included, with roster management and seats |
| Metered by | Provider records submitted | Providers monitored |
| Best when | Screening is a step inside a workflow you own | You want the watching done for you |
They are sold separately and neither includes the other. Risk Elite's Results API is a different thing again — it exports the results of monitoring you have already set up. Compare Provider Signals Risk →
Priced by provider records, not API calls.
A batch of 100 records counts as 100 — never as one lookup. Paid plans have a daily allowance that resets at midnight Eastern and doesn't roll over.
- 100 provider records per month
- All sources — nothing withheld
- Batches up to 100
- Full response: evidence, status basis, audit fields
- Evaluation & non-commercial use
- 500 records per day
- All sources on every plan
- Single + batch endpoints
- ~$0.010 per record at full use
- 3,000 records per day
- Everything in Starter, plus:
- Headroom for onboarding spikes
- ~$0.005 per record at full use
- 7,500 records per day
- Everything in Pro, plus:
- Volume for multi-client platforms
- ~$0.003 per record at full use
- Custom daily volume
- Version-pinned engine
- BAA, SSO & SLA
- Priority support
Every record you submit counts, including any that come back invalid or not screenable — so send clean input. Quota is tracked per API key.
Monthly plans are month-to-month — cancel anytime. Annual plans are a 12-month term billed upfront, at 10× the monthly rate. See our Terms.
Three fields. Key in your inbox.
Name, work email, company name — that's the whole signup. We email the key; we never display it. Upgrading later keeps the same key, so nothing you build has to change.
Learn more about exclusion screening.
Questions, answered.
What does the API screen against?
Seven categories: OIG LEIE, 43 state Medicaid exclusion lists, SAM.gov debarment, OFAC SDN, FDA debarment, Medicare Opt-Out and NPPES deactivation. Every plan screens every source, free included. Florida has no obtainable Medicaid list and is disclosed per record.
Why three verdicts instead of true/false?
Because a boolean hides the two cases that matter — several people sharing a name, and a source we couldn't reach. hit means exactly one adverse match at high confidence; review means we found something we can't decide for you; clear means nothing adverse and full coverage.
How is usage metered?
By provider records submitted, never by API calls — a 100-record batch counts as 100. Every submitted record counts, including invalid or not-screenable ones. Paid plans reset daily at midnight Eastern with no rollover; Free is 100 records per month.
What happens when I hit my limit?
The API returns an explicit daily-limit-exceeded error rather than silently reporting clear. Poll GET /v1/getAccountSummary to track usage and alarm before you run out.
Can I screen without an NPI?
Yes — most exclusion sources don't publish NPIs, so name is the primary key: last_name for individuals, org_name for organizations. Adding npi, dob, state or license_number sharpens the confidence score. One exception: NPPES deactivation is NPI-only, and a name-only request reports it as not screenable rather than clear.
How is this different from Provider Signals Risk?
Risk is continuous monitoring of a roster you upload, with alerts and an audit log in the app. The Screening API answers on demand inside your own system. Same engine, same verdicts, sold separately — see the comparison above.
Is the free plan usable in production?
The free plan is for evaluation and non-commercial use. It gives you every source and the full response shape so you can build and test against real behaviour, then move to a paid plan for live use. If 100 records a month genuinely isn't enough to evaluate, email us.
Do you offer annual billing?
Yes — switch the toggle to Annual to save 2 months (about 17%). Annual is your monthly rate × 10, billed upfront for a 12-month term.
Run your first provider exclusion screening in five minutes.
Free key, every source, full response. No card, no call.
Check your email
Your free API key and get-started steps are on the way to your inbox.
Didn't get it within a few minutes? Check spam, or contact us at contact@npidataservices.com.