NPI Registry Scraper — 8M Healthcare Providers, DEA + License avatar

NPI Registry Scraper — 8M Healthcare Providers, DEA + License

Pricing

$2.00 / 1,000 results

Go to Apify Store
NPI Registry Scraper — 8M Healthcare Providers, DEA + License

NPI Registry Scraper — 8M Healthcare Providers, DEA + License

Extract 8M+ US healthcare providers from CMS NPPES. 44 fields: practice + mailing addresses, DEA & state licenses, taxonomies, endpoints, authorized officials. Filter by specialty, state, city, zip, name, or organization. Batch NPI lookup. HTTP-only, $2/1K.

Pricing

$2.00 / 1,000 results

Rating

5.0

(1)

Developer

Sourabh Kumar

Sourabh Kumar

Maintained by Community

Actor stats

0

Bookmarked

16

Total users

6

Monthly active users

19 days ago

Last modified

Share

🏥 NPI Registry Scraper — Healthcare Provider Leads from CMS NPPES

Search and extract healthcare provider data from the official CMS NPPES NPI Registry. Get contact details, specialties, addresses, license numbers, DEA, and electronic endpoints for doctors, dentists, nurses, and medical organizations across the US. No login, no scraping — direct access to a free public government API.

⚡ Why this NPI Registry scraper?

The NPI Registry is the authoritative source for US healthcare provider data — 8M+ providers, maintained by the federal government, always up to date. Most teams query it manually or build their own integrations. This actor makes it plug-and-play:

  • 💰 Affordable: Just $2.00 per 1,000 providers.
  • 🚀 Fast: Pure API calls — no browser, no proxy, no headless Chrome. 1,000 results in seconds.
  • 🏛️ Official data: Directly from the CMS NPPES API — the same database hospitals and insurers use.
  • 📋 Rich output: 44 fields per provider — practice + mailing addresses, full taxonomy array with licenses, DEA/state license identifiers, electronic endpoints, additional practice locations, and authorized official contacts for organizations.
  • 🔍 Flexible filtering: Search by specialty, state, city, zip code, name, organization, or look up single/batch NPI numbers.
  • 🏢 Individuals + organizations: Covers both licensed practitioners (NPI-1) and healthcare organizations like hospitals and clinics (NPI-2).
  • 🗂️ Batch lookup: Pass an array of NPI numbers and get all records in one run — perfect for credentialing workflows.

📦 What data can you extract?

Each provider record includes 44 fields:

  • 🪪 Identity: NPI number, provider type, status (Active/Deactivated), name prefix/suffix, credential, gender, enumeration & last-updated dates
  • 🏥 Organization: Organization name, organizational-subpart flag, authorized official name, title, phone, and credential
  • 🔬 Specialties: Primary specialty (convenience) + full taxonomies[] array with code, description, license number, license state, and primary flag for every taxonomy the provider has
  • 🔖 Identifiers: Full identifiers[] array — DEA number, state license numbers, UPIN, Medicaid IDs, and other regulatory identifiers with issuer and state
  • 📍 Practice address (flat convenience): street, suite, city, state, zip, country, phone, fax
  • 📮 Mailing address (separate): street, suite, city, state, zip, phone
  • 🗺️ Additional practice locations: practiceLocations[] array with all secondary addresses
  • 🔌 Electronic endpoints: endpoints[] array — Direct secure-messaging addresses and content types for interoperability
  • 🏷️ Other names: otherNames[] array — previous / alternate names the provider has used
  • 🔗 Source link: Direct URL to NPPES provider-view for verification

💲 How much does it cost?

The NPI Registry scraper uses pay-per-event pricing — you only pay for what you extract:

  • $2.00 per 1,000 providers

Example costs:

What you extractProvidersCost
Family medicine doctors in Texas500$1.00
All dentists in California2,000$4.00
Full specialty export (e.g., all NPs in NY)5,000$10.00

🎯 Use cases

  • 💊 Pharma sales: Build targeted lists of prescribers by specialty and geography. Use DEA numbers from identifiers[] to verify controlled-substance authority before outreach.
  • 🦷 Dental supply: Find all dentists in a region with phone, address, and license number.
  • 🏥 Medical device reps: Identify surgeons in your territory with verified contact details and all practice locations.
  • 💻 Healthcare SaaS: Enrich your provider database or validate NPI + license numbers at scale.
  • 🏢 Practice management: Generate lists of practices (NPI-2) with authorized-official contacts for decision-maker outreach.
  • 🧾 Medical billing & credentialing: Verify NPIs, state licenses, and DEA in one pass. Use batch_lookup to validate 1,000+ NPIs at once.
  • 📊 Market research: Analyze provider density, specialty distribution, and coverage gaps.
  • 🔗 CRM enrichment: Append verified phone, fax, addresses, specialty, and license data to existing records.
  • 🔌 Interoperability: Use endpoints[] to find Direct secure-messaging addresses for HIE integration.

📥 Input

FieldTypeDescriptionDefault
taxonomystringProvider specialty (e.g., "Family Medicine", "Dentist", "Nurse Practitioner")
statestringTwo-letter US state code (e.g., "CA", "TX", "NY")
citystringCity name (e.g., "Los Angeles", "Houston")
postalCodestring5-digit US zip code (e.g., "90210") or prefix with wildcard ("900*")
firstNamestringProvider first name. Supports wildcards (e.g., "Jo*" matches John, Jose)
lastNamestringProvider last name. Supports wildcards (e.g., "Sm*" matches Smith, Smythe)
organizationNamestringSearch organizations by name (e.g., "Kaiser", "Mayo Clinic"). Auto-switches provider type to organization.
npiNumberstringLook up a single provider by exact 10-digit NPI number
npiNumbersarrayBatch lookup — array of 10-digit NPI numbers. Overrides other filters.
providerTypestringFilter by type: "both", "individual", or "organization""both"
maxResultsnumberMaximum number of providers to return. Leave empty for up to ~1,000 per query (CMS API cap).No limit

Note: When none of the filters above are provided, the actor defaults to taxonomy="Family Medicine" + state="CA" + maxResults=10 so a blank run always succeeds with sample data.

💡 Example inputs

Filter search — cardiologists in California:

{
"taxonomy": "Cardiology",
"state": "CA",
"maxResults": 500
}

Find hospitals by name:

{
"organizationName": "Kaiser",
"state": "CA",
"maxResults": 50
}

Single NPI lookup:

{
"npiNumber": "1245319599"
}

Batch NPI lookup (credentialing / validation):

{
"npiNumbers": [
"1245319599",
"1871538041",
"1932102168"
]
}

📤 Output

Each provider is stored as a JSON object with 44 fields (arrays for taxonomies, identifiers, endpoints, practice locations):

{
"npi": "1245319599",
"type": "individual",
"status": "Active",
"firstName": "Sarah",
"lastName": "Mitchell",
"middleName": "L",
"namePrefix": "Dr.",
"credential": "MD",
"gender": "F",
"specialty": "Family Medicine",
"taxonomyCode": "207Q00000X",
"licenseNumber": "A123456",
"licenseState": "CA",
"phone": "310-555-0192",
"fax": "310-555-0193",
"address": "1234 Wilshire Blvd",
"suite": "Suite 400",
"city": "Los Angeles",
"state": "CA",
"zip": "90010",
"country": "US",
"mailingAddress": "PO Box 9000",
"mailingCity": "Los Angeles",
"mailingState": "CA",
"mailingZip": "90009",
"taxonomies": [
{ "code": "207Q00000X", "description": "Family Medicine", "primary": true, "licenseNumber": "A123456", "licenseState": "CA" }
],
"identifiers": [
{ "code": "05", "description": "MEDICAID", "identifier": "CA-MED-123", "state": "CA", "issuer": null },
{ "code": "06", "description": "DEA", "identifier": "BM1234567", "state": "CA", "issuer": "DEA" }
],
"endpoints": [
{ "endpointType": "DIRECT", "endpoint": "sarah.mitchell@direct.example.org" }
],
"practiceLocations": [],
"enumerationDate": "2003-06-12",
"lastUpdated": "2024-11-08",
"nppesUrl": "https://npiregistry.cms.hhs.gov/provider-view/1245319599",
"scrapedAt": "2026-04-17T12:00:00.000Z"
}

Download results as JSON, CSV, Excel, or access via Apify API.

🔬 Supported specialties

Search by any specialty description from the CMS taxonomy. Common examples:

CategoryExample specialties
Primary careFamily Medicine, Internal Medicine, Pediatrics, Geriatric Medicine
DentalDentist, Oral & Maxillofacial Surgery, Orthodontics, Endodontics
VisionOptometrist, Ophthalmology
Mental healthPsychiatry & Neurology, Clinical Psychology, Clinical Social Worker
NursingNurse Practitioner, Registered Nurse, Certified Nurse Midwife
Allied healthPhysical Therapist, Occupational Therapist, Speech-Language Pathologist
SurgeryGeneral Surgery, Orthopedic Surgery, Plastic & Reconstructive Surgery
OtherChiropractic, Podiatry, Dermatology, Cardiology, Radiology
OrganizationsHospital, Clinic/Center, Group Practice, Pharmacy, Laboratory

Tip: Use partial names — "Nurse" will match Nurse Practitioner, Registered Nurse, and other nurse specialties.

🏛️ Data source

All data comes directly from the CMS NPPES NPI Registry — the official National Plan and Provider Enumeration System maintained by the Centers for Medicare & Medicaid Services (CMS), US Department of Health & Human Services.

  • API: https://npiregistry.cms.hhs.gov/api/?version=2.1
  • Coverage: 8M+ active and deactivated healthcare providers in the United States
  • Update frequency: The registry is updated daily by CMS
  • License: Free public government data — no copyright restrictions
  • No login required: Open public API, no API key needed

This is the same authoritative source used by hospitals, insurance companies, and healthcare clearinghouses for provider verification.

💡 Tips and notes

  • 🔗 Two criteria minimum: The NPI API needs at least 2 search filters. Combine taxonomy + state (most common) or taxonomy + city + state. Single-field searches may return an error — the actor handles this gracefully and logs a warning.
  • 🔍 Wildcards: Append * to names/zips for wildcard search (e.g., "Sm*", "900*"). Requires at least 2 leading characters.
  • 🏢 Organizations: Set providerType="organization" or use organizationName to find hospitals, clinics, group practices, and labs (NPI-2 entities).
  • 📍 Address priority: Flat address fields (address, phone, etc.) come from the LOCATION (practice) address, with MAILING as fallback. Both addresses are always available as separate fields.
  • 🗂️ Batch lookup: npiNumbers accepts an array for credentialing workflows — validate hundreds of NPIs in one run.
  • 🔖 DEA & licenses: Check identifiers[] for DEA (code 06), state license (05, 04, 01), UPIN (02), and Medicaid (05) numbers with their issuing state.
  • 🔢 Single lookup: Use npiNumber (string) for one provider, or npiNumbers (array) for many.
  • 📊 Pagination cap: The CMS API silently caps results at ~1,000 per query. If you need more, narrow by city or zip code.
  • 📋 CSV export: Flat convenience fields make the default table view CSV-friendly. Nested arrays (taxonomies, identifiers) are available in JSON/Excel exports for full detail.