{"name":"npi-lookup","id":"sfoln/npi-lookup","title":"NPI Lookup & OIG Exclusion Check","description":"Look up US healthcare providers in the NPPES NPI Registry by NPI number or by name, state and specialty: provider type, names, credentials, taxonomies, practice and mailing addresses, phone and dates, plus optional HHS-OIG LEIE exclusion screening. $2 per 1,000 provider records.","version":"0.1","status":"ready","family":{"id":"company-lead-intelligence","name":"Company & lead intelligence","description":"Company enrichment, contact discovery, tech-stack detection, hiring signals, job listings, public tenders, Shopify stores, marketplace listings, NPI provider records, e-mail and phone validation.","actors":13},"categories":["LEAD_GENERATION","DEVELOPER_TOOLS","AUTOMATION"],"availability":"on_request","seoTitle":"NPI Lookup API – NPPES Registry & OIG Exclusion Check","seoDescription":"Verify NPI numbers and search the NPPES NPI Registry by name, state or specialty, with optional HHS-OIG LEIE exclusion screening. $2 per 1,000 records.","summary":"NPI Lookup & OIG Exclusion Check verifies US healthcare providers against the official NPPES NPI Registry: send NPI numbers, or search by name, organization, state, city, ZIP code or specialty, and get one clean record per provider with the provider type, names, credential, primary and other taxonomies (specialties and license numbers), practice and mailing addresses, phone, enumeration and last-update dates, other names and identifiers. Switch on exclusion screening to check every provider against the HHS-OIG List of Excluded Individuals/Entities (LEIE): an NPI listed there is excluded, the same name in the provider's state is a potential_match to review. Built for credentialing, payer and pharmacy compliance, healthcare lead generation and data teams. $2 per 1,000 provider records, plus $2 per 1,000 screenings; unknown NPIs and failed lookups are free.","pricing":{"model":"pay-per-event","currency":"USD","billedBy":"Apify","freePlanMaxItemsPerRun":10,"events":[{"name":"provider-record","title":"Provider record","description":"Charged once per provider delivered: an NPI found in the NPPES NPI Registry, or each provider a search returns. Unknown NPIs, empty searches, invalid input and errors are free.","priceUsd":0.002},{"name":"exclusion-screening","title":"Exclusion screening","description":"Optional add-on (screenExclusions): charged once per provider checked against the HHS-OIG LEIE exclusion list, whatever the result (excluded, potential_match or no_match). Not charged when the list could not be loaded.","priceUsd":0.002}]},"input":{"description":"NPI numbers to look up and/or NPPES searches by name, state, city, ZIP or specialty. Each NPI produces one record; each search produces one record per provider found plus a summary record.","required":[],"fields":[{"name":"npis","title":"NPI numbers","type":"array","required":false,"description":"10-digit National Provider Identifiers, one per line (invalid check digits are rejected before any lookup and not charged). Accounts on the Apify free plan can process up to 10 NPIs or searches per run.","prefill":["1134262819"],"editor":"stringList"},{"name":"searches","title":"Searches","type":"array","required":false,"description":"NPPES searches, each an object with any of firstName, lastName, organizationName, state (2-letter code), city, postalCode, taxonomy (specialty description, e.g. \"Family Medicine\") and enumerationType (individual or organization). A name, city, postal code or taxonomy is required; state and provider type only narrow it. A trailing * matches a prefix (\"smi*\", at least two characters). Example: [{\"lastName\": \"smith\", \"state\": \"VT\", \"taxonomy\": \"Family Medicine\"}]","editor":"json"},{"name":"maxResultsPerSearch","title":"Max providers per search","type":"integer","required":false,"description":"How many providers each search may return (each one is a charged provider record). NPPES returns at most 1,200 results per search; free-plan accounts get up to 20.","default":10,"minimum":1,"maximum":1200},{"name":"screenExclusions","title":"Screen against the OIG exclusion list (+$0.002 per provider)","type":"boolean","required":false,"description":"Check every provider against the HHS-OIG List of Excluded Individuals/Entities (LEIE): an NPI match is reported as excluded, a same-name match in the provider's state as potential_match. Charged as the exclusion-screening event per screened provider.","default":false},{"name":"maxItems","title":"Max NPIs and searches","type":"integer","required":false,"description":"Safety cap on how many NPIs and searches are processed in this run; the rest are ignored and reported as inputItemsDropped in the OUTPUT record.","default":1000,"minimum":1,"maximum":10000},{"name":"concurrency","title":"Concurrency","type":"integer","required":false,"description":"How many NPIs or searches are processed in parallel (the NPPES API is also rate-limited to 5 requests per second per run).","default":4,"minimum":1,"maximum":10},{"name":"includeRaw","title":"Include raw NPPES record","type":"boolean","required":false,"description":"Attach the unmodified NPPES registry record to each provider record under raw (larger output).","default":false}]},"exampleInput":{"npis":["1134262819"]},"outputFields":[{"name":"input","type":"string | object","title":"Input","description":"The NPI or the search object exactly as sent."},{"name":"recordType","type":"string","title":"Record type","description":"provider (a provider record) | summary (one per search: counts and why it stopped)."},{"name":"position","type":"integer","title":"Position","description":"Search rows only: 1-based position of the provider within its search."},{"name":"status","type":"string","title":"Status","description":"ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan | skipped_unmetered","example":"ok"},{"name":"charged","type":"boolean","title":"Charged","description":"Whether this record incurred its pay-per-event charge (provider-record; add-on charges are listed in chargedAddOns)."},{"name":"chargedEvent","type":"string","title":"Charged event","description":"Pay-per-event event charged for this record (present only when charged): provider-record."},{"name":"chargedCount","type":"integer","title":"Events charged","description":"Events actually charged when the charge came back short of the requested count (present only then; a warning explains it)."},{"name":"chargedAddOns","type":"array","title":"Charged add-ons","description":"Add-on events charged for this record besides chargedEvent (present only then): exclusion-screening."},{"name":"source","type":"string","title":"Source","description":"Upstream data source: nppes-npi-registry (screening: HHS-OIG LEIE)."},{"name":"fetchedAt","type":"string","title":"Fetched at","description":"ISO timestamp."},{"name":"error","type":"object","title":"Error","description":"{ code, message, provider?, status? } when status is not ok. Codes: not_found (unknown NPI, or a search without results), invalid_input, client (NPPES refused the search); set by the runtime: budget_exhausted, free_plan_limit, unmetered, aborted, charge_failed, record_too_large, invalid_record, dataset_push_failed; upstream: http_error (with the HTTP status), network, tls_error, timeout, invalid_json, unexpected_type, too_large, invalid_response."},{"name":"warnings","type":"array","title":"Warnings","description":"Notes about this record: a screening that was not charged or not available, a search capped by NPPES, the free plan or the budget."},{"name":"npi","type":"string | null","title":"NPI","description":"10-digit National Provider Identifier."},{"name":"enumerationType","type":"string | null","title":"Enumeration type","description":"NPI-1 (individual) or NPI-2 (organization)."},{"name":"providerType","type":"string | null","title":"Provider type","description":"individual | organization."},{"name":"npiStatus","type":"string | null","title":"NPI status","description":"active (the registry lists active NPIs)."},{"name":"name","type":"string | null","title":"Name","description":"Organization name, or \"FIRST MIDDLE LAST SUFFIX\" for an individual."},{"name":"firstName","type":"string | null","title":"First name","description":"Individual providers."},{"name":"middleName","type":"string | null","title":"Middle name","description":"Individual providers."},{"name":"lastName","type":"string | null","title":"Last name","description":"Individual providers."},{"name":"namePrefix","type":"string | null","title":"Name prefix","description":"e.g. Dr."},{"name":"nameSuffix","type":"string | null","title":"Name suffix","description":"e.g. Jr."},{"name":"credential","type":"string | null","title":"Credential","description":"e.g. MD, RN, DDS (as the provider entered it)."},{"name":"sex","type":"string | null","title":"Sex","description":"F or M (individual providers)."},{"name":"soleProprietor","type":"boolean | null","title":"Sole proprietor","description":"Individual providers."},{"name":"organizationName","type":"string | null","title":"Organization name","description":"Legal business name (organizations)."},{"name":"organizationalSubpart","type":"boolean | null","title":"Subpart","description":"The organization is a subpart of a parent organization."},{"name":"parentOrganizationName","type":"string | null","title":"Parent organization","description":"Parent legal business name (subparts)."},{"name":"parentOrganizationEin","type":"string | null","title":"Parent EIN","description":"Parent organization EIN, when published."},{"name":"authorizedOfficial","type":"object | null","title":"Authorized official","description":"Organizations: { firstName, middleName, lastName, namePrefix, nameSuffix, credential, title, phone }."},{"name":"primaryTaxonomy","type":"object | null","title":"Primary taxonomy","description":"{ code, description, license, state, primary, group }: the provider's primary specialty (Health Care Provider Taxonomy code)."},{"name":"taxonomies","type":"array","title":"Taxonomies","description":"Every taxonomy { code, description, license, state, primary, group }."},{"name":"practiceAddress","type":"object | null","title":"Practice address","description":"{ line1, line2, city, state, postalCode, countryCode, countryName, phone, fax } of the primary practice location."},{"name":"mailingAddress","type":"object | null","title":"Mailing address","description":"Same shape as practiceAddress."},{"name":"otherPracticeLocations","type":"array","title":"Other practice locations","description":"Secondary practice locations (same shape as practiceAddress)."},{"name":"phone","type":"string | null","title":"Phone","description":"Practice location phone (else the mailing address phone)."},{"name":"fax","type":"string | null","title":"Fax","description":"Practice location fax (else the mailing address fax)."},{"name":"enumerationDate","type":"string | null","title":"Enumeration date","description":"When the NPI was issued (YYYY-MM-DD)."},{"name":"lastUpdated","type":"string | null","title":"Last updated","description":"Last update of the registry record (YYYY-MM-DD)."},{"name":"certificationDate","type":"string | null","title":"Certification date","description":"Last certification of the record by the provider (YYYY-MM-DD), when present."},{"name":"otherNames","type":"array","title":"Other names","description":"{ type, name, organizationName, firstName, middleName, lastName, credential }: former names, doing-business-as names."},{"name":"identifiers","type":"array","title":"Other identifiers","description":"{ identifier, description, issuer, state }: Medicaid and other payer identifiers."},{"name":"endpoints","type":"array","title":"Endpoints","description":"{ type, typeDescription, endpoint, use, affiliationName }: Direct messaging addresses and other health information exchange endpoints."},{"name":"registryUrl","type":"string | null","title":"Registry URL","description":"The provider's page on npiregistry.cms.hhs.gov."},{"name":"exclusionScreening","type":"object | null","title":"Exclusion screening","description":"Only with screenExclusions: { result (excluded | potential_match | no_match), matches: [{ matchedOn, name, lastName, firstName, middleName, businessName, general, specialty, npi, city, state, zip, exclusionType, exclusionTypeDescription, exclusionDate, waiverDate, waiverState }], list, listUpdated, listRecords, listStale? }; null when the screening was not delivered (see warnings)."},{"name":"search","type":"object","title":"Search","description":"Summary records: the search as sent to NPPES (firstName, lastName, organizationName, state, city, postalCode, taxonomy, enumerationType)."},{"name":"screened","type":"boolean","title":"Screened","description":"Summary records: whether the search's providers were screened."},{"name":"resultsDelivered","type":"integer","title":"Providers delivered","description":"Summary records: provider records delivered (and charged) for the search."},{"name":"stopReason","type":"string","title":"Stop reason","description":"Summary records: limit | end | free_plan | budget | aborted | deadline | empty_pages | max_pages | error."},{"name":"raw","type":"object","title":"Raw","description":"Only with includeRaw: the unmodified NPPES registry record."}],"outputExample":[{"input":"1134262819","recordType":"provider","status":"ok","charged":true,"chargedEvent":"provider-record","chargedAddOns":["exclusion-screening"],"source":"nppes-npi-registry","fetchedAt":"2026-10-14T22:39:43.512Z","npi":"1134262819","enumerationType":"NPI-2","providerType":"organization","npiStatus":"active","name":"MASSACHUSETTS GENERAL HOSPITAL","firstName":null,"middleName":null,"lastName":null,"namePrefix":null,"nameSuffix":null,"credential":null,"sex":null,"soleProprietor":null,"organizationName":"MASSACHUSETTS GENERAL HOSPITAL","organizationalSubpart":false,"parentOrganizationName":null,"parentOrganizationEin":null,"authorizedOfficial":{"firstName":"JANE","middleName":"Q","lastName":"DOE","namePrefix":"Ms.","nameSuffix":null,"credential":"RN","title":"Research Nurse","phone":"6175550100"},"primaryTaxonomy":{"code":"282N00000X","description":"General Acute Care Hospital","license":"99562","state":"MA","primary":true,"group":null},"taxonomies":[{"code":"282N00000X","description":"General Acute Care Hospital","license":"99562","state":"MA","primary":true,"group":null}],"practiceAddress":{"line1":"55 FRUIT ST","line2":"YAWKEY CENTER-8TH FLOOR","city":"BOSTON","state":"MA","postalCode":"02114-2621","countryCode":"US","countryName":"United States","phone":"617-726-0575","fax":"617-724-2840"},"mailingAddress":{"line1":"55 FRUIT ST","line2":"YAWKEY CENTER-8TH FLOOR","city":"BOSTON","state":"MA","postalCode":"02114-2621","countryCode":"US","countryName":"United States","phone":"617-726-0575","fax":"617-724-2840"},"otherPracticeLocations":[],"phone":"617-726-0575","fax":"617-724-2840","enumerationDate":"2007-02-14","lastUpdated":"2020-08-22","certificationDate":null,"otherNames":[],"identifiers":[],"endpoints":[],"registryUrl":"https://npiregistry.cms.hhs.gov/provider-view/1134262819","exclusionScreening":{"result":"no_match","matches":[],"list":"HHS-OIG LEIE","listUpdated":"2026-10-09","listRecords":84093}},{"input":{"lastName":"smith","state":"VT","taxonomy":"Family Medicine"},"recordType":"summary","status":"ok","charged":false,"source":"nppes-npi-registry","fetchedAt":"2026-10-14T22:39:44.020Z","search":{"lastName":"smith","state":"VT","taxonomy":"Family Medicine"},"screened":true,"resultsDelivered":4,"stopReason":"end"}],"faq":[{"question":"What does the exclusion screening check?","answer":"The HHS-OIG List of Excluded Individuals/Entities (LEIE), the list of providers excluded from Medicare, Medicaid and other federal health care programs. A record carrying the provider's NPI is reported as excluded; a record with the same name (and middle initial, when both have one) in the provider's practice or mailing state is reported as potential_match, which needs a manual check because names are not unique. SAM.gov exclusions are not included."},{"question":"How current are the registry and the exclusion list?","answer":"NPPES records are read live from the NPI Registry API. OIG updates the LEIE monthly; the Actor downloads it at most once a day and reports the list date as listUpdated in every screening."},{"question":"How many providers can one search return?","answer":"Up to maxResultsPerSearch (default 10). NPPES itself returns at most 1,200 results per search (200 per page, skipping at most 1,000), so split broad searches by city, postal code or taxonomy."},{"question":"Why is an NPI not found?","answer":"The NPI is not in the NPI Registry: it was never issued, or it was deactivated and is no longer listed. Such records are not_found and are not charged. A wrong check digit is rejected before any lookup (skipped_invalid, not charged)."}],"mcpExamplePrompt":"Look up NPI 1134262819 in the NPPES registry and check whether the provider is on the HHS-OIG exclusion list.","related":["us-address-enrichment","phone-validator","google-maps-business-leads","company-contacts-finder"],"urls":{"site":"https://www.sfoln.com/actors/npi-lookup/","siteJson":"https://www.sfoln.com/actors/npi-lookup.json","siteMarkdown":"https://www.sfoln.com/actors/npi-lookup.md","runSync":"https://api.apify.com/v2/actors/sfoln~npi-lookup/run-sync-get-dataset-items","runAsync":"https://api.apify.com/v2/actors/sfoln~npi-lookup/runs","mcp":"https://mcp.apify.com?tools=sfoln/npi-lookup","requestAccess":"mailto:contact@sfoln.com?subject=Access%20request%3A%20NPI%20Lookup%20%26%20OIG%20Exclusion%20Check%20(sfoln%2Fnpi-lookup)&body=Please%20publish%20npi-lookup.%20What%20we%20plan%20to%20use%20it%20for%3A"},"publisher":{"name":"SFOLN LLC","apifyUsername":"sfoln","url":"https://www.sfoln.com","apifyProfile":"https://apify.com/sfoln","email":"contact@sfoln.com"},"generatedAt":"2026-10-22T04:28:58.477Z"}