{
  "openapi": "3.0.1",
  "info": {
    "title": "Glassdoor Reviews Scraper By Current or Former Employee",
    "description": "🔍 Glassdoor Reviews Scraper extracts employee reviews, ratings, pros/cons, job titles, locations & dates. 📊 Export JSON/CSV for sentiment, HR analytics & competitive research. ⚡ Fast, reliable, API & pagination-ready—ideal for employer brand & hiring. 🚀",
    "version": "0.1",
    "x-build-id": "JoD9o6mRBZeYLMPBG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapebase~glassdoor-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapebase-glassdoor-reviews-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/scrapebase~glassdoor-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapebase-glassdoor-reviews-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/scrapebase~glassdoor-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapebase-glassdoor-reviews-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",
        "required": [
          "startItems"
        ],
        "properties": {
          "startItems": {
            "title": "URLs / Usernames / Keywords",
            "type": "array",
            "description": "List of Glassdoor company URLs (e.g., https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm), company names, or keywords.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max Reviews per Company",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of reviews to collect per company (1-1000).",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Choose proxies. Actor starts with no proxy, then datacenter, then residential if blocked. Sticks with residential after fallback."
          },
          "reviewerStatus": {
            "title": "👤 Who wrote the review",
            "enum": [
              "former",
              "current",
              "any"
            ],
            "type": "string",
            "description": "Choose which employees you want to hear from. Former keeps only reviews written by people who no longer work at the company — the exit record, and the default here. Current asks Glassdoor's own server for reviews from people still employed there. Any returns everyone, exactly as the base actor does. Note on how \"former\" works: Glassdoor offers a server-side filter for current employees only — there is no server-side \"former only\" switch — so this mode downloads reviews with no tenure filter and drops the current-employee ones as they arrive. It costs more pages per delivered review than the other two modes. On Google, roughly 1 review in 5 is written by a former employee, so expect the actor to read about five reviews for every one it keeps.",
            "default": "former"
          },
          "employmentTypes": {
            "title": "🧾 Kind of job they had",
            "type": "array",
            "description": "Keep only reviews written by people on a particular kind of contract, and tag every delivered row with the kind Glassdoor recorded. Leave this empty to get every kind — the tag still lands on every row either way. Glassdoor's own values are written in capitals; the two confirmed on the live site are REGULAR (full-time staff) and PART_TIME. Other values may exist on some employers, so this is a free list rather than a fixed menu — anything you type is passed straight to Glassdoor, and the run log will say so if a value is not recognised. This filter is applied by Glassdoor's server, so it also narrows the \"matching_reviews_count\" figure in the output.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "sortBy": {
            "title": "↕️ Order the reviews",
            "enum": [
              "DATE",
              "RELEVANCE",
              "RATING",
              "RATING_ASC"
            ],
            "type": "string",
            "description": "The order Glassdoor returns reviews in. DATE is the default here because a retention question is about this quarter's exits, not 2015's most-upvoted post. RELEVANCE is what the base actor uses. RATING returns the highest-rated first and RATING_ASC the lowest-rated first. This changes the order reviews arrive in, not which reviews exist.",
            "default": "DATE"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}