{
  "openapi": "3.0.1",
  "info": {
    "title": "Medicare Doctors Scraper",
    "description": "Search the official CMS Doctors and Clinicians dataset for US Medicare providers by specialty, state, city, ZIP, name or credential. Combine every practice location into one row per provider, capture every secondary specialty, and track individual and group Medicare assignment separately.",
    "version": "1.0",
    "x-build-id": "ciBdHLUXhua2sh0VT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/normdata~medicare-doctors-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-normdata-medicare-doctors-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/normdata~medicare-doctors-scraper/runs": {
      "post": {
        "operationId": "runs-sync-normdata-medicare-doctors-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/normdata~medicare-doctors-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-normdata-medicare-doctors-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": "Maximum providers",
            "minimum": 1,
            "type": "integer",
            "description": "Stop once this many rows are in the dataset. _(Free plan: always capped at 10.)_"
          },
          "npiNumbers": {
            "title": "NPI numbers",
            "type": "array",
            "description": "10-digit National Provider Identifiers. Takes priority over every filter below.",
            "items": {
              "type": "string"
            }
          },
          "specialties": {
            "title": "Primary specialty",
            "type": "array",
            "description": "Matches any specialty containing this text, e.g. CARDIOLOGY also matches \"CARDIOVASCULAR DISEASE (CARDIOLOGY)\" and \"INTERVENTIONAL CARDIOLOGY\". Other examples: DERMATOLOGY, INTERNAL MEDICINE, NURSE PRACTITIONER.",
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "State",
            "type": "array",
            "description": "2-letter US state codes, e.g. CA, NY, TX.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "City",
            "type": "array",
            "description": "Practice city, e.g. SAN FRANCISCO.",
            "items": {
              "type": "string"
            }
          },
          "zipCodes": {
            "title": "ZIP code",
            "type": "array",
            "description": "Practice ZIP code. A 5-digit ZIP matches every 9-digit ZIP+4 under it.",
            "items": {
              "type": "string"
            }
          },
          "lastName": {
            "title": "Last name starts with",
            "type": "string",
            "description": "Keep only providers whose last name starts with this text."
          },
          "firstName": {
            "title": "First name starts with",
            "type": "string",
            "description": "Keep only providers whose first name starts with this text."
          },
          "credentials": {
            "title": "Credential",
            "type": "array",
            "description": "e.g. MD, DO, NP, PA.",
            "items": {
              "type": "string"
            }
          },
          "medicalSchool": {
            "title": "Medical school contains",
            "type": "string",
            "description": "Keep only providers whose medical school name contains this text, e.g. HARVARD."
          },
          "groupName": {
            "title": "Group/practice name contains",
            "type": "string",
            "description": "Keep only providers whose group or practice name contains this text."
          },
          "graduatedFrom": {
            "title": "Graduated in or after",
            "type": "integer",
            "description": "Keep only providers who graduated in or after this year."
          },
          "graduatedTo": {
            "title": "Graduated in or before",
            "type": "integer",
            "description": "Keep only providers who graduated in or before this year."
          },
          "onlyWithPhone": {
            "title": "Only providers with a published phone number",
            "type": "boolean",
            "description": "Skip records with no published practice phone number."
          },
          "onlyAcceptsIndividual": {
            "title": "Only providers accepting Medicare assignment (individual)",
            "type": "boolean",
            "description": "The provider's own personal Medicare assignment status."
          },
          "onlyAcceptsGroup": {
            "title": "Only providers whose group accepts Medicare assignment",
            "type": "boolean",
            "description": "The practice/group's Medicare assignment status, which can differ from the individual's."
          },
          "aggregateByProvider": {
            "title": "One row per provider (combine all practice locations)",
            "type": "boolean",
            "description": "A provider enrolled at several practices normally appears as one line per enrollment/location. Turn this on to get one row per person instead, with every location nested underneath."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}