{
  "openapi": "3.0.1",
  "info": {
    "title": "NPI Registry Scraper | 7M+ US Healthcare Providers (CMS)",
    "description": "NPPES NPI Registry scraper & API: search 8M+ US healthcare providers and export NPI, name, taxonomy and specialty, practice and mailing address, phone, credentials and enumeration date. Healthcare provider data, verification and lead generation — fast, no login.",
    "version": "1.0",
    "x-build-id": "4bpTuZjxtTmxhSWJg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/haketa~nppes-npi-registry-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-haketa-nppes-npi-registry-scraper",
        "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/haketa~nppes-npi-registry-scraper/runs": {
      "post": {
        "operationId": "runs-sync-haketa-nppes-npi-registry-scraper",
        "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/haketa~nppes-npi-registry-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-haketa-nppes-npi-registry-scraper",
        "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",
        "properties": {
          "specialty": {
            "title": "Specialty (taxonomy)",
            "enum": [
              "",
              "Family Medicine",
              "Internal Medicine",
              "Pediatrics",
              "Cardiology",
              "Dermatology",
              "Psychiatry & Neurology",
              "Obstetrics & Gynecology",
              "Emergency Medicine",
              "Anesthesiology",
              "Radiology",
              "Orthopaedic Surgery",
              "General Surgery",
              "Ophthalmology",
              "Dentist",
              "Optometrist",
              "Chiropractor",
              "Podiatrist",
              "Psychologist",
              "Physical Therapist",
              "Nurse Practitioner",
              "Physician Assistant",
              "Registered Nurse",
              "Pharmacy",
              "Social Worker",
              "Counselor",
              "Dietitian",
              "Speech-Language Pathologist",
              "Clinic/Center",
              "Hospital",
              "Nursing Home"
            ],
            "type": "string",
            "description": "Pick a provider specialty. This is the fastest way to pull a targeted provider list. Leave blank to search by name/organization instead, or leave the whole form empty for a mixed sample.",
            "default": ""
          },
          "specialtyCustom": {
            "title": "Custom specialty text (advanced)",
            "type": "string",
            "description": "Optional. Type any CMS taxonomy / specialty phrase not in the dropdown above (partial match works, e.g. 'Neurology', 'Oncology', 'Acupuncturist'). Overrides the dropdown when set.",
            "default": ""
          },
          "states": {
            "title": "States",
            "type": "array",
            "description": "Pick one or more US states / territories to narrow results. Note: a state on its own is not enough for the registry — it is automatically paired with the specialty or name/organization you choose.",
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "AK",
                "AZ",
                "AR",
                "CA",
                "CO",
                "CT",
                "DE",
                "DC",
                "FL",
                "GA",
                "HI",
                "ID",
                "IL",
                "IN",
                "IA",
                "KS",
                "KY",
                "LA",
                "ME",
                "MD",
                "MA",
                "MI",
                "MN",
                "MS",
                "MO",
                "MT",
                "NE",
                "NV",
                "NH",
                "NJ",
                "NM",
                "NY",
                "NC",
                "ND",
                "OH",
                "OK",
                "OR",
                "PA",
                "RI",
                "SC",
                "SD",
                "TN",
                "TX",
                "UT",
                "VT",
                "VA",
                "WA",
                "WV",
                "WI",
                "WY",
                "PR",
                "VI",
                "GU",
                "AS",
                "MP"
              ],
              "enumTitles": [
                "Alabama",
                "Alaska",
                "Arizona",
                "Arkansas",
                "California",
                "Colorado",
                "Connecticut",
                "Delaware",
                "District of Columbia",
                "Florida",
                "Georgia",
                "Hawaii",
                "Idaho",
                "Illinois",
                "Indiana",
                "Iowa",
                "Kansas",
                "Kentucky",
                "Louisiana",
                "Maine",
                "Maryland",
                "Massachusetts",
                "Michigan",
                "Minnesota",
                "Mississippi",
                "Missouri",
                "Montana",
                "Nebraska",
                "Nevada",
                "New Hampshire",
                "New Jersey",
                "New Mexico",
                "New York",
                "North Carolina",
                "North Dakota",
                "Ohio",
                "Oklahoma",
                "Oregon",
                "Pennsylvania",
                "Rhode Island",
                "South Carolina",
                "South Dakota",
                "Tennessee",
                "Texas",
                "Utah",
                "Vermont",
                "Virginia",
                "Washington",
                "West Virginia",
                "Wisconsin",
                "Wyoming",
                "Puerto Rico",
                "U.S. Virgin Islands",
                "Guam",
                "American Samoa",
                "Northern Mariana Islands"
              ]
            }
          },
          "enumerationType": {
            "title": "Provider Type",
            "enum": [
              "any",
              "NPI-1",
              "NPI-2"
            ],
            "type": "string",
            "description": "Individual = a person (doctor, nurse, dentist). Organization = a hospital, clinic, or group practice. Choose both to include everything.",
            "default": "any"
          },
          "organizationName": {
            "title": "Organization Name (search)",
            "type": "string",
            "description": "Optional. Search organizations by name. Examples: 'Mount Sinai', 'Kaiser Permanente', 'Walgreens'. Skip when searching individuals.",
            "default": ""
          },
          "firstName": {
            "title": "First Name (search)",
            "type": "string",
            "description": "Optional. Provider first name (partial match). Examples: 'John', 'Sarah'. Best paired with a last name + state.",
            "default": ""
          },
          "lastName": {
            "title": "Last Name (search)",
            "type": "string",
            "description": "Optional. Provider last name. Best paired with a first name + state for a precise individual lookup.",
            "default": ""
          },
          "cities": {
            "title": "Cities (optional search)",
            "type": "array",
            "description": "Optional. Narrow to specific cities by name. Examples: 'New York', 'Los Angeles', 'Houston'. Each city runs as a separate query.",
            "items": {
              "type": "string"
            }
          },
          "postalCode": {
            "title": "Postal / ZIP Code (optional)",
            "type": "string",
            "description": "Optional. Narrow by ZIP. Partial match works (e.g. '100' matches all 100xx ZIPs).",
            "default": ""
          },
          "npis": {
            "title": "NPI Numbers (direct lookup, advanced)",
            "type": "array",
            "description": "Optional. Paste 10-digit NPI numbers to look up exact providers directly — the fastest mode. Example: 1982445060. Leave empty to use the filters above.",
            "items": {
              "type": "string"
            }
          },
          "addressPurpose": {
            "title": "Address Type Filter",
            "enum": [
              "any",
              "LOCATION",
              "MAILING",
              "PRIMARY",
              "SECONDARY"
            ],
            "type": "string",
            "description": "Optional. Which address to match on: Practice location, Mailing address, or a primary/secondary practice site. Leave 'Any' for no filter.",
            "default": "any"
          },
          "maxRecords": {
            "title": "Max Records",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum providers to collect across all searches. Set 0 for unlimited. A leave-it-empty run is automatically capped to a fast ~100-record sample.",
            "default": 100
          },
          "requestDelay": {
            "title": "Request Delay (ms)",
            "minimum": 100,
            "maximum": 10000,
            "type": "integer",
            "description": "Delay between registry calls. 500-2000ms keeps the run polite and stable.",
            "default": 800
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Optional. The CMS NPPES registry is a public API — a proxy is usually not needed."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}