Skip to main content
Glama
pandadad0214

Panda Federation Tools

NPI Registry Scraper: US Doctors & Healthcare Provider Leads

npi_provider_lists
Read-only

Build de-duplicated US healthcare provider lists from the official NPI Registry by specialty, state, city, or ZIP, returning contact details and an Excel export.

Instructions

Use this to build lists of US healthcare providers from the official NPI Registry (NPI registry scraper). Input: specialties in plain words plus states, cities or ZIP codes. Output: one de-duplicated row per provider with NPI, name, specialty, address and phone, plus Excel.

Runs the Apify Actor pandadad0214/npi-provider-lists (https://apify.com/pandadad0214/npi-provider-lists) on your own Apify account. Price: $0.0015 per provider in list. Runs that find nothing are not charged per result. Spending is capped per call by run_max_charge_usd.

Input Schema

NameRequiredDescriptionDefault
citiesNoCities. Optional. Write "Austin, TX". Saint/St, Fort/Ft and Mount/Mt spellings are searched together. When cities are given, the list is limited to those cities (states only fill in a missing state).
statesNoStates. 2-letter codes, e.g. VT, TX. Big states are split automatically by ZIP code, so you are not stuck at the registry's 1,200-result ceiling. If you also list cities without a state, these states are used for them.
lastNameNoLast name. Optional, individuals only. A trailing * is a wildcard after at least 2 letters (Sm*).
zipCodesNoZIP codes. Optional. 5-digit ZIPs (05401) or prefixes of 2-4 digits (941 = San Francisco area, 05 = Vermont/New Hampshire). Added to the territory on top of states or cities.
firstNameNoFirst name. Optional, individuals only. Wildcards as above.
maxResultsNoMaximum providers. You pay per provider in the list, so this also caps the cost. Up to 50,000. With several specialties or areas the limit is shared fairly between them. Whole number, 1 to 50,000 results; default 500.
specialtiesNoSpecialties. Plain names work: dentist, orthodontist, family doctor, pediatrician, cardiologist, dermatologist, psychiatrist, chiropractor, physical therapist, nurse practitioner, psychologist, mental health counselor, social worker, pharmacy, home health, hospice, nursing home, urgent care, hospital, FQHC and more (full list in the README). Any NPPES taxonomy description also works, e.g. "Family Medicine" or "Nurse Practitioner, Pediatrics".
providerTypeNoProvider type. Individuals (NPI-1: doctors, nurses, therapists) or organizations (NPI-2: practices, clinics, pharmacies, agencies). Choices: all = Both; individual = Individuals only; organization = Organizations only.all
run_max_itemsNoOptional. Most results to return from this call (default from PANDA_MAX_ITEMS, 50). Also limits how many results the Actor produces and charges for, unless you set its own max field.
organizationNameNoOrganization name. Optional, organizations only, e.g. "Kaiser*" or "Walgreen*".
run_timeout_secsNoOptional. Seconds to wait for results (default from PANDA_TIMEOUT_SECS, 120; max 300).
run_max_charge_usdNoOptional. Hard spending cap for this call in USD (default from PANDA_MAX_CHARGE_USD, 0.50).
primarySpecialtyOnlyNoPrimary specialty only. On: keep only providers whose primary taxonomy is the specialty you asked for. Off (default): keep anyone who lists it among their taxonomies.
includeSecondaryLocationsNoInclude providers with an additional practice location in the territory. On (default): a provider whose main office is elsewhere but who also practices in your territory is included, and the in-territory address is shown. Off: primary practice address only.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/non-destructive, and the description adds material context beyond them: it runs on the caller's own Apify account, costs $0.0015 per provider, empty runs are not charged per result, and spend is hard-capped via run_max_charge_usd. It stops short of describing runtime behavior (timeout defaults, long-running/async semantics for large states), which matters for a scraping tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short blocks ordered purpose → inputs/outputs → execution and pricing, with zero filler and the value proposition front-loaded. Minor redundancy ("NPI Registry" repeated, SEO-style parenthetical) keeps it from being maximally tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter tool with no output schema, the description usefully states the returned columns and the billing model, and 0/14 required parameters is partially mitigated by naming the intended input trio. It never clarifies what happens if all geographic filters are omitted, which is the main open question for a call with no required fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains every one of the 14 parameters in detail (wildcards, ZIP prefixes, city/state interaction, primary-specialty toggle). The description adds only a high-level hint ("specialties in plain words plus states, cities or ZIP codes") and repeats the cost cap already in the schema, so it neither adds nor loses meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a concrete verb+resource+source (build provider lists from the official NPI Registry) and immediately specifies the input shape (specialties plus states/cities/ZIPs) and output shape (one de-duplicated row per provider with NPI, name, specialty, address, phone). This is unmistakably a healthcare-provider lead builder, distinct from domain-adjacent siblings such as local_business_leads or trucking_company_leads.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use this to build lists of US healthcare providers" plus the Input line gives a clear trigger condition and the minimum viable call shape. It does not, however, name any alternative tool or state when not to use it (e.g. versus local_business_leads for non-clinical businesses), so the routing guidance stops short of explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.