{
  "openapi": "3.0.1",
  "info": {
    "title": "Mental Health Professionals Email Scraper",
    "description": "Find therapists, psychologists, counselors, psychiatrists, and mental health practices by specialty and location. Extract public emails, phones, credentials, specialties, addresses, websites, and source pages for compliant B2B research.",
    "version": "1.0",
    "x-build-id": "r9SJNQYdQnPCALa6B"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammadafzal~mental-health-professionals-email-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammadafzal-mental-health-professionals-email-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/muhammadafzal~mental-health-professionals-email-scraper/runs": {
      "post": {
        "operationId": "runs-sync-muhammadafzal-mental-health-professionals-email-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/muhammadafzal~mental-health-professionals-email-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-muhammadafzal-mental-health-professionals-email-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": {
          "specialties": {
            "title": "Specialties or professional types",
            "maxItems": 10,
            "type": "array",
            "description": "Use this to choose the professional or service to discover. Enter phrases such as therapist, child psychologist, trauma counselor, or psychiatrist. Defaults to therapist; 1–10 values. This is not a diagnosis or patient search.",
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 80
            },
            "default": [
              "therapist"
            ]
          },
          "locations": {
            "title": "Locations",
            "maxItems": 20,
            "type": "array",
            "description": "Use this to choose markets for search discovery. Enter a city, state/region, postal code, or country such as Austin, TX. Defaults to Austin, TX; 1–20 values. This is not a radius or geocoding field.",
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 100
            },
            "default": [
              "Austin, TX"
            ]
          },
          "startUrls": {
            "title": "Practice website URLs",
            "type": "array",
            "description": "Use this when you already know public professional or practice websites. Add full HTTP/HTTPS URLs such as https://example-therapy-practice.com/. Defaults to empty. This is not for login pages, patient portals, private profiles, or search result URLs.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchEngine": {
            "title": "Discovery search engine",
            "enum": [
              "auto",
              "google",
              "bing",
              "duckduckgo"
            ],
            "type": "string",
            "description": "Use this to control public web discovery. Auto tries Google, then Bing and DuckDuckGo when a result page is unavailable or empty. Defaults to auto. This does not use a paid search API or bypass access challenges.",
            "default": "auto"
          },
          "maxResults": {
            "title": "Maximum records",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Use this to cap delivered professional/practice records and result-event spend. Enter 1–500; defaults to 10. At $0.02 per record plus the $0.005 start event, 10 records cost at most $0.205 in PPE events.",
            "default": 10
          },
          "maxSearchPages": {
            "title": "Search pages per query",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Use this to control discovery depth for each specialty-location pair. Enter 1–5; defaults to 1. Increase only when the first result page does not provide enough candidate websites. This is not the website page limit.",
            "default": 1
          },
          "maxWebsitePages": {
            "title": "Pages per practice website",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Use this to cap same-domain pages inspected for public contacts. Enter 1–10; defaults to 3, prioritizing the landing page plus contact/about/team links. This does not permit off-domain or private-page crawling.",
            "default": 3
          },
          "includeWithoutEmail": {
            "title": "Include records without email",
            "type": "boolean",
            "description": "Use this only when practice discovery is useful even if no public email is found. Defaults to false, so every delivered record has an email. Enabling it can return contact records with primaryEmail set to null; it never guesses an address.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Maximum concurrent websites",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Use this to tune speed and politeness across independent domains. Enter 1–20; defaults to 5. Lower it for fragile sites or constrained proxies. This does not increase per-domain request concurrency.",
            "default": 5
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 10,
            "maximum": 60,
            "type": "integer",
            "description": "Use this to bound each public page request. Enter 10–60 seconds; defaults to 20. Shorter values fail fast on slow sites, while longer values can reduce throughput. This is not the overall Actor timeout.",
            "default": 20
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Use this when public search or practice sites restrict datacenter traffic. The Apify Proxy is enabled by default; residential groups may improve access but cost more. This is not a way to bypass authentication, CAPTCHAs, paywalls, or access controls.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}