{
  "openapi": "3.0.1",
  "info": {
    "title": "Glassdoor Company Reviews & Salary Scraper",
    "description": "Scrape Glassdoor for company reviews, employee salaries, interview experiences, CEO approval ratings, and comprehensive employer data. Essential for HR research, employer branding, and competitive intelligence.",
    "version": "1.1",
    "x-build-id": "SdDbhKrMXl7tM64aU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/alizarin_refrigerator-owner~glassdoor-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-alizarin_refrigerator-owner-glassdoor-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/alizarin_refrigerator-owner~glassdoor-scraper/runs": {
      "post": {
        "operationId": "runs-sync-alizarin_refrigerator-owner-glassdoor-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/alizarin_refrigerator-owner~glassdoor-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-alizarin_refrigerator-owner-glassdoor-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": {
          "scrapeType": {
            "title": "Scrape Type",
            "enum": [
              "company_profile",
              "reviews",
              "salaries",
              "interviews",
              "jobs",
              "compare"
            ],
            "type": "string",
            "description": "Type of data to scrape",
            "default": "company_profile"
          },
          "companyUrl": {
            "title": "Company URL",
            "type": "string",
            "description": "Direct Glassdoor company page URL (e.g., https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.htm)"
          },
          "companyDomain": {
            "title": "Company Domain / Website",
            "type": "string",
            "description": "Company website or domain to look up on Glassdoor (e.g., \"stripe.com\" or \"https://www.hubspot.com\"). The actor resolves this to the correct Glassdoor page automatically."
          },
          "companyName": {
            "title": "Company Name",
            "type": "string",
            "description": "Company name to search for"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Filter by location (city, state, or country)"
          },
          "industry": {
            "title": "Industry",
            "type": "string",
            "description": "Filter by industry (Technology, Healthcare, Finance, etc.)"
          },
          "companySize": {
            "title": "Company Size",
            "enum": [
              "any",
              "1-50",
              "51-200",
              "201-500",
              "501-1000",
              "1001-5000",
              "5001-10000",
              "10001+"
            ],
            "type": "string",
            "description": "Filter by company size",
            "default": "any"
          },
          "minRating": {
            "title": "Minimum Rating",
            "minimum": 1,
            "maximum": 5,
            "type": "number",
            "description": "Minimum overall rating (1.0-5.0)"
          },
          "includeReviews": {
            "title": "Include Reviews",
            "type": "boolean",
            "description": "Scrape employee reviews",
            "default": true
          },
          "maxReviewsPerCompany": {
            "title": "Max Reviews Per Company",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum reviews to collect per company",
            "default": 25
          },
          "includeSalaries": {
            "title": "Include Salaries",
            "type": "boolean",
            "description": "Scrape salary information",
            "default": true
          },
          "includeInterviews": {
            "title": "Include Interviews",
            "type": "boolean",
            "description": "Scrape interview experiences",
            "default": false
          },
          "reviewFilter": {
            "title": "Review Filter",
            "enum": [
              "all",
              "current_employees",
              "former_employees",
              "positive",
              "negative"
            ],
            "type": "string",
            "description": "Filter reviews by type",
            "default": "all"
          },
          "sortBy": {
            "title": "Sort Reviews By",
            "enum": [
              "date",
              "relevance",
              "rating_high",
              "rating_low",
              "helpful"
            ],
            "type": "string",
            "description": "How to sort reviews",
            "default": "date"
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of companies to scrape",
            "default": 50
          },
          "sessionCookies": {
            "title": "Session Cookies (JSON)",
            "type": "string",
            "description": "JSON array of cookies from Cookie-Editor. Helps bypass Glassdoor login walls and paywalls."
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings for the scraper"
          },
          "demoMode": {
            "title": "Demo Mode",
            "type": "boolean",
            "description": "Return sample data without actual scraping (for testing)",
            "default": true
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "URL to POST results when scraping completes (Zapier, Make, n8n, custom endpoint)"
          },
          "webhookPlatform": {
            "title": "Webhook Platform",
            "enum": [
              "custom",
              "zapier",
              "make",
              "n8n"
            ],
            "type": "string",
            "description": "Platform-specific payload formatting",
            "default": "custom"
          },
          "webhookHeaders": {
            "title": "Webhook Headers",
            "type": "object",
            "description": "Custom HTTP headers to send with webhook (JSON object)"
          },
          "cookieStorageKey": {
            "title": "Cookie Storage Key",
            "type": "string",
            "description": "Key name to load cookies from the Cookie Manager KV store. If set and no manual sessionCookies are provided, the actor loads cookies from the named KV store automatically. Use this with the Cookie Manager actor for automated cookie rotation."
          },
          "cookieKvStoreName": {
            "title": "Cookie KV Store Name",
            "type": "string",
            "description": "Name of the Apify Key-Value store where Cookie Manager saves cookies. Defaults to 'cookie-sessions' if not set.",
            "default": "cookie-sessions"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}