{
  "openapi": "3.0.1",
  "info": {
    "title": "RateMDs Physician Review Scraper",
    "description": "Extract doctor profiles and ratings from RateMDs.com. Automate data collection for specialties, locations, and search queries. Get doctor names, specialties, contact info, addresses, patient ratings, review counts, clinic details. Ideal for healthcare researchers, marketing agencies, and users.",
    "version": "1.0",
    "x-build-id": "McdIdOcrNlxc75pAI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~ratemds-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-ratemds-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~ratemds-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-ratemds-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~ratemds-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-ratemds-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": {
          "maxItems": {
            "title": "💯 Number of doctors",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of doctors to scrape. Free users: Limited to 100. Paid users: Optional, max 1,000,000"
          },
          "startUrl": {
            "title": "🔗 Direct URL",
            "type": "string",
            "description": "Direct URL to scrape. Use this OR search filters below, not both. Can be a search results page or a specific doctor profile page."
          },
          "specialty": {
            "title": "Specialty",
            "enum": [
              "",
              "family-gp",
              "gynecologist-obgyn",
              "dentist",
              "orthopedics-sports",
              "internist-geriatrician",
              "cosmetic-plastic-surgeon",
              "dermatologist",
              "psychologist",
              "psychiatrist",
              "chiropractor",
              "surgeon-general",
              "ear-nose-and-throat-ent",
              "pediatrician",
              "podiatrist",
              "ophthalmologist",
              "acupuncturist",
              "addiction-medicine",
              "allergist-immunologist",
              "anesthesiologist",
              "audiologist",
              "bariatric-weight-loss",
              "cardiologist",
              "cardiothoracic-surgeon",
              "colorectal-proctologist",
              "dietitian",
              "emergency-critical",
              "endocrinologist",
              "endodontist-root-canal",
              "gastroenterologist",
              "geneticist",
              "homeopath",
              "infectious-disease",
              "registered-massage-therapist",
              "midwife",
              "naturopath",
              "nephrologist-kidney",
              "neurologist",
              "neurosurgeon",
              "nurse-practitioner",
              "occupational-therapist",
              "oncologist-hematologist",
              "optometrist",
              "oral-surgeon",
              "orthodontist",
              "osteopath",
              "pain-mgmt-physical-rehab",
              "pain-medicine-specialist",
              "pathologist",
              "perinatologist-maternal-fetal-medicine",
              "periodontist-gums",
              "physiatrist-physical-medicine-rehabilitation",
              "physical-therapist-physiotherapist",
              "physician-assistant",
              "pulmonologist-lungs",
              "radiation-oncologist",
              "radiologist",
              "reproductive-endocrinologist",
              "rheumatologist",
              "sleep-disorders",
              "sports-medicine-physicians",
              "therapist",
              "urogynecologist",
              "urologist",
              "vascular-phlebologist"
            ],
            "type": "string",
            "description": "Filter by medical specialty. Use this OR startUrl above, not both."
          },
          "doctorName": {
            "title": "Doctor Name",
            "type": "string",
            "description": "Search for specific doctor names"
          },
          "gender": {
            "title": "Gender",
            "enum": [
              "",
              "male",
              "female"
            ],
            "type": "string",
            "description": "Filter by doctor gender. Options: 'male', 'female', or leave empty for all"
          },
          "verified": {
            "title": "✅ Verified Doctors Only",
            "type": "boolean",
            "description": "Show only verified doctors",
            "default": false
          },
          "acceptingNewPatients": {
            "title": "🆕 Accepting New Patients",
            "type": "boolean",
            "description": "Show only doctors accepting new patients",
            "default": false
          },
          "onlineScheduling": {
            "title": "📅 Online Scheduling",
            "type": "boolean",
            "description": "Show only doctors with online scheduling available",
            "default": false
          },
          "virtualVisits": {
            "title": "💻 Virtual Visits",
            "type": "boolean",
            "description": "Show only doctors offering virtual visits",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}