Exclusion screening API
Screen an NPI, a person or an organization against the OIG LEIE, SAM.gov, the FDA debarment and investigator-disqualification lists and 40 state Medicaid exclusion lists in one call. Same published data as the Snowflake listing and the download files, loaded weekly. Free plan: 500 lookups per calendar month, 100 queries per request. Machine-readable spec: openapi.json.
1. Get a key
curl -s https://api.rosterproof.com/v1/keys \
-H 'Content-Type: application/json' \
-d '{"email":"you@organization.com","org":"Example Health"}'
# -> {"api_key":"rp_live_…","plan":"free","monthly_lookups":500,"max_queries_per_request":100} (shown once)
Or get one here.
By creating or using a key you agree to the Terms of Use. The data is for compliance screening; North Carolina and Texas records are non-commercial by their agencies' terms (Attribution & Notices).
2. Look up one NPI
curl -s https://api.rosterproof.com/v1/npi/1891616215 -H 'Authorization: Bearer rp_live_…'
{
"as_of": "2026-10-09",
"npi": "1891616215",
"hit": true,
"matches": [{
"source_id": "CA", "jurisdiction": "CA", "entity_type": "INDIVIDUAL",
"last_name": "…", "first_name": "…", "state": "CA",
"exclusion_reason": "…", "exclusion_authority": "W&I Code 14043.6 / Medi-Cal S&I",
"exclusion_start": "2025-01-01", "exclusion_end": null, "is_active": true,
"npi": "1891616215", "npi_origin": "VERIFIED_WITH_NPPES", "npi_status": "ACTIVE_IN_NPPES",
"tier": {"confidence": "LOW", "basis": "AI-adjudicated match among ambiguous candidates - human review required", "score": 0.9},
"needs_human_review": true,
"source_attribution": "https://rosterproof.com/attribution#CA"
}],
"notice": "VERIFY BEFORE ADVERSE ACTION: …",
"attribution": "https://rosterproof.com/attribution"
}
3. Screen a batch
curl -s https://api.rosterproof.com/v1/screen -H 'Authorization: Bearer rp_live_…' \
-H 'Content-Type: application/json' \
-d '{"npis":["1891616215","1234567893"],
"names":[{"last":"Smith","first":"John","state":"CA"}],
"organizations":[{"name":"Quality Poultry and Seafood Inc."}]}'
# -> {"as_of":"…","lookups":4,"hits":2,"results":[{"query":{"npi":"1891616215"},"match_method":"NPI (NPPES-verified)","matches":[…]}, …]}
NPI queries are exact against NPPES-verified matches (and source-printed NPIs). Name queries are
exact on the normalized name (accents and suffix tokens like Jr., MD ignored) with optional state;
they can return namesakes — read tier, npi_origin and needs_human_review
before acting. Organization queries match the normalized business name.
4. Poll for changes
curl -s 'https://api.rosterproof.com/v1/changes?since=2026-10-01&limit=1000' -H 'Authorization: Bearer rp_live_…'
# -> {"count":1000,"next_cursor":123456,"changes":[{"change_type":"ADDED","observed_at":"…","record":{…}}, …]}
# page with &cursor=<next_cursor> until next_cursor is null
Limits, status, terms
GET /v1/status (no key) returns the snapshot date and counts. Rate-limit headers
(X-RateLimit-Limit / -Remaining / -Reset, per calendar month, UTC) come back on every authenticated call; the
free plan is 500 lookups per calendar month and 100 queries per request — over the month's limit returns 429 with
resets_at, and a larger request returns 400. Email support@rosterproof.com
for a higher limit. Every response carries the notice: verify any hit against the source agency (and OIG's
SSN-based search for LEIE) before adverse action, and the attribution pointer; NC and TX
records are included under non-commercial permissions (see the use label). RosterProof is the
exclusion and owner-screening layer that feeds compliance, payment-integrity, and fraud programs — not a fraud detector.
Prefer a spreadsheet? Screen my providers runs this API from your browser. How the data behind every response is collected and matched: RosterProof Methodology (PDF, 2 pages).