NPI Registry Scraper - US Healthcare Providers, $1/1K avatar

NPI Registry Scraper - US Healthcare Providers, $1/1K

Pricing

from $0.62 / 1,000 providers

Go to Apify Store
NPI Registry Scraper - US Healthcare Providers, $1/1K

NPI Registry Scraper - US Healthcare Providers, $1/1K

Export US doctors, dentists, clinics and pharmacies from the official CMS NPI Registry by specialty, city, ZIP or NPI: licenses, taxonomies, addresses, phone, fax and authorized officials. $1 per 1,000 providers.

Pricing

from $0.62 / 1,000 providers

Rating

0.0

(0)

Developer

Plot Point Technologies

Plot Point Technologies

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

NPI Registry Scraper: US Healthcare Providers

Search the official CMS NPPES NPI Registry and export every matching US doctor, nurse, therapist, dentist, pharmacy, clinic or hospital as a clean spreadsheet row. Filter by specialty, city, state, ZIP code, name, organization or NPI number and get names, credentials, every taxonomy with license numbers, practice and mailing addresses, phone and fax, key dates and the authorized official of organizations. $1 per 1,000 providers.

What does this NPI Registry scraper do?

  • Searches the official registry through the public NPPES NPI Registry API (version 2.1) run by the Centers for Medicare & Medicaid Services. No API key, no login.
  • Goes past the 1,200-result limit. The API returns at most 1,200 providers per search. When a search hits that cap, the tool splits it by ZIP code prefix and provider type automatically and removes duplicates, so you get every match (for example, 2,571 family medicine providers practicing in Houston, TX in about one minute).
  • Searches many specialties, cities and ZIP codes in one run. Each combination is searched separately and merged.
  • Matches the practice location by default, not just the mailing address, so you find providers who actually see patients in the city you choose.
  • Optionally keeps only providers whose primary specialty matches your search.
  • Looks up NPI numbers in bulk for credentialing and data cleanup.

What data do you get?

GroupFields
Identitynpi, enumerationType (Individual / Organization), name, organizationName, namePrefix, firstName, middleName, lastName, nameSuffix, credential, sex, soleProprietor, organizationalSubpart, parentOrganizationName
Specialty & licensesprimaryTaxonomyCode, primaryTaxonomy, primaryLicense, primaryLicenseState, taxonomies (all, each with code, description, primary, license, licenseState, taxonomyGroup)
ContactpracticeAddress, practicePhone, practiceFax, practiceCity, practiceState, practicePostalCode, mailingAddress, otherPracticeLocations
Status & datesstatus, enumerationDate, lastUpdated, certificationDate, deactivationDate, reactivationDate
OtherotherIdentifiers (e.g. Medicaid IDs), otherNames, endpoints (Direct / health information exchange addresses), authorizedOfficial (organizations: name, title, credential, phone), registryUrl

Who uses it?

  • Healthcare sales and marketing teams building lead lists of practices by specialty and territory (medical devices, pharma, billing, software, staffing).
  • Credentialing and provider enrollment teams verifying NPIs, taxonomies, license numbers and addresses in bulk.
  • Provider directories, health plans and health-tech apps keeping their provider data current.
  • Analysts and researchers mapping provider supply by specialty, city or ZIP code.

How to use it

  1. Click Try for free (or Start).
  2. Enter one or more Specialties (for example Dermatology, Family Medicine, Dentist, Physical Therapist), and a City, State and/or ZIP codes. Or enter a name, an organization name or a list of NPI numbers.
  3. Choose Provider type (individuals, organizations or both) and set Maximum results.
  4. Run it and download the results as Excel, CSV or JSON, or send them to your CRM.

Input example

{
"taxonomyDescriptions": [
"Dermatology"
],
"cities": [
"Austin"
],
"state": "TX",
"enumerationType": "any",
"addressType": "location",
"primaryTaxonomyOnly": false,
"maxResults": 50
}

The input table:

FieldWhat it does
taxonomyDescriptionsSpecialties as the registry names them. Each is searched separately.
cities, state, postalCodesLocation filters. ZIP codes accept a prefix wildcard such as 787*. The registry does not allow a search by state alone.
npiNumbers10-digit NPIs to look up directly.
firstName, lastName, organizationNameName filters; a trailing * after two letters works as a wildcard.
enumerationTypeany, individual (NPI-1) or organization (NPI-2).
addressTypeApply location filters to the location (practice) address, the mailing address, or any.
primaryTaxonomyOnlyKeep only providers whose primary taxonomy contains the searched specialty.
splitLargeSearchesAutomatically split searches with more than 1,200 matches (default on).
maxResultsStop after this many providers.

Output example

A real record from the default run (taxonomy list shortened to 3 of 15, individual-name fields omitted):

{
"npi": "1821157579",
"enumerationType": "Organization",
"name": "AUSTIN REGIONAL CLINIC, PA",
"organizationName": "AUSTIN REGIONAL CLINIC, PA",
"organizationalSubpart": "NO",
"parentOrganizationName": null,
"primaryTaxonomyCode": "207Q00000X",
"primaryTaxonomy": "Family Medicine",
"primaryLicense": null,
"primaryLicenseState": null,
"taxonomies": [
{
"code": "207N00000X",
"description": "Dermatology",
"primary": false,
"license": null,
"licenseState": null,
"taxonomyGroup": "193200000X - Multi-Specialty Group"
},
{
"code": "207R00000X",
"description": "Internal Medicine",
"primary": false,
"license": null,
"licenseState": null,
"taxonomyGroup": "193200000X - Multi-Specialty Group"
},
{
"code": "207Q00000X",
"description": "Family Medicine",
"primary": true,
"license": null,
"licenseState": null,
"taxonomyGroup": "193200000X - Multi-Specialty Group"
}
],
"practiceAddress": {
"address1": "6210 E US HWY 290",
"address2": "SUITE 420 - CREDENTIALING",
"city": "AUSTIN",
"state": "TX",
"postalCode": "78723-1098",
"countryCode": "US",
"phone": "512-231-5516",
"fax": "512-406-6216",
"fullAddress": "6210 E US HWY 290, SUITE 420 - CREDENTIALING, AUSTIN, TX 78723-1098"
},
"practicePhone": "512-231-5516",
"practiceFax": "512-406-6216",
"practiceCity": "AUSTIN",
"practiceState": "TX",
"practicePostalCode": "78723-1098",
"mailingAddress": {
"address1": "6210 E HWY 290",
"address2": null,
"city": "AUSTIN",
"state": "TX",
"postalCode": "78723-1142",
"countryCode": "US",
"phone": null,
"fax": null,
"fullAddress": "6210 E HWY 290, AUSTIN, TX 78723-1142"
},
"otherPracticeLocations": [],
"status": "Active",
"enumerationDate": "2006-12-08",
"lastUpdated": "2025-08-28",
"certificationDate": "2025-08-28",
"deactivationDate": null,
"reactivationDate": null,
"otherIdentifiers": [],
"otherNames": [],
"endpoints": [],
"authorizedOfficial": {
"namePrefix": null,
"firstName": "ANAS",
"middleName": null,
"lastName": "DAGHESTANI",
"nameSuffix": null,
"credential": "MD",
"title": "CEO/President",
"phone": "512-419-0707",
"fullName": "ANAS DAGHESTANI"
},
"registryUrl": "https://npiregistry.cms.hhs.gov/provider-view/1821157579"
}

How much does it cost?

$1 per 1,000 providers ($0.001 each), plus a $0.00005 start fee per run. NPIs that are not found are logged and not charged.

You collectYou pay
50 dermatology providers in one city (default run)$0.05
2,571 family medicine providers in Houston$2.57
20,000 providers across a sales territory, refreshed monthly$20.00 a month

Volume discounts on higher Apify plans. The prices above are for the Apify Free plan. On paid plans the per-result price drops automatically: about 15% lower on Bronze, 25% lower on Silver and 38% lower on Gold and above.

Use it via API, Make, Zapier, n8n or an AI agent

Apify API. Start a run and get the results back in one HTTP request (replace YOUR_API_TOKEN with the token from Apify Console > Settings > Integrations):

curl -X POST "https://api.apify.com/v2/acts/plotpointtech~npi-registry-healthcare-providers/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"taxonomyDescriptions": ["Dermatology"], "cities": ["Austin"], "state": "TX", "enumerationType": "any", "addressType": "location", "primaryTaxonomyOnly": false, "maxResults": 50}'

For longer jobs, start the run asynchronously and read the dataset when it finishes. Official apify-client libraries exist for Python and JavaScript; the API tab on this page has ready-made code.

No-code automation. Connect the tool to Make, Zapier, n8n, Google Sheets, Slack, Airtable or any webhook with Apify integrations, and use Schedules in Apify Console to run it hourly, daily or weekly.

AI agents (MCP). Give Claude, ChatGPT, Cursor, VS Code or any MCP-compatible agent direct access to this tool through the hosted Apify MCP server. Add this server URL to your client:

https://mcp.apify.com?tools=plotpointtech/npi-registry-healthcare-providers

The agent can then call the tool with the same input fields shown above and read the results.

FAQ

Is it legal to use NPI Registry data? The NPPES NPI Registry is public US government data. CMS publishes it so anyone can look up healthcare providers, and offers this API for that purpose. It contains no patient information, so HIPAA privacy rules about patient data do not apply to it. You are responsible for how you use the data: if you contact providers for marketing, follow the laws that apply to you, such as the CAN-SPAM Act for email, the Telephone Consumer Protection Act (TCPA) and Do Not Call rules for calls, faxes and texts (the Junk Fax Prevention Act covers unsolicited faxes), and state privacy laws.

Why does a provider appear whose practice city is different from the one I searched? Many providers list additional practice locations. The registry matches your city against those too; you will find the matching address in otherPracticeLocations.

Why do I get providers whose primary specialty is something else? The registry matches any of a provider's taxonomies. Turn on Primary specialty only to keep just providers whose primary taxonomy matches.

Which specialty names can I use? The registry's taxonomy descriptions, such as Family Medicine, Internal Medicine, Cardiovascular Disease, Dentist, Chiropractor, Pharmacy, Nurse Practitioner or Clinical Social Worker. A partial name usually works; an unknown name is reported in the log.

Does it include emails? No. The NPI Registry does not publish email addresses. You get practice phone and fax numbers and addresses. To find emails on practice websites, combine it with our Email & Contact Scraper.

How fresh is the data? Every run queries the live registry, which CMS updates daily. lastUpdated shows when the provider last changed their record.

Are deactivated NPIs included? The registry API generally returns only active NPIs; an NPI that is not returned is logged as not found (invalid or deactivated) and not charged.

Plot Point Technologies is not affiliated with the Centers for Medicare & Medicaid Services (CMS), the US Department of Health and Human Services or NPPES.


If this tool saved you time, we would be grateful for a short review on this page; it helps other people find it. If something did not work as expected, please open an issue on the Issues tab and we will look into it quickly.