{
  "openapi": "3.0.1",
  "info": {
    "title": "OIG Exclusion List (LEIE) Scraper",
    "description": "Search and download the HHS OIG List of Excluded Individuals/Entities: 83,000+ excluded providers with NPI, DOB, address, exclusion authority and date, monthly new exclusions and reinstatements, roster screening, NPI registry and geocoding enrichment.",
    "version": "0.1",
    "x-build-id": "roeTiev92Hdsi84FX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~hhs-oig-leie-exclusions-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-hhs-oig-leie-exclusions-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/parseforge~hhs-oig-leie-exclusions-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-hhs-oig-leie-exclusions-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/parseforge~hhs-oig-leie-exclusions-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-hhs-oig-leie-exclusions-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": {
          "source": {
            "title": "Source",
            "enum": [
              "full-list",
              "new-exclusions",
              "reinstatements",
              "new-exclusions-and-reinstatements"
            ],
            "type": "string",
            "description": "The full LEIE (about 83,800 currently excluded individuals and entities, refreshed by OIG around the 10th of each month), or the monthly supplement files: the exclusions added in a month, the reinstatements (people removed from the list) in a month, or both."
          },
          "supplementMonths": {
            "title": "Supplement months",
            "minimum": 1,
            "maximum": 36,
            "type": "integer",
            "description": "For the monthly supplement sources: how many of the most recent monthly files to read (1 = the latest month). OIG keeps about the last 19 months online."
          },
          "maxItems": {
            "title": "Maximum records",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Stop after this many records (or screened subjects). Free-plan runs return up to 10 as a preview."
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "newest",
              "oldest",
              "name"
            ],
            "type": "string",
            "description": "Newest exclusions first (default), oldest first, or alphabetical by name."
          },
          "screenSubjects": {
            "title": "Subjects to screen",
            "type": "array",
            "description": "Screening mode: one line per person, business or NPI to check against the list. Individuals as \"LAST, FIRST\" (optionally \", YYYY-MM-DD\" for the date of birth), businesses as their name, NPIs as 10 digits. When this list is filled the Actor returns one row per subject with its matches instead of listing the database.",
            "items": {
              "type": "string"
            }
          },
          "screenMatchMode": {
            "title": "Match strictness",
            "enum": [
              "standard",
              "broad"
            ],
            "type": "string",
            "description": "Standard: last name equal and first name equal or abbreviated (J. / JOHN), date of birth must agree when both sides have one; businesses match on the normalised name. Broad: also returns last-name-only and partial business-name matches, flagged with a lower match quality.",
            "default": "standard"
          },
          "search": {
            "title": "Search text",
            "type": "string",
            "description": "Text contained anywhere in the individual's name or the business name, e.g. \"PHARMACY\" or \"GONZALEZ\"."
          },
          "lastName": {
            "title": "Last name starts with",
            "type": "string",
            "description": "Individuals whose last name starts with this text (the same behaviour as the online LEIE search)."
          },
          "firstName": {
            "title": "First name starts with",
            "type": "string",
            "description": "Individuals whose first name starts with this text."
          },
          "businessName": {
            "title": "Business name contains",
            "type": "string",
            "description": "Entities whose business name contains this text."
          },
          "npis": {
            "title": "NPI",
            "type": "array",
            "description": "One or more 10-digit National Provider Identifiers. Only about 8,800 LEIE records carry an NPI; the rest predate NPIs or belong to people who never had one.",
            "items": {
              "type": "string"
            }
          },
          "entityType": {
            "title": "Individuals or businesses",
            "enum": [
              "all",
              "individuals",
              "businesses"
            ],
            "type": "string",
            "description": "Individuals (about 80,400 records) or business entities (about 3,400).",
            "default": "all"
          },
          "states": {
            "title": "States",
            "type": "array",
            "description": "Two-letter state or territory codes of the record's address, e.g. [\"CA\", \"FL\"]. \"XX\" is used by OIG for addresses outside the United States.",
            "items": {
              "type": "string"
            }
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City of the record's address (contains)."
          },
          "zip": {
            "title": "ZIP starts with",
            "type": "string",
            "description": "ZIP code or ZIP prefix, e.g. \"331\" for Miami."
          },
          "exclusionTypes": {
            "title": "Exclusion authority",
            "type": "array",
            "description": "LEIE exclusion type codes. 1128(a) authorities are mandatory exclusions (convictions), 1128(b) are permissive (licence actions, defaults, kickbacks…).",
            "items": {
              "type": "string",
              "enum": [
                "1128a1",
                "1128a2",
                "1128a3",
                "1128a4",
                "1128b1",
                "1128b2",
                "1128b3",
                "1128b4",
                "1128b5",
                "1128b6",
                "1128b7",
                "1128b8",
                "1128b11",
                "1128b12",
                "1128b13",
                "1128b14",
                "1128b15",
                "1128b16",
                "1128Aa",
                "1156",
                "1160",
                "BRCH SA",
                "BRCH CIA"
              ],
              "enumTitles": [
                "1128(a)(1) Program-related crime conviction",
                "1128(a)(2) Patient abuse or neglect conviction",
                "1128(a)(3) Felony health care fraud",
                "1128(a)(4) Felony controlled substance",
                "1128(b)(1) Misdemeanor fraud",
                "1128(b)(2) Obstruction of investigation",
                "1128(b)(3) Misdemeanor controlled substance",
                "1128(b)(4) Licence revocation or surrender",
                "1128(b)(5) Excluded by another program",
                "1128(b)(6) Excessive charges / unnecessary services",
                "1128(b)(7) Fraud, kickbacks, prohibited activities",
                "1128(b)(8) Entity controlled by sanctioned individual",
                "1128(b)(11) Failure to supply payment information",
                "1128(b)(12) Failure to grant immediate access",
                "1128(b)(13) Failure to take corrective action",
                "1128(b)(14) Default on health education loan",
                "1128(b)(15) Individual controlling sanctioned entity",
                "1128(b)(16) False statements",
                "1128A(a) Civil monetary penalty",
                "1156 Quality Improvement Organization findings",
                "1160 PSRO findings (historical)",
                "Breach of settlement agreement",
                "Breach of corporate integrity agreement"
              ]
            }
          },
          "exclusionClass": {
            "title": "Exclusion class",
            "enum": [
              "all",
              "mandatory",
              "permissive",
              "other"
            ],
            "type": "string",
            "description": "Mandatory exclusions (section 1128(a): convictions, 5-year minimum), permissive exclusions (section 1128(b)), or the remaining authorities (civil monetary penalties, QIO/PSRO findings, breaches of agreements).",
            "default": "all"
          },
          "generalCategories": {
            "title": "Provider category contains",
            "type": "array",
            "description": "OIG's general category of the excluded party, matched as contains: e.g. \"NURSING\", \"PHARMACY\", \"PHYSICIAN\", \"DME\", \"HOME HEALTH\", \"HOSPITAL\", \"SKILLED NURSING\", \"BUS OWNER\".",
            "items": {
              "type": "string"
            }
          },
          "specialty": {
            "title": "Specialty contains",
            "type": "string",
            "description": "Specialty text, e.g. \"NURSE\", \"PHARMACIST\", \"DENTIST\", \"INTERNAL MEDICINE\", \"OWNER/OPERATOR\"."
          },
          "excludedAfter": {
            "title": "Excluded on or after",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "YYYY-MM-DD. Exclusion date on or after this day."
          },
          "excludedBefore": {
            "title": "Excluded on or before",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "YYYY-MM-DD. Exclusion date on or before this day."
          },
          "hasNpi": {
            "title": "Only records with an NPI",
            "type": "boolean",
            "description": "Keep only records that carry a real National Provider Identifier.",
            "default": false
          },
          "hasDateOfBirth": {
            "title": "Only records with a date of birth",
            "type": "boolean",
            "description": "Keep only individuals whose date of birth is published.",
            "default": false
          },
          "includeNpiRegistry": {
            "title": "NPI registry profile",
            "type": "boolean",
            "description": "For records with an NPI, look the number up in the CMS NPPES registry and add the provider's current status, enumeration date, credential, sex, primary taxonomy and licence, practice and mailing address with phone, and the authorized official for organisations. One request per NPI.",
            "default": false
          },
          "includeGeocode": {
            "title": "Geocode the address",
            "type": "boolean",
            "description": "Resolve the record's address with the U.S. Census Bureau geocoder: latitude, longitude, the standardised address, and the state, county, tract and block FIPS codes. P.O. boxes and foreign addresses do not resolve and are not charged.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "oig.hhs.gov serves the files without any anti-bot layer, so no proxy is used by default. If the download is refused the Actor retries once through the Apify datacenter proxy on its own."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}