{
  "openapi": "3.0.1",
  "info": {
    "title": "PayScale Company Benefits Scraper",
    "description": "Scrape employee benefits, perks and pay by company from PayScale across 29 country editions: ranked benefits with sample sizes, 401(k), health, PTO and tuition flags, salary percentiles, ratings and reviews.",
    "version": "0.0",
    "x-build-id": "osoyTfenXE38I3HuM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~payscale-company-benefits-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-payscale-company-benefits-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~payscale-company-benefits-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-payscale-company-benefits-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~payscale-company-benefits-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-payscale-company-benefits-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": {
          "startUrls": {
            "title": "Employer page URLs",
            "type": "array",
            "description": "PayScale employer report URLs, for example https://www.payscale.com/research/US/Employer=Google%2C_Inc./Benefits. Any report type works (Salary, Bonus, Reviews); it is rewritten to the Benefits report. This is the most precise way to name companies.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "companyNames": {
            "title": "Company names",
            "type": "array",
            "description": "Company names spelled the way PayScale spells them, for example 'Google, Inc.', 'Kaiser Permanente', 'Target Corporation'. The name is turned into PayScale's own slug, which matched 800 of 800 directory entries in testing. Informal names such as 'Amazon' or 'IBM' are not PayScale's spelling and will not resolve; use the industry directory or Employer page URLs for those.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "US",
              "CA",
              "UK",
              "AU",
              "IN",
              "NZ",
              "SG",
              "IE",
              "ZA",
              "AE",
              "PH",
              "MY",
              "NL",
              "SA",
              "DE",
              "CH",
              "HK",
              "PK",
              "KE",
              "NG",
              "JM",
              "BE",
              "EG",
              "QA",
              "FR",
              "ES",
              "IT",
              "JP",
              "MX"
            ],
            "type": "string",
            "description": "Country edition of PayScale to read. Each country keeps its own employer directory, salaries and currency. Note that the United Kingdom is UK, not GB.",
            "default": "US"
          },
          "industry": {
            "title": "Industry",
            "enum": [
              "Accommodation-and-Food-Services",
              "Agencies-and-Consultancies",
              "Arts-Entertainment-and-Recreation",
              "Construction",
              "Education",
              "Energy-and-Utilities",
              "Engineering-and-Science",
              "Finance-and-Insurance",
              "Health-Care",
              "Manufacturing",
              "Miscellaneous",
              "Nonprofits",
              "Real-Estate-and-Rental-Leasing",
              "Retail-and-Customer-Service",
              "Technology",
              "Transportation-and-Warehousing"
            ],
            "type": "string",
            "description": "Browse one industry from the country directory. Leave empty to walk every industry the country publishes (16 in the United States, fewer in smaller editions). Measured US totals: Health Care 2,274 employers, Technology 2,087, Nonprofits 1,473."
          },
          "letter": {
            "title": "Company initial",
            "enum": [
              "A",
              "B",
              "C",
              "D",
              "E",
              "F",
              "G",
              "H",
              "I",
              "J",
              "K",
              "L",
              "M",
              "N",
              "O",
              "P",
              "Q",
              "R",
              "S",
              "T",
              "U",
              "V",
              "W",
              "X",
              "Y",
              "Z"
            ],
            "type": "string",
            "description": "Restrict the directory walk to companies starting with this letter. The plain industry page returns its top 100 employers; the letter pages are how you reach past that cap."
          },
          "discoverFromSitemap": {
            "title": "Discover from the sitemap instead of the directory",
            "type": "boolean",
            "description": "Read PayScale's research sitemaps and take every employer that has a published Benefits report, 8,844 of them across 64 country editions. This is the only surface that reaches countries with no employer directory. It downloads large sitemap files, so it is slower to start than the directory walk.",
            "default": false
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: limited to 10 items (preview). Paid users: up to 1,000,000."
          },
          "requiredBenefits": {
            "title": "Must offer all of these benefits",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only employers whose published benefits include every one of these. The list is the full set of benefit names PayScale publishes, read off a 70-employer sample. Matching runs against the ranked employee-reported benefits plus the health and retirement catalogues, and it happens before any optional block is bought, so filtering on a field costs nothing.",
            "items": {
              "type": "string",
              "enum": [
                "401(k)",
                "401(k) Plan",
                "403(b)",
                "Accidental Death & Dismemberment Insurance",
                "Car Allowances/Expenses/Mileage Reimbursement",
                "Casual Dress/Atmosphere",
                "Cell Phone",
                "Company Pension Plan",
                "Company Store Discount",
                "Day Care",
                "Defined Benefit Pension Plan",
                "Defined Contribution Pension Plan",
                "Dental Insurance",
                "Education/Training/Tuition/Certification Reimbursement",
                "Flex-Time / Flexible Schedule",
                "Food/Meal Discounts",
                "Food/Meals On Duty",
                "Free Drinks/Coke/Juice/Water",
                "Free/Paid Parking",
                "Gym / Health Club / Fitness Membership",
                "Health Insurance",
                "Hotel Discounts",
                "Laptop / Notebook Computer",
                "Life Insurance",
                "Life Insurance/Disability",
                "Long-term Disability Insurance",
                "Matching Contributions to Retirement Plan",
                "Optional Telecommute / Work from Home",
                "Paid Holiday and Sick Leave",
                "Paid Holidays / Vacation",
                "Paid Overtime",
                "Paid Sick Leave",
                "Prepaid Legal",
                "Profit Sharing",
                "Severance Pay",
                "Special Cash Bonus/Group Incentives",
                "Stock Bonus",
                "Stock Purchase Plan",
                "Superannuation",
                "Supplemental Maternity Leave",
                "Supplemental Unemployment",
                "Temporary Disability Insurance",
                "Vision Insurance"
              ],
              "enumTitles": [
                "401(k)",
                "401(k) Plan",
                "403(b)",
                "Accidental Death & Dismemberment Insurance",
                "Car Allowances/Expenses/Mileage Reimbursement",
                "Casual Dress/Atmosphere",
                "Cell Phone",
                "Company Pension Plan",
                "Company Store Discount",
                "Day Care",
                "Defined Benefit Pension Plan",
                "Defined Contribution Pension Plan",
                "Dental Insurance",
                "Education/Training/Tuition/Certification Reimbursement",
                "Flex-Time / Flexible Schedule",
                "Food/Meal Discounts",
                "Food/Meals On Duty",
                "Free Drinks/Coke/Juice/Water",
                "Free/Paid Parking",
                "Gym / Health Club / Fitness Membership",
                "Health Insurance",
                "Hotel Discounts",
                "Laptop / Notebook Computer",
                "Life Insurance",
                "Life Insurance/Disability",
                "Long-term Disability Insurance",
                "Matching Contributions to Retirement Plan",
                "Optional Telecommute / Work from Home",
                "Paid Holiday and Sick Leave",
                "Paid Holidays / Vacation",
                "Paid Overtime",
                "Paid Sick Leave",
                "Prepaid Legal",
                "Profit Sharing",
                "Severance Pay",
                "Special Cash Bonus/Group Incentives",
                "Stock Bonus",
                "Stock Purchase Plan",
                "Superannuation",
                "Supplemental Maternity Leave",
                "Supplemental Unemployment",
                "Temporary Disability Insurance",
                "Vision Insurance"
              ]
            }
          },
          "minBenefitProfileCount": {
            "title": "Minimum employees reporting benefits",
            "minimum": 0,
            "type": "integer",
            "description": "Drop employers whose benefits are based on fewer than this many employee reports. Use it to cut thin, low-confidence records. Leave empty to keep everything."
          },
          "minMedianSalary": {
            "title": "Minimum median salary",
            "minimum": 0,
            "type": "number",
            "description": "Keep only employers whose median reported salary is at least this, in the country edition currency. Decimals are accepted. Employers with no reported salary are dropped when this is set."
          },
          "maxMedianSalary": {
            "title": "Maximum median salary",
            "minimum": 0,
            "type": "number",
            "description": "Keep only employers whose median reported salary is at most this, in the country edition currency. Decimals are accepted."
          },
          "onlyWithBenefitLists": {
            "title": "Only employers with a health or retirement catalogue",
            "type": "boolean",
            "description": "PayScale publishes the itemised health and retirement plan catalogue for some employers only (6 and 8 of 20 in testing). Tick this to keep just those. The ranked employee-reported benefits are present for every employer either way.",
            "default": false
          },
          "includeCompanyProfile": {
            "title": "Company profile",
            "type": "boolean",
            "description": "Website, domain, founding date, organisation type, employee count range, logo, Wikipedia link, former names and the headquarters address. Comes from the same page load, so it adds no extra request.",
            "default": false
          },
          "includeRelatedEmployers": {
            "title": "Related employers",
            "type": "boolean",
            "description": "Companies PayScale considers comparable by pay, each with its median and percentile spread. Around 19 of 20 employers carry this. No extra request.",
            "default": false
          },
          "includePeerComparison": {
            "title": "Peer comparison",
            "type": "boolean",
            "description": "Job satisfaction, stress rating and gender split for this employer next to three named competitors. Published for roughly a quarter of employers. No extra request.",
            "default": false
          },
          "includeOfficeLocations": {
            "title": "Office locations",
            "type": "boolean",
            "description": "Total number of locations PayScale holds pay data for, plus the top ten cities with their own report URLs. No extra request.",
            "default": false
          },
          "includeCompensationPercentiles": {
            "title": "Full compensation percentiles",
            "type": "boolean",
            "description": "The 10th, 25th, 50th, 75th and 90th percentile for salary, total compensation, hourly rate, bonus, profit sharing and commission, each with its sample size. No extra request.",
            "default": false
          },
          "includeRatings": {
            "title": "Employer ratings",
            "type": "boolean",
            "description": "Nine scored dimensions with sample sizes: overall employee satisfaction, fair pay, pay transparency, pay policy, appreciation, company outlook, learning and development, manager communication and manager relationship. Needs one extra page load, and was present for 15 of 20 employers tested.",
            "default": false
          },
          "includePayByJob": {
            "title": "Pay by job title",
            "type": "boolean",
            "description": "Median and percentile pay for every job title reported at the employer, paginated. Kaiser Permanente carries 162 titles. Needs extra page loads.",
            "default": false
          },
          "includePayByLocation": {
            "title": "Pay by location",
            "type": "boolean",
            "description": "Median and percentile pay broken down by city and state.",
            "default": false
          },
          "includePayByExperience": {
            "title": "Pay by years of experience",
            "type": "boolean",
            "description": "Median and percentile pay by experience band, for example 1-4 years or 10-19 years.",
            "default": false
          },
          "includePayByGender": {
            "title": "Pay by gender",
            "type": "boolean",
            "description": "Median and percentile pay for men and women with sample sizes, which is what a gender pay gap calculation needs.",
            "default": false
          },
          "includePayByDegree": {
            "title": "Pay by degree",
            "type": "boolean",
            "description": "Median and percentile pay by degree major.",
            "default": false
          },
          "includeHourlyRateReport": {
            "title": "Hourly rate report",
            "type": "boolean",
            "description": "The hourly pay report: percentiles, hourly rate by job title and by location, plus PayScale's written summary. Needs one extra page load.",
            "default": false
          },
          "includeBonusReport": {
            "title": "Bonus report",
            "type": "boolean",
            "description": "The bonus report: percentiles, bonus by job title and PayScale's written summary. Needs one extra page load.",
            "default": false
          },
          "includeReviews": {
            "title": "Employee reviews",
            "type": "boolean",
            "description": "Employee written reviews with job title, city, pros and cons and the date. Seven per page, so a company with 69 reviews costs ten extra page loads. Around half of employers have any.",
            "default": false
          },
          "maxJobsPerEmployer": {
            "title": "Max job titles per employer",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Upper bound on job titles collected when Pay by job title is on. Seven arrive per page load."
          },
          "maxReviewsPerEmployer": {
            "title": "Max reviews per employer",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Upper bound on reviews collected when Employee reviews is on. Seven arrive per page load."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}