{
  "openapi": "3.0.1",
  "info": {
    "title": "NPPES NPI Registry Lookup",
    "description": "NPPES NPI Registry Lookup extracts US healthcare providers from the CMS NPPES registry and returns 89 flat columns per provider: identity, status, taxonomies, every state licence, mailing and practice addresses, other identifiers and HIE endpoints. Search by NPI, name, specialty or state.",
    "version": "0.1",
    "x-build-id": "xo0XZNHh9lud5vu8q"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/praise-most-high~nppes-npi-registry-lookup/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-praise-most-high-nppes-npi-registry-lookup",
        "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/praise-most-high~nppes-npi-registry-lookup/runs": {
      "post": {
        "operationId": "runs-sync-praise-most-high-nppes-npi-registry-lookup",
        "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/praise-most-high~nppes-npi-registry-lookup/run-sync": {
      "post": {
        "operationId": "run-sync-praise-most-high-nppes-npi-registry-lookup",
        "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": {
          "npiNumbers": {
            "title": "NPI numbers",
            "type": "array",
            "description": "Look up these NPI numbers directly, one row per number. This is the cheapest and most precise way to use the Actor: an NPI resolves to exactly one provider, so you are billed for exactly what you asked for. An NPI that is not in the registry costs you nothing.",
            "items": {
              "type": "string"
            }
          },
          "lastName": {
            "title": "Provider last name",
            "type": "string",
            "description": "Last name of an individual provider. Combine with a state to narrow the search, and a narrower search is a smaller bill. NPPES accepts a trailing * as a wildcard, for example SMITH*."
          },
          "firstName": {
            "title": "Provider first name",
            "type": "string",
            "description": "First name of an individual provider. Only useful alongside a last name; on its own it matches too broadly to be worth paying for."
          },
          "organizationName": {
            "title": "Organization name",
            "type": "string",
            "description": "Legal business name of an organizational provider such as a hospital, clinic or group practice. NPPES accepts a trailing * as a wildcard, for example CLEVELAND*."
          },
          "taxonomyDescription": {
            "title": "Taxonomy (specialty)",
            "type": "string",
            "description": "The provider taxonomy description exactly as NPPES publishes it, for example Internal Medicine, Pediatrics, Pharmacy or Nurse Practitioner. This is the registry's own specialty vocabulary, not a free-text search."
          },
          "state": {
            "title": "State (two-letter code)",
            "type": "string",
            "description": "Two-letter US state or territory code, for example TX, CA or NY. Matches the provider's registered address."
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City on the provider's registered address, for example HOUSTON."
          },
          "postalCode": {
            "title": "Postal code",
            "type": "string",
            "description": "ZIP code on the provider's registered address. NPPES accepts a trailing * as a wildcard, for example 770*."
          },
          "enumerationType": {
            "title": "Provider type",
            "enum": [
              "ANY",
              "NPI-1",
              "NPI-2"
            ],
            "type": "string",
            "description": "Restrict to individual providers (NPI-1) or organizations (NPI-2). Leave on Any to return both.",
            "default": "ANY"
          },
          "maxRecordsPerQuery": {
            "title": "Maximum records per query",
            "minimum": 1,
            "maximum": 1200,
            "type": "integer",
            "description": "A hard ceiling on how many provider records one search may return, and therefore a hard ceiling on what that search can cost you. Defaults to 50, which is the cheaper side on purpose. The registry itself will not serve more than 1,200 records for any single set of criteria (limit 200 plus skip 1,000, both measured), so values above 1200 are clamped and the run says so in its log.",
            "default": 50
          },
          "onlyNewOrUpdated": {
            "title": "Only new or updated providers",
            "type": "boolean",
            "description": "On by default. A repeat run delivers and bills only for providers whose registry record has actually changed since your last run, judged by NPPES's own last_updated_epoch field rather than by anything this Actor decides. Turn it off to receive the full result set every time, which costs more.",
            "default": true
          },
          "includeRawRecord": {
            "title": "Include the raw NPPES record",
            "type": "boolean",
            "description": "Attach the untouched NPPES JSON record to each row as _raw, alongside the 89 flat columns. Useful when you need the full nesting of taxonomies, addresses, endpoints and other names. It does not change what you are charged.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}