
NPI Registry Scraper
hipersoft/npi-registry-scraper
Directory of US doctors, dentists, hospitals & clinics: NPI, name, specialty, license, address, phone & fax. Search by name, specialty, city, state or ZIP, or look up NPIs. Export JSON, CSV or Excel.
Total users
2Monthly users
1Total runs
43Per provider scraped
$0.002Last rebuilt
Oct 26, 2026Overview
Build a clean, structured directory of US healthcare providers — doctors, dentists, nurses, therapists, pharmacies, hospitals, clinics and medical groups — with the NPI Registry Scraper. Search by name, specialty, organization, city, state or ZIP code and export one flat row per provider as JSON, CSV or Excel.
Every provider in the United States has a unique National Provider Identifier (NPI). This scraper turns that public directory into ready-to-use data for lead generation, market research, credentialing, provider outreach, referral networks, healthcare recruiting and data enrichment.
What it does
- 🔎 Search by many filters — provider first/last name, organization name, medical specialty (taxonomy), city, state, ZIP code and country.
- 🏥 Individuals and organizations — restrict to individual practitioners (doctors, dentists, nurses) or organizations (hospitals, clinics, groups), or pull both.
- 🔢 Direct NPI lookup — paste a list of 10-digit NPI numbers to fetch those exact records.
- 📇 Rich contact detail — practice address, city, state, ZIP, phone and fax for each provider.
- 🧾 Credential + license — specialty description, taxonomy code, credential (MD, DDS, RN…), license number and license state.
- 📤 Export anywhere — download as JSON, CSV or Excel, or pull straight into Google Sheets, a CRM or your database.
Example output
{
"npi": "1760813802",
"entityType": "Organization",
"name": "101 DENTAL GROUP",
"organizationName": "101 DENTAL GROUP",
"credential": null,
"status": "A",
"primaryTaxonomy": "Dentist, General Practice",
"taxonomyCode": "1223G0001X",
"licenseNumber": "54634",
"licenseState": "CA",
"address": "22500 SHERMAN WAY, SUITE 100",
"city": "CANOGA PARK",
"state": "CA",
"postalCode": "913072306",
"country": "US",
"phone": "818-999-9900",
"fax": "818-999-9901"
}
How to use it
- Set your filters — for example state =
CAand specialty =Dentist, or a last name, or an organization name. You can also paste NPI numbers for a direct lookup. - Set Max providers to cap how many records you want.
- Run the actor and download the results as JSON, CSV or Excel.
Tip: each distinct filter set returns up to about 1,200 records. To pull a large market, narrow by city or specialty and run several focused searches (e.g. per city or per specialty) rather than one broad one.
Input fields
| Field | Description |
|---|---|
| NPI numbers | Look up specific 10-digit NPI numbers directly (ignores the filters below). |
| Provider type | Any, Individual, or Organization. |
| Specialty / taxonomy | e.g. Dentist, Pediatrics, Chiropractor, Pharmacy. Wildcards with *. |
| First name / Last name | Individual provider name. Wildcards with *. |
| Organization name | Practice or facility name. Wildcards with *. |
| City / State / ZIP | Practice-location filters. State is a two-letter code (CA, NY, TX). |
| Country code | Two-letter country code (defaults to US). |
| Max providers | Maximum number of records to collect (0 = no limit). |
Output fields
npi, entityType, name, firstName, lastName, organizationName, credential, gender, status, enumerationDate, lastUpdated, primaryTaxonomy, taxonomyCode, licenseNumber, licenseState, taxonomies, address, city, state, postalCode, country, phone, fax, mailingAddress, mailingCity, mailingState.
Popular use cases
- Healthcare lead generation — build targeted lists of dentists, physicians or clinics by city and specialty.
- Medical recruiting — find and reach practitioners by specialty and location.
- Credentialing & verification — confirm NPI, taxonomy, license number and status.
- Market & competitor research — map provider density by specialty across regions.
- CRM enrichment — enrich existing records with NPI, specialty and practice contact detail.
- Referral networks — discover providers by specialty near a ZIP code.
FAQ
Do I need any account or key to run this? No. Just set your filters and run — everything needed is built in.
Which countries are covered? The directory covers healthcare providers registered in the United States and its territories.
How fresh is the data?
Each record includes its own lastUpdated date so you can see when a provider's information was last maintained.
Can I export to Excel or Google Sheets? Yes — results download as JSON, CSV or Excel, and integrate with Sheets, CRMs and databases.
How many records can I pull at once? Each distinct filter set returns up to ~1,200 records. Split large markets into focused searches by city or specialty to go deeper.
Reliable, structured US healthcare provider data — by name, specialty, organization or location — exported clean and ready to use.
Input
| Field | Type | Description |
|---|---|---|
npiNumbersNPI numbers (direct lookup) | array | Look up specific 10-digit NPI numbers directly. When set, the filters below are ignored. Leave empty to search by filters. |
entityTypeProvider type | string · , Individual, Organization | Restrict to individual practitioners or organizations. |
taxonomyDescriptionSpecialty / taxonomy | string | Filter by specialty description — e.g. 'Dentist', 'Pediatrics', 'Chiropractor', 'Pharmacy'. Wildcards allowed with * (min 2 chars). |
firstNameFirst name | string | Individual provider first name. Wildcards allowed with * (min 2 chars). |
lastNameLast name | string | Individual provider last name. Wildcards allowed with * (min 2 chars). |
organizationNameOrganization name | string | Organization / practice name. Wildcards allowed with * (min 2 chars). |
cityCity | string | Practice-location city — e.g. 'Miami'. |
stateState | string | Two-letter state code — e.g. 'CA', 'NY', 'TX'. |
postalCodeZIP / postal code | string | Practice ZIP code. Wildcards allowed with * (e.g. '9021*'). |
countryCodeCountry code | string | Two-letter country code (default US when blank) — e.g. 'US'. |
maxItemsMax providers | integer | Maximum number of providers to collect (0 = no limit). Note: each distinct filter set returns up to 1,200 records — narrow by city or specialty to reach more. Default: 200 |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~npi-registry-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"npiNumbers": [],
"taxonomyDescription": "Family Medicine",
"city": "Los Angeles",
"state": "CA"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/npi-registry-scraper").call(run_input={
"npiNumbers": [],
"taxonomyDescription": "Family Medicine",
"city": "Los Angeles",
"state": "CA"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/npi-registry-scraper').call({
"npiNumbers": [],
"taxonomyDescription": "Family Medicine",
"city": "Los Angeles",
"state": "CA"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Provider scraped Charged for each healthcare provider record returned. | $0.002 | $0.001 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
North Data Scraper
Look up European companies on North Data: legal name, former names, register number, address, founding date, LEI, business purpose, managing directors and officers, and recent register publications. Germany, UK, France, Austria and 20+ countries. Bulk lookups.
2,467 runs · 5 users · $0.004 / companyWebsite Content Crawler
Extract clean, readable content from any list of websites: page title, meta description, headings, main body text, word count and link/image counts. Optional same-domain crawl. Bulk-ready. Great for LLM/RAG ingestion, content audits and research.
206 runs · 20 users · $0.0024 / page scrapedSpyFu Domain Scraper
Bulk SEO and PPC reports for any domain from SpyFu: organic keywords, monthly SEO clicks and value, Google Ads budget, paid keywords, top keywords, competitors, top countries and monthly history. Competitor research for agencies. Export CSV/JSON.
185 runs · 7 users · $0.008 / domain reportTrustpilot Reviews Scraper
Scrape Trustpilot reviews and company ratings by company domain or Trustpilot URL: star rating, title, text, reviewer name & country, verification, date, company reply, plus company TrustScore and total reviews.
146 runs · 4 users · $0.0006 / review scrapedACRA Singapore Company Registry Scraper
Search and export Singapore's full ACRA corporate registry: UEN, entity name, status, incorporation date, address, SSIC industry codes, officers, former names and audit firms. Filter by name, status, entity type or industry. Public open data, no setup.
138 runs · 10 users · $0.01 / company scrapedWayback Machine Scraper
List every Internet Archive (Wayback Machine) snapshot of a URL or whole domain: timestamp, snapshot URL, status code, MIME type and content digest. Filter by date, status and dedupe. For SEO, OSINT and historical research. No setup.
135 runs · 15 users · $0.002 / snapshot scrapedSend the site and the fields. We build it and you get it first.