Healthcare Provider NPI Enricher avatar

Healthcare Provider NPI Enricher

Pricing

from $1.70 / 1,000 provider rows

Go to Apify Store
Healthcare Provider NPI Enricher

Healthcare Provider NPI Enricher

Enrich a list of NPIs or provider names from the official US NPI Registry: one row per provider with taxonomy, license, practice address and phone, and organization official. Invalid and unmatched lookups are free. For healthcare lead lists and provider checks.

Pricing

from $1.70 / 1,000 provider rows

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Security

Limited permissions

Share

Give NPIs or provider names and get each provider's record from the official US NPI Registry: one row per provider with taxonomy, license, practice address and phone, and, for an organization, its authorized official. You pay per provider, and Mamba Labs pays the platform costs.

Features

  • Four ways in, in one run. NPIs, individual names, organization names, or a search by taxonomy, city, or postal code.
  • Flat columns for Clay. Primary taxonomy, license, and practice address sit in their own columns, and the full lists stay as arrays.
  • Misses are free. An NPI that fails its check digit is caught before any lookup, and an NPI or name with no record is one free row that says so.
  • A provider is charged once per run, even when two lookups match the same NPI.
  • match_count on provider rows, so a name that matched 40 people is easy to spot. It is null when the matches filled the page, because more may exist.
  • The 1,200 limit is stated. The registry serves at most 1,200 records per search, and a search that reaches it reads partial. Nothing is cut off silently.
  • Restart aware. If Apify moves the run to another host, it resumes from its saved position.

How the data is read

The actor calls the NPI Registry API run by CMS, directly. CMS publishes this data under its NPPES data dissemination notice, with no key, no sign in, and no charge. There is no scraping, no AI, and no other developer's actor. Records change daily, and each run reads them live.

Input

FieldTypeDefaultWhat it does
npisarray10 digit NPIs. Each returns its record. An invalid NPI or one with no record is a free row.
individual_namesarrayPeople, as Jane Doe, Doe, Jane, or Dr. Jane Doe MD. The registry also matches common first name aliases. A trailing * after 2 or more letters is a wildcard. Add state to narrow common names.
organization_namesarrayOrganizations. The registry matches whole words, so add a trailing , such as kaiser, to widen the match.
taxonomystringFilter or search by the registry's taxonomy wording, such as cardiovascular disease, or cardio* as a wildcard. Cardiology alone matches only Pharmacist, Cardiology. Applies to names and to the search. Does not apply to NPIs.
statestringTwo letter state code. Applies to names and to the search. The registry refuses state alone, so give it with a name, taxonomy, city, or postal code.
citystringCity filter. Applies to names and to the search.
postal_codestring5 or 9 digit postal code, with a trailing * after 2 or more digits as a wildcard.
provider_typestringbothFor the taxonomy, city, or postal code search: both (default), individual, or organization.
max_results_per_lookupstring25Provider rows per name or search, from 1 to 1200. Default 25. The registry serves at most 1200 records per search.
max_charge_usdstringOptional. The run stops before a charge that would pass this amount. Summary rows are always returned.

Output

FieldTypeWhat it holds
row_typestringOne of: provider, lookup_summary, run_summary. run_summary is the one free row written when the input is refused.
inputstringThe NPI, name, or search that produced this row.
lookup_kindstringnpi, individual, organization, or search.
npistringThe 10 digit National Provider Identifier.
provider_typestringindividual (NPI-1) or organization (NPI-2).
statusstringThe registry status. A is active.
namestringFull name of the person or organization, as the registry holds it.
first_namestringIndividuals.
middle_namestringIndividuals.
last_namestringIndividuals.
credentialstringIndividuals: the credential as entered, such as M.D.
sole_proprietorstringIndividuals: YES or NO as the registry holds it.
organization_namestringOrganizations.
authorized_officialstringOrganizations: name, title, and credential of the official the registry lists.
authorized_official_phonestringOrganizations: the phone the registry lists for the official.
primary_taxonomy_codestringThe taxonomy marked primary.
primary_taxonomystringDescription of the primary taxonomy.
primary_licensestringLicense number on the primary taxonomy, when given.
primary_license_statestringState of that license.
taxonomiesarrayEvery taxonomy: code, desc, primary, state, license.
practice_addressstringPrimary practice street lines.
practice_citystringPrimary practice city.
practice_statestringPrimary practice state.
practice_postal_codestringPrimary practice postal code.
practice_countrystringTwo letter code.
practice_phonestringThe phone on the primary practice address.
practice_faxstringThe fax on the primary practice address.
mailing_addressstringThe mailing address on one line.
practice_locationsarrayFurther practice addresses in the registry.
other_identifiersarrayOther identifiers the provider listed: code, desc, identifier, issuer, state.
other_namesarrayOther names on the record.
endpointsarrayElectronic exchange endpoints the provider published.
enumeration_datestringWhen the NPI was issued.
last_updatedstringWhen the record last changed.
registry_urlstringThe record on the NPI Registry.
match_countintegerRecords this lookup matched, when they fit on one page. Null when more may exist. Above 1 on a name lookup means check the row before relying on it.
matches_readintegerlookup_summary: records read for this lookup.
rows_returnedintegerlookup_summary: provider rows written for this lookup.
duplicates_skippedintegerlookup_summary: records already returned earlier in this run, not charged again.
row_statusstringok, or why this row carries no data: no_results, no_change, partial, blocked, or error.
error_reasonstringWhy the row is not ok. A refused input reads input_invalid: followed by what to fix.
billable_events_jsonstringWhat this row was billed as, for example {"provider-row":1}. {} means free.
scraped_atstringWhen the row was written, UTC.

Pricing

Pay per event. Lookup summaries, NPIs not found, invalid NPIs, and refused input are free.

EventFree planBronzeSilverGold
provider-row, one provider record$0.002$0.0019$0.0018$0.0017
apify-actor-start, once per run (one per GB of memory; the default 256 MB is one)$0.002$0.002$0.002$0.002

Per 1,000 rows of provider-row: $2.00 on the free plan, $1.70 on Gold.

Free plan cap: 1.50 USD of evaluation a month, about 750 rows. Any paid Apify plan removes the cap, and it resets on the 1st. The run stops before a charge that passes your maximum charge per run in Apify or your max_charge_usd input.

Mamba Labs pays the platform costs of your run, Apify proxy traffic included.

Usage examples

Enrich a list of NPIs.

{
"npis": ["1003000126", "1740362904"]
}

Find a person, narrowed by state.

{
"individual_names": ["Jane Doe", "Doe, John"],
"state": "CA",
"max_results_per_lookup": "5"
}

Search by taxonomy and city.

{
"taxonomy": "cardiovascular disease",
"city": "Boston",
"state": "MA",
"provider_type": "individual",
"max_results_per_lookup": "200"
}

Clay. Number inputs are text fields, which is what Clay sends. A list input takes a JSON list, so put the column inside a one item list.

MCP. The Mamba Labs MCP server @mambalabsdev/mcp-healthcare-provider-npi-enricher exposes this actor to Claude and other MCP clients.

Limitations

  • Rows hold only what the registry publishes, as providers entered it. There is no personal email, and this actor does not look for one. Gender is in the registry and is left out of the rows.
  • A practice or mailing address can be a provider's own, and a phone can be out of date. Providers keep these records themselves.
  • No Medicare enrollment flag: the registry does not publish one. other_identifiers shows the identifiers a provider chose to list.
  • A name lookup matches every person with that name. Check match_count, and narrow with state, city, or taxonomy. A name alone cannot prove a row is the person you mean.
  • taxonomy matches the registry's own wording, not the common name of a specialty. In testing, cardiology in Boston returned 6 records, all Pharmacist, Cardiology, because cardiologists are filed under Cardiovascular Disease. cardio* returned the wider set. Read primary_taxonomy on the rows.
  • An organization name also matches the record's other names, so kaiser* can return a provider whose legal name does not contain it.
  • A list of mostly misses stops: after more than 5 free rows, plus 50 for each provider row, the run writes a free row saying how many lookups were not read. Run the rest after checking the list.
  • The registry serves at most 1,200 records per search, and this actor does not split a search to pass that. Run one search per state or city for more.
  • Every record read in testing had status A. A no_results row on an NPI can mean it was never issued or is no longer served, and the actor cannot tell which.
  • US providers only, because the registry covers those holding an NPI.

Mamba Labs actor suite

ActorActor ID
Account Hiring WatchgRAZA5WBi1r6L0gy7
Agent Accessibility AuditoranxbRv0lKrpQ1pnua
Agent to Brokerage ResolverePRRGLxOGyaVHO4dI
AI Answer Visibility TrackerRJZvzKniYK4nswcMg
AI Tooling DetectorEwkHhmqiuJgRoVEbE
Amazon Product, Price, and Stock TrackerMtJPZoyjJ3IeqTFyo
API Deprecation and Breaking Change MonitorpHsbS3xXUK8Jqutz5
App Store and Google Play Review MonitorMaCMEhGrbchxQZ92G
B2B Reddit Conversation MonitorSoDryzzsjmY3SsiyG
Bluesky Brand Presence MappereLpxzP4IuXznlFVND
Brand Sponsor FinderPPgK6xrgOmvL7Nrys
Bulk WHOIS and RDAP Domain Age LookupMTrkG5FLU6SjqLdJY
Career Change Signal EnginevX2Yga1a6wGaXaP14
Company Careers Page Jobs, 17 ATS BoardsizP0rfIgf5YaRZfIh
Company Change Event FeedoX44rS0fkEJ3rXLWe
Company Discovery List Builderjch0HdaZnpbMqlcGS
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Funding RecordOFS4Mt1gyYNtGfUbE
Company Headcount EstimatoraHC4GROnNt6kfZe5r
Company Identity Resolverlr8fTRAmZCBZmuwwh
Company Role Email, Phone and Address Finder4mMncKaJykiq94grz
Company Social Presence Mapper4k6CCemkgBDz18m2h
Competitor Price, Stock, and Changelog MonitoryxdgCbUQ4PYQWwRNU
Contact Classifier0lGSeYJmniXhGANnO
Contractor License Search, CA, TX, WA, OR, LAWBYK3CPI2kdeq4bP1
CRM Contact Job Change CheckerL8UbEmMJC1XYPSZOb
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
Ecommerce Platform Profiler5G2NeYjBbQTjaTn9L
Ecommerce Store DiscoveryPeHu4sLyFvQHXUUrX
Email List Verifier, Bring Your Own KeyCzVJ4NlaCKk80xpgE
Event Presence IndexWLhMy8fMDgsxdYxv5
Expert Witness Finder, US and AustraliaLIpwlgfE3LaQBaXd4
Funding and Press Signal ScannerFS13X6dhQVgX3XOM6
GDPR Cookie Banner and Consent CheckerTrKyOS0KBoGC35nbr
GitHub Followers and Following ExportSGNxDmFb9v3tRDaFI
GitHub Organization Signal ScannerahF8RRpv5mzPao5CN
Google Ads Transparency Center Scraper by Domain1eOwxhBVxzvOXAm4s
Google Trends ScraperOeDzaACKmBYJXzHZk
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
Healthcare Provider NPI EnricherMrgbHzcpDq3mOv9Df
ICP Fit ScorerW161DT8W4kW55dMFh
Influencer Change Monitord2VVgahNL6UmcLkhg
Influencer Lead List BuilderKnmByszcv135yM30G
Influencer Profile ScraperEqEnklDVMIcB1V499
Influencer Search Across TikTok, Instagram and YouTubetpkedmloIIWtXx6sg
Influencer Talent Agency LookupzCuX4Mgyg6JvXgGzd
Instagram Facebook Brand Presence MapperHXh65I0JBjPsunbY8
Integration and Marketplace Presence MapperV0guNuvM85Q61f2gj
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Job Posting MonitorQCfICD9kOPiOdj5iI
Journalist and Media List BuildermAfizsZC8qRoR0ecS
Launch Directory List BuildercRq3bmvEZxZtioQ7U
Lead File Import CheckerRwlGVXTf46LqZdUgt
Legal Entity ResolverKHFyPCDIx7CyqULYm
Link in Bio Scraper and Newsletter DetectorOorucdheTIgu7RFzK
LinkedIn Company Page MapperzOPm6A9JEhUGcIdFW
LinkedIn Jobs FeedSH6N0d8cz46BhCC8B
LinkedIn Post TrackeroiGLNPuaf5BRaz9K5
Local Business Lead BuilderqMN97aoHhsAS5bznV
Local Rank and Map Pack Trackergv0kyHGDIg8XscclB
Lookalike Companies from Seed Domainse2O426WBAbLLQL4Z2
Manufacturer and Supplier FinderQcsdmd0lUfPzVkonh
MCP Server Change and Health MonitorIeqjWF9U0BdDQFY08
Media URL TranscriberSyfr7Ya3EsHgWfrB6
Meta Ad Library Ads by Company, Graph APIJ1GWlSXfSGU3u8Wng
Mobile Phone Waterfall6OOgPktf7RIa5XCOP
New Hire FindercKuc38p4nYHNF3IW8
Newly Registered Companies, UK, Norway, Finland, Franceg2WfZhWvCtc57g2Jo
News and Media Mention Monitorgol1PPUKrsIk4QLBd
Newsletter Sponsor TrackerqSwpqxD1TiPZpLQHv
Open Tender and RFP FinderkPTGz6t6TFoUUyfaO
Outbound Stack Detectorv43UJC8r7qW7cBSTG
Page Finder and ExtractorTpurgcOZbVnknlaiC
Partner and Member Directory ExtractorZX0XJPPUvnFJxeC1a
People Finder & Email VerifierLEgloG7tWgQl4o6TD
Person LinkedIn URL ResolverssuyPV8LnEsL8qbnb
Person Social Footprint MapperjfQXa2zW9FHCJot9K
Personal Email to Company ResolverAefT5Ye6YNPFQwJBf
Pinterest Brand Presence Mapperd1HvjZfKhgvWsoEwn
Podcast Guest and Host Findero2MGSvgbSLeeXOsIo
Product Hunt Daily Launches with Maker DomainsO4VX63drWK9Y9x641
Prospect Engineq9rT6v64nUJdPexOQ
Public Feature Board and Roadmap MonitorrcHF5gj5r2Vqnry35
Publishing Frequency TrackerTbLwaUUATdYb6wp4N
Recent Funding Rounds FeedKueVp9MOz7iOoAgDp
Reddit Brand Presence MapperpKQZmDaT70SEb54bZ
Reddit Search and Thread Scraper4Gsth5cP2Xt9V2xDN
Reporting Window FinderuINxR7a1IW8qUTRUX
Research Topic Institutions and AuthorsOH8ANqt7bCKbo72Gk
Sequencer Event PollerS6s8Rjd61tGdrMRk4
Sequencer Lead Push0Jv27VeWM5tSZQs9x
Shopify App Store and Chrome Web Store ListingsgaY0BzkLyN77mD3wI
Site Crawler for Links and TableslLLJ6JxZ4XqN8ULz0
Substack Newsletter and Posts ScraperUEFsdwiPLmPNVy9xd
Team Page People Extractorj8a9zX0k4mNbvDbWK
Tech Stack Signal Detectorqyd7nNyqFPelQViBx
Threads Posts by Keyword, Exact Match2OT8K8RiEEWtaj2MW
TikTok Brand Presence Mapperfco8FvoJcSafbeyd1
Trustpilot Reputation Enricher3lIqfCt61j4hqE1xz
US and UK Contract Award Winners by CompanyzhEtllASykOcx9hJ8
US Import Records Buyer FinderVIMafpKF5ggOw0COU
VC and Accelerator Portfolio List BuilderchH8hrfuoqqolW06m
Website Accessibility Checker, WCAG 2.2 AAP3jBj3FRghKEhX52z
Website Phrase and Business Model ClassifierCBuZ9k7sRwBeiKiCS
Website Traffic Rank EstimatorGnOFUzlNVIoXgeJjH
Work Email WaterfallOT6xqTFThC0Rjf7Zj
Workplace Program DetectorLi6pPDhqbdzFz3h7G
X Brand Presence MapperoLOgadhHUkNAyDA3w
YouTube Channel from Company Domain6hSpD3kd2s2IQ4VSs
Zillow Listing DetailsyG4zM0Enfsw2NefJ1

Built by Mamba Labs.