NPI Registry Scraper: US Doctors & Healthcare Providers avatar

NPI Registry Scraper: US Doctors & Healthcare Providers

Pricing

$1.20 / 1,000 provider scrapeds

Go to Apify Store
NPI Registry Scraper: US Doctors & Healthcare Providers

NPI Registry Scraper: US Doctors & Healthcare Providers

Build lists of US doctors, dentists, clinics and pharmacies from the official CMS NPI Registry: NPI, name, credential, specialty and license, practice address, phone, fax and Direct addresses. Splits big searches past the 1,200 cap. $1.20 per 1,000 providers.

Pricing

$1.20 / 1,000 provider scrapeds

Rating

0.0

(0)

Developer

TidyHarvest

TidyHarvest

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Categories

Share

Build lists of US doctors, dentists, nurses, therapists, pharmacies, clinics and hospitals from the official NPI Registry (NPPES) published by CMS. Search by specialty, state, city, ZIP code, name or organization, or look up NPI numbers, and get clean rows with the NPI, name, credential, specialty (taxonomy) and license, practice address, phone, fax, mailing address, authorized official, other identifiers and Direct messaging addresses. $1.20 per 1,000 providers, no API key, no login, no proxy.

The NPI Registry API stops at 1,200 results per search. This actor splits big searches by ZIP code automatically and merges them without duplicates, so "every dentist in California" works.

What you can do with it

  • Healthcare lead generation: every orthodontist, chiropractor, physical therapist or home-health agency in a city or state, with practice address and phone, ready for a CRM.
  • Provider data enrichment and verification: paste a list of NPI numbers and get back the current name, specialty, license, status and address.
  • Market and territory mapping: count providers of a specialty by city or ZIP to size a market or plan sales territories.
  • New-practice triggers: sort by enumerationDate to find providers and practices that registered recently.
  • Health-IT and interoperability: pull organizations' Direct messaging endpoints for referral and records exchange.

How to use it

  1. Enter one or more specialties (e.g. Dentist, Family Medicine) and where: states, cities or ZIP codes. Or search by name / organization name, or paste NPI numbers.
  2. Optionally choose individuals (NPI-1) or organizations (NPI-2), and turn on Primary specialty only for tighter lists.
  3. Set Max providers, click Start, and download JSON, CSV or Excel, or send the results to Sheets, a CRM or Zapier.

Input

FieldWhat it does
taxonomyDescriptionsSpecialties as the NPI Registry names them (Dentist, Cardiology, Nurse Practitioner, Pharmacy). Each is searched separately.
states2-letter state codes. A state alone is not a valid search; combine it with a specialty, city, ZIP or name.
citiesCity names, exact as written in addresses.
postalCodes5-digit ZIPs (02114) or prefixes (021*).
enumerationTypeNPI-1 individuals, NPI-2 organizations, or empty for both.
firstName, lastName, organizationNameName search; trailing wildcard after 2 letters (SMI*, MAYO*).
npiNumbers10-digit NPI numbers to look up or verify. Malformed numbers (wrong length or check digit) are skipped, not fatal; they and the numbers the registry doesn't know are listed in the run's SUMMARY record (invalidNpis, notFound) and cost nothing.
addressPurposeMatch the practice location (default), mailing address, or either.
primaryTaxonomyOnlyKeep only providers whose primary specialty matches your terms (dropped rows are not charged).
splitLargeSearchesSplit searches that hit the 1,200 cap by ZIP prefix (default on).
maxItemsCap on providers per run (default 100, up to 50,000). Also caps your cost.

The list fields combine: ["Dentist","Orthodontics"] x ["Boston","Cambridge"] runs 4 searches (up to 500 per run). Results are de-duplicated by NPI.

Example:

{ "taxonomyDescriptions": ["Dentist"], "states": ["MA"], "cities": ["Boston"], "enumerationType": "NPI-2", "maxItems": 500 }

Output

One item per provider (NPI):

{
"npi": "1912857160",
"enumerationType": "NPI-2",
"entityType": "Organization",
"name": "137 S ST SMILE STUDIO PLLC",
"credential": null, "gender": null, "soleProprietor": null,
"organizationName": "137 S ST SMILE STUDIO PLLC",
"authorizedOfficial": {"firstName": "KHUSHBOO", "lastName": "JAIN", "title": "Dentist/owner", "phone": "650-450-1596"},
"status": "Active",
"enumerationDate": "2026-01-29", "lastUpdated": "2026-01-29",
"primaryTaxonomyCode": "122300000X", "primaryTaxonomyDescription": "Dentist",
"primaryTaxonomyLicense": null, "primaryTaxonomyState": null,
"taxonomies": [{"code": "122300000X", "description": "Dentist", "primary": true, "license": null, "state": null, "group": "193400000X - Single Specialty Group"}],
"practiceAddress1": "137 SOUTH ST", "practiceCity": "BOSTON", "practiceState": "MA", "practicePostalCode": "02111-2848",
"practicePhone": "617-362-8032", "practiceFax": null,
"mailingAddress1": "137 SOUTH ST FL 2", "mailingCity": "BOSTON", "mailingState": "MA", "mailingPostalCode": "02111-2848",
"otherPracticeLocations": [], "otherNames": [], "identifiers": [],
"endpoints": [], "directAddresses": [],
"url": "https://npiregistry.cms.hhs.gov/provider-view/1912857160",
"source": "NPPES NPI Registry (CMS)"
}

Individuals (NPI-1) also fill firstName, middleName, lastName, namePrefix, nameSuffix, credential (MD, DDS, NP...), gender and soleProprietor. identifiers lists other IDs such as Medicaid numbers; endpoints lists Direct messaging, FHIR and other endpoints, and directAddresses collects the Direct addresses.

matchedLocation (state/city/ZIP searches) is the practice address that matched your search. The registry also matches a provider's other practice locations, so about 1 in 40 rows has its main practice address in another state and an office in yours: matchedLocation.type says primary practice location or other practice location, with that office's address and phone.

Pricing

Pay per result: $1.20 per 1,000 providers (provider-scraped). Duplicates, providers removed by Primary specialty only, and anything past maxItems are never charged. A search that finds nothing ends with a message saying so and costs nothing.

Limits and notes

  • 1,200 per search: the NPI Registry API returns at most 200 rows per request and 1,200 per search. With splitLargeSearches on, a capped search is re-run by ZIP prefix (2, 3, 4, then 5 digits). If one single 5-digit ZIP still has more than 1,200 matches (rare: e.g. "Nurse" in a big hospital ZIP), that bucket is cut at 1,200 and named in the run's SUMMARY record (truncatedBuckets). Narrow by specialty or provider type to get all of them.
  • Specialty search matches any of a provider's taxonomies, not only the primary one; use Primary specialty only if you need that.
  • Requests are sent one at a time with a short pause, so very large pulls (tens of thousands of providers) take a few minutes.
  • Data is what providers reported to NPPES. Addresses and phones are business/practice contacts; some providers update their records rarely (check lastUpdated); status shows the NPI status.
  • No emails are scraped. directAddresses are secure clinical messaging addresses providers chose to publish in NPPES.

Data source: the National Plan and Provider Enumeration System (NPPES) NPI Registry, published by the Centers for Medicare & Medicaid Services (CMS) as public information. Each row links back to its NPI Registry page. This actor is not affiliated with or endorsed by CMS, HHS or any U.S. government agency.