# US Healthcare Provider & Drug Search (`lentic_clockss/us-healthcare-search`) Actor

Search 20 US healthcare databases: NPI providers, FDA drug/device/food/tobacco data, CDC datasets, ClinicalTrials.gov, CMS ACO directory, and NIH funded projects — powered by SIP Public Data Gateway.

- **URL**: https://apify.com/lentic\_clockss/us-healthcare-search.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Lead generation, Business
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 & Drug Search

Search US healthcare databases for providers, drug recalls, device recalls, clinical trials, and research funding — all from a single Actor. This healthcare provider search tool queries 7 official government data sources in parallel, returning structured results in seconds.

Whether you need an NPI lookup for a specific provider, want to track FDA drug recall alerts, search ClinicalTrials.gov for active studies, or find NIH-funded research projects, this Actor provides a unified interface to the most important US healthcare data sources.

### Features

- **7 healthcare databases** — Query NPI registry, FDA recalls, CDC datasets, ClinicalTrials.gov, CMS ACO directory, and NIH projects with one keyword
- **NPI provider lookup** — Search the National Provider Identifier registry for doctors, hospitals, pharmacies, and other healthcare providers
- **FDA drug recall search** — Find drug enforcement actions, recalls, and safety alerts from OpenFDA
- **FDA device recall search** — Track medical device recalls and safety notifications
- **Clinical trials search** — Search ClinicalTrials.gov for active, recruiting, and completed studies
- **Parallel execution** — All sources queried simultaneously for fast results
- **Structured output** — Consistent metadata fields across all sources
- **No browser needed** — Pure HTTP API calls, minimal compute usage

### Data Sources

This Actor queries **7 official US healthcare databases** through the SIP Public Data Gateway:

| Source | Database | Data Type |
|--------|----------|-----------|
| **NPI Provider Registry** | NPPES | Healthcare provider identifiers, specialties, addresses |
| **FDA Drug Recalls** | OpenFDA Drug Enforcement | Drug recall events, safety alerts, enforcement actions |
| **FDA Device Recalls** | OpenFDA Device Recall | Medical device recalls, classifications, product codes |
| **CDC Health Datasets** | CDC Open Data Catalog | Public health datasets, surveillance data, statistics |
| **ClinicalTrials.gov** | NIH Clinical Trials | Clinical study records, trial status, conditions, interventions |
| **CMS ACO Directory** | CMS Medicare | Accountable Care Organization participants and providers |
| **NIH Funded Projects** | NIH RePORTER | Research grants, project abstracts, funding details |

### Output Fields

Each record includes the original fields from its source database plus these metadata fields:

| Field | Type | Description |
|-------|------|-------------|
| `_source` | string | Human-readable source name (e.g. "NPI Provider Registry") |
| `_product_id` | string | SIP product identifier |
| `_search_term` | string | The keyword used for this search |
| `_collected_at` | string | ISO 8601 timestamp of collection |

Source-specific fields vary by database. For example, NPI results include provider name, specialty, and address fields. FDA recall results include recall classification, product description, and reason for recall. ClinicalTrials.gov results include study title, status, conditions, and interventions.

### Input Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `keyword` | string | *required* | Search term (e.g. "diabetes", "cardiology", "aspirin") |
| `sources` | array | all 7 | Which healthcare databases to search |
| `maxResults` | integer | 50 | Max results per source (up to 200) |

### Examples

#### Example 1: Search all healthcare databases for diabetes

Search across all 7 sources for diabetes-related providers, recalls, trials, and research.

```json
{
  "keyword": "diabetes",
  "maxResults": 50
}
````

#### Example 2: NPI provider lookup for cardiologists

Search only the NPI registry to find cardiology providers.

```json
{
  "keyword": "cardiology",
  "sources": ["npi"],
  "maxResults": 100
}
```

#### Example 3: FDA drug and device recalls for a specific product

Search FDA recall databases for safety alerts related to a specific drug or device.

```json
{
  "keyword": "metformin",
  "sources": ["fda_drugs", "fda_devices"],
  "maxResults": 200
}
```

### Use Cases

- **Healthcare provider search** — Find doctors, hospitals, and clinics by specialty or name using the NPI registry. Verify provider credentials and NPI numbers for insurance billing and credentialing workflows
- **FDA drug recall monitoring** — Track drug enforcement actions and recall alerts. Pharmaceutical companies, pharmacies, and compliance teams can monitor for recalls affecting their products or supply chain
- **Medical device safety tracking** — Search FDA device recall data to identify recalled devices by product name, manufacturer, or classification. Essential for hospitals, device distributors, and regulatory teams
- **Clinical trials research** — Search ClinicalTrials.gov for studies by condition, intervention, or sponsor. Useful for patients seeking trials, researchers tracking competing studies, and pharma companies monitoring the clinical landscape
- **NIH grant research** — Find NIH-funded research projects by topic. Researchers can identify funding trends, potential collaborators, and competing projects in their field
- **Public health data discovery** — Search the CDC dataset catalog to find surveillance data, health statistics, and epidemiological datasets for analysis and reporting
- **ACO provider directories** — Look up CMS Accountable Care Organization participants for Medicare network analysis and provider relationship mapping
- **Healthcare market intelligence** — Combine data from multiple sources to build comprehensive views of the healthcare landscape for a given therapeutic area or specialty

### Cost Estimate

This Actor uses the SIP Public Data Gateway. Each search query costs approximately **0.01 compute units** per source queried. A typical 7-source search costs ~0.07 CU (~$0.02). Searching a single source costs ~0.01 CU (~$0.003).

| Scenario | Sources | Estimated Cost |
|----------|---------|----------------|
| Single source | 1 | ~$0.003 |
| All sources | 7 | ~$0.02 |
| 100 full searches | 7 × 100 | ~$2.00 |

### Performance

| Scenario | Sources | Speed |
|----------|---------|-------|
| Single source | 1 | ~1-3 seconds |
| All sources | 7 | ~3-6 seconds (parallel) |

### Legal

This Actor queries publicly available US government healthcare data from official open data portals including NPPES, OpenFDA, CDC, ClinicalTrials.gov, CMS, and NIH RePORTER. All data sources are published under open government data licenses. No login or authentication to government systems is required — data is accessed through official public APIs via the SIP Public Data Gateway.

Healthcare data returned by this Actor is for informational purposes only and should not be used as a substitute for professional medical advice, diagnosis, or treatment. NPI data is public directory information maintained by CMS. FDA recall data is published for public safety. Clinical trial data is self-reported by study sponsors.

### Related Actors

- [US Business Entity Search](https://apify.com/lentic_clockss/us-business-entity-search) — Search business registrations across 10+ US states
- [US Government Contracts Search](https://apify.com/lentic_clockss/us-government-contracts-search) — Search federal and state/local government contracts and procurement opportunities

# Actor input Schema

## `keyword` (type: `string`):

What to search for across healthcare databases (e.g. 'diabetes', 'cardiology', 'aspirin recall')

## `sources` (type: `array`):

Which of the 20 healthcare databases to search. Default: all sources.

## `maxResults` (type: `integer`):

Maximum records to return from each data source (up to 200).

## Actor input object example

```json
{
  "keyword": "diabetes",
  "sources": [
    "npi",
    "fda_drugs",
    "fda_devices",
    "cdc",
    "clinicaltrials",
    "cms_aco",
    "nih",
    "fda_animal_vet",
    "fda_device_510k",
    "fda_device_adverse",
    "fda_device_class",
    "fda_device_pma",
    "fda_device_reg",
    "fda_device_udi",
    "fda_drug_adverse",
    "fda_drug_approvals",
    "fda_drug_labels",
    "fda_drug_ndc",
    "fda_food_adverse",
    "fda_tobacco"
  ],
  "maxResults": 50
}
```

# 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 = {
    "keyword": "diabetes"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/us-healthcare-search").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 = { "keyword": "diabetes" }

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

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

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

```

## CLI example

```bash
echo '{
  "keyword": "diabetes"
}' |
apify call lentic_clockss/us-healthcare-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lentic_clockss/us-healthcare-search",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "US Healthcare Provider & Drug Search",
        "description": "Search 20 US healthcare databases: NPI providers, FDA drug/device/food/tobacco data, CDC datasets, ClinicalTrials.gov, CMS ACO directory, and NIH funded projects — powered by SIP Public Data Gateway.",
        "version": "0.1",
        "x-build-id": "dqNp3ShtUNXLWFuPE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~us-healthcare-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-us-healthcare-search",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/lentic_clockss~us-healthcare-search/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-us-healthcare-search",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/lentic_clockss~us-healthcare-search/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-us-healthcare-search",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keyword"
                ],
                "properties": {
                    "keyword": {
                        "title": "Search keyword",
                        "type": "string",
                        "description": "What to search for across healthcare databases (e.g. 'diabetes', 'cardiology', 'aspirin recall')"
                    },
                    "sources": {
                        "title": "Data sources",
                        "type": "array",
                        "description": "Which of the 20 healthcare databases to search. Default: all sources.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "npi",
                                "fda_drugs",
                                "fda_devices",
                                "cdc",
                                "clinicaltrials",
                                "cms_aco",
                                "nih",
                                "fda_animal_vet",
                                "fda_device_510k",
                                "fda_device_adverse",
                                "fda_device_class",
                                "fda_device_pma",
                                "fda_device_reg",
                                "fda_device_udi",
                                "fda_drug_adverse",
                                "fda_drug_approvals",
                                "fda_drug_labels",
                                "fda_drug_ndc",
                                "fda_food_adverse",
                                "fda_tobacco"
                            ],
                            "enumTitles": [
                                "NPI Provider Registry",
                                "FDA Drug Recalls",
                                "FDA Device Recalls",
                                "CDC Health Datasets",
                                "ClinicalTrials.gov",
                                "CMS ACO Directory",
                                "NIH Funded Projects",
                                "FDA Animal & Veterinary Events",
                                "FDA Device 510(k) Clearances",
                                "FDA Device Adverse Events (MAUDE)",
                                "FDA Device Classification",
                                "FDA Device PMA Approvals",
                                "FDA Device Registration & Listing",
                                "FDA Device UDI (GUDID)",
                                "FDA Drug Adverse Events (FAERS)",
                                "FDA Drug Approvals (Drugs@FDA)",
                                "FDA Drug Labels (SPL)",
                                "FDA Drug NDC Directory",
                                "FDA Food Adverse Events (CAERS)",
                                "FDA Tobacco Problem Reports"
                            ]
                        },
                        "default": [
                            "npi",
                            "fda_drugs",
                            "fda_devices",
                            "cdc",
                            "clinicaltrials",
                            "cms_aco",
                            "nih",
                            "fda_animal_vet",
                            "fda_device_510k",
                            "fda_device_adverse",
                            "fda_device_class",
                            "fda_device_pma",
                            "fda_device_reg",
                            "fda_device_udi",
                            "fda_drug_adverse",
                            "fda_drug_approvals",
                            "fda_drug_labels",
                            "fda_drug_ndc",
                            "fda_food_adverse",
                            "fda_tobacco"
                        ]
                    },
                    "maxResults": {
                        "title": "Max results per source",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum records to return from each data source (up to 200).",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
