{
  "openapi": "3.0.1",
  "info": {
    "title": "Levels Fyi Salary Scraper",
    "description": "Scrape individual salary submissions from Levels.fyi — base, stock, bonus, TC by company, role, level, and location.",
    "version": "0.0",
    "x-build-id": "FZUgUSzlMzOVfBL94"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shhh_lab~levels-fyi-salary-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shhh_lab-levels-fyi-salary-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/shhh_lab~levels-fyi-salary-scraper/runs": {
      "post": {
        "operationId": "runs-sync-shhh_lab-levels-fyi-salary-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/shhh_lab~levels-fyi-salary-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-shhh_lab-levels-fyi-salary-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": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Scraping Mode",
            "enum": [
              "specific",
              "companies"
            ],
            "type": "string",
            "description": "How to discover company × role combinations to scrape.",
            "default": "specific"
          },
          "companies": {
            "title": "Company Slugs",
            "type": "array",
            "description": "Company slugs to scrape (e.g. google, meta, apple). Find slugs in Levels.fyi URLs: levels.fyi/companies/{slug}. Used in 'specific' and 'companies' modes.",
            "default": [
              "google"
            ],
            "items": {
              "type": "string"
            }
          },
          "roles": {
            "title": "Roles",
            "type": "array",
            "description": "Roles to scrape. Only used in 'Specific' mode — completely ignored in 'Companies' mode.",
            "items": {
              "type": "string",
              "enum": [
                "software-engineer",
                "product-designer",
                "product-manager",
                "data-scientist",
                "management-consultant",
                "investment-banker",
                "software-engineering-manager",
                "biomedical-engineer",
                "civil-engineer",
                "technical-program-manager",
                "accountant",
                "human-resources",
                "marketing",
                "marketing-operations",
                "recruiter",
                "sales",
                "hardware-engineer",
                "mechanical-engineer",
                "solution-architect",
                "business-analyst",
                "customer-service",
                "business-development",
                "security-analyst",
                "industrial-designer",
                "fashion-designer",
                "administrative-assistant",
                "information-technologist",
                "geological-engineer",
                "financial-analyst",
                "venture-capitalist",
                "chief-of-staff",
                "legal",
                "program-manager",
                "project-manager",
                "data-science-manager",
                "product-design-manager",
                "founder",
                "technical-writer",
                "copywriter",
                "sales-engineer",
                "facilities-manager",
                "property-manager",
                "real-estate-agent",
                "data-analyst",
                "corp-dev",
                "biz-ops",
                "bizops-manager",
                "partner-manager",
                "customer-service-ops",
                "ux-researcher",
                "graphic-designer",
                "electrical-engineer",
                "controls-engineer",
                "regulatory-affairs",
                "physician",
                "chemical-engineer",
                "aerospace-engineer",
                "materials-engineer",
                "optical-engineer",
                "mep-engineer",
                "total-rewards",
                "people-ops",
                "actuary",
                "underwriter",
                "claims-adjuster",
                "customer-success",
                "toxicologist",
                "meteorologist",
                "revops",
                "sales-enablement",
                "prompt-engineer",
                "trust-and-safety",
                "tam",
                "gtm-engineer",
                "lab-tech",
                "paralegal",
                "compliance-officer",
                "legal-ops",
                "nurse",
                "data-annotator"
              ],
              "enumTitles": [
                "Software Engineer",
                "Product Designer",
                "Product Manager",
                "Data Scientist",
                "Management Consultant",
                "Investment Banker",
                "Software Engineering Manager",
                "Biomedical Engineer",
                "Civil Engineer",
                "Technical Program Manager",
                "Accountant",
                "Human Resources",
                "Marketing",
                "Marketing Operations",
                "Recruiter",
                "Sales",
                "Hardware Engineer",
                "Mechanical Engineer",
                "Solution Architect",
                "Business Analyst",
                "Customer Service",
                "Business Development",
                "Cybersecurity Analyst",
                "Industrial Designer",
                "Fashion Designer",
                "Administrative Assistant",
                "Information Technologist",
                "Geological Engineer",
                "Financial Analyst",
                "Venture Capitalist",
                "Chief of Staff",
                "Legal",
                "Program Manager",
                "Project Manager",
                "Data Science Manager",
                "Product Design Manager",
                "Founder",
                "Technical Writer",
                "Copywriter",
                "Sales Engineer",
                "Facilities Manager",
                "Property Manager",
                "Real Estate Agent",
                "Data Analyst",
                "Corporate Development",
                "Business Operations",
                "Business Operations Manager",
                "Partner Manager",
                "Customer Service Operations",
                "UX Researcher",
                "Graphic Designer",
                "Electrical Engineer",
                "Controls Engineer",
                "Regulatory Affairs",
                "Physician",
                "Chemical Engineer",
                "Aerospace Engineer",
                "Materials Engineer",
                "Optical Engineer",
                "MEP Engineer",
                "Total Rewards",
                "People Operations",
                "Actuary",
                "Underwriter",
                "Claims Adjuster",
                "Customer Success",
                "Toxicologist",
                "Meteorologist",
                "Revenue Operations",
                "Sales Enablement",
                "Prompt Engineer",
                "Trust and Safety",
                "Technical Account Manager",
                "Go-To-Market Engineer",
                "Lab Technician",
                "Paralegal",
                "Compliance Officer",
                "Legal Operations",
                "Nurse",
                "Data Annotator"
              ]
            }
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of rows to output. The actor stops once this limit is reached and saves all data collected. 0 = unlimited.",
            "default": 1000
          },
          "maxRequestsPerSecond": {
            "title": "Max Requests Per Second",
            "minimum": 1,
            "maximum": 50,
            "type": "number",
            "description": "Rate limit for HTTP requests.",
            "default": 20
          },
          "timeoutSeconds": {
            "title": "Timeout (seconds)",
            "minimum": 30,
            "maximum": 86400,
            "type": "integer",
            "description": "Maximum time the actor will run before gracefully stopping. The actor saves all data collected so far.",
            "default": 300
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}