{
  "openapi": "3.0.1",
  "info": {
    "title": "NPPES NPI Registry Scraper - Healthcare Providers",
    "description": "Search the official NPPES NPI Registry for US healthcare provider data, no API key. Look up doctors, physicians and organizations by NPI number, name, taxonomy/specialty, city, state or ZIP. Export NPI, credentials, license, taxonomy, addresses, phone and fax to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "TzXssUlocAuXpyMYi"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~nppes-npi-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-nppes-npi-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/scrapers_lat~nppes-npi-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-nppes-npi-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/scrapers_lat~nppes-npi-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-nppes-npi-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": {
          "maxProviders": {
            "title": "Max providers",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of provider records to collect across all pages. Optional. The NPPES API returns at most around 1200 records per single search query, so for larger pulls narrow your filters (for example add a city or taxonomy)."
          },
          "fetchAllResults": {
            "title": "Fetch all results (break the ~1200 ceiling)",
            "type": "boolean",
            "description": "The NPPES API returns at most ~1200 records per single query. Turn this on to run a nationwide pull: the actor splits the search into one query per US state/territory and de-duplicates by NPI, so you can collect far more than 1200 providers for a specialty. Leave the State filter empty when using this. Respects Max providers and your spend limit.",
            "default": false
          },
          "npiNumbers": {
            "title": "NPI Numbers",
            "type": "array",
            "description": "Look up specific providers by their 10-digit NPI number. When this list is filled, the search filters below are ignored and each NPI is fetched directly. One NPI per line.",
            "items": {
              "type": "string"
            }
          },
          "enumerationType": {
            "title": "Provider Type",
            "enum": [
              "",
              "NPI-1",
              "NPI-2"
            ],
            "type": "string",
            "description": "Restrict the search to individual providers (NPI-1) or organizations (NPI-2). Leave as Any to return both.",
            "default": ""
          },
          "firstName": {
            "title": "First Name",
            "type": "string",
            "description": "Individual provider first name. Supports a trailing wildcard, for example john*."
          },
          "lastName": {
            "title": "Last Name",
            "type": "string",
            "description": "Individual provider last name. Supports a trailing wildcard, for example sm*."
          },
          "organizationName": {
            "title": "Organization Name",
            "type": "string",
            "description": "Organization (NPI-2) name. Supports a trailing wildcard, for example dental*."
          },
          "taxonomyDescription": {
            "title": "Taxonomy / Specialty",
            "type": "string",
            "description": "Provider taxonomy description, that is the medical specialty, for example Dentist, Pharmacy, Internal Medicine, Chiropractor."
          },
          "taxonomyCode": {
            "title": "Taxonomy code (NUCC)",
            "type": "string",
            "description": "Optional exact NUCC taxonomy code to keep only providers who carry it, for example 122300000X (Dentist) or 207R00000X (Internal Medicine). Applied on top of the other filters. Combine with a state, or with Fetch all results, to target a specialty precisely."
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City of the provider address."
          },
          "state": {
            "title": "State",
            "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",
              "AS",
              "GU",
              "MP",
              "PR",
              "VI"
            ],
            "type": "string",
            "description": "Two-letter US state or territory code, for example CA, NY, TX, PR.",
            "default": ""
          },
          "postalCode": {
            "title": "Postal Code",
            "type": "string",
            "description": "US ZIP code. Supports a trailing wildcard, for example 902*."
          },
          "addressPurpose": {
            "title": "Address to match",
            "enum": [
              "",
              "LOCATION",
              "MAILING",
              "PRIMARY",
              "SECONDARY"
            ],
            "type": "string",
            "description": "Which address the City, State and Postal Code filters are matched against. LOCATION is the primary practice address, MAILING is the mailing address, PRIMARY matches the primary practice address, and SECONDARY matches the provider's additional practice locations. Leave as Any to match any address on file.",
            "default": ""
          },
          "namePurpose": {
            "title": "Name search target",
            "enum": [
              "",
              "Provider",
              "AO"
            ],
            "type": "string",
            "description": "For organization (NPI-2) searches, choose whether First Name and Last Name match the provider record or the organization's authorized official. Use Authorized Official to find every organization signed off by a named executive. Leave as Provider for normal searches.",
            "default": ""
          },
          "countryCode": {
            "title": "Country Code",
            "type": "string",
            "description": "Two-letter country code to search providers with a non-US address, for example CA, MX, GB. Leave empty for United States (US)."
          },
          "useFirstNameAlias": {
            "title": "Include first-name aliases",
            "enum": [
              "",
              "True",
              "False"
            ],
            "type": "string",
            "description": "When searching by First Name, also match common nicknames and aliases (for example Bob for Robert). Set to No for exact first-name matching only.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}