# Healthcare Provider Network Us (`dromb/healthcare-provider-network-us`) Actor

Search official US NPPES and CMS public data for provider identity, specialty, primary location, enrollment, affiliations, network signals, and utilization. Use it for provider-directory enrichment, network research, credentialing support, market mapping, and public-data analysis.

- **URL**: https://apify.com/dromb/healthcare-provider-network-us.md
- **Developed by:** [Dmitriy Gyrbu](https://apify.com/dromb) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.20 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## US Healthcare Provider Network & Enrollment Scraper

Search official US NPPES and CMS public data for provider identity, specialty, primary location, enrollment, affiliations, network signals, and utilization. Use it for provider-directory enrichment, network research, credentialing support, market mapping, and public-data analysis.

This Actor is unofficial and is not affiliated with CMS, NPPES, Medicare, or the US government. It does not provide medical advice, licensing verification, sanction screening, or a conclusion about current employment.

### Operations

- `search`: provider discovery by provider name, organization name, state, or taxonomy; optional `limit`.
- `item`: exact provider card by 10-digit `npi`. Includes the primary public NPPES location and phone when available.
- `batch`: bounded exact lookup for `npis`.
- `enrollment`: CMS public enrollment rows for one `npi`.
- `affiliations`: CMS facility-affiliation rows for one `npi`.
- `network`: available facility and reassignment relationship signals for one `npi`; partial coverage is disclosed.
- `utilization`: public CMS procedure-category utilization rows for one `npi`.

### Examples

```json
{"operation":"search","organizationName":"Mayo Clinic","state":"MN","limit":10}
```

```json
{"operation":"item","npi":"1003000480"}
```

### Record semantics

Provider rows contain NPI identity, entity type, individual or organization name, primary taxonomy/specialty, taxonomy codes, important NPPES dates, and the primary public location. Enrollment, affiliation, and utilization operations emit their own source-specific record types rather than forcing incompatible CMS concepts into one provider card.

Every row keeps `sourceName`, `sourceType`, retrieval/source timestamps, a source record key, and `dataQualityWarnings`. Suppressed CMS service counts remain in `serviceCountRange` and set `suppressionApplied`; they are never converted to zero. Network relationships are evidence from the named public dataset, not a claim of employment, ownership, referral, or active credentialing.

### Output

The default dataset contains records. `OUTPUT` contains the run status, operation, row count, warnings, and structured errors.

### Limits and failure modes

`limit` is optional and has no implicit default. When it is omitted, the Actor does not apply a smaller Dromb-side row cap to the selected source page or response. Exact lookup operations may naturally return one record, and `batch` is bounded by the explicit `npis` array.

Official NPPES and CMS datasets can be temporarily unavailable, rate-limited, or changed upstream. Source failures are reported as structured errors and are not presented as valid zero-result searches. Missing or suppressed public fields remain null or are described in `dataQualityWarnings`; the Actor does not infer credentials, employment, sanctions, or active network participation.

# Actor input Schema

## `facilityCcn` (type: `string`):

Input value for `facilityCcn` used by the selected operation.

## `limit` (type: `integer`):

Optional explicit cap for customer-visible results. If omitted, the complete selected native source page or response is preserved.

## `npi` (type: `string`):

Exact 10-digit National Provider Identifier for a provider lookup.

## `npis` (type: `array`):

One or more exact National Provider Identifiers for a bounded batch lookup.

## `operation` (type: `string`):

Search returns provider cards; item returns one exact NPI card; batch resolves multiple NPIs; the remaining operations return source-specific CMS relationship or utilization rows.

## `organizationName` (type: `string`):

Organization name used by supported public-source search operations.

## `providerName` (type: `string`):

Provider or clinician name used by supported public-source search operations.

## `state` (type: `string`):

Two-letter US state or territory code used to narrow supported healthcare searches.

## `taxonomy` (type: `string`):

Healthcare taxonomy code or text used to narrow supported provider searches.

## Actor input object example

```json
{
  "npi": "1003000480",
  "operation": "item"
}
```

# Actor output Schema

## `results` (type: `string`):

Provider, enrollment, affiliation, or utilization rows for the selected operation.

## `summary` (type: `string`):

Status, row count, warnings, and structured error details stored under OUTPUT.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "npi": "1003000480"
};

// Run the Actor and wait for it to finish
const run = await client.actor("dromb/healthcare-provider-network-us").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "npi": "1003000480" }

# Run the Actor and wait for it to finish
run = client.actor("dromb/healthcare-provider-network-us").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "npi": "1003000480"
}' |
apify call dromb/healthcare-provider-network-us --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dromb/healthcare-provider-network-us"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/cgjLhc5JpWFkquDOH/builds/8aBjnB5H6aaM2nozy/openapi.json
