{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper + Glassdoor (Salary, Skills)",
    "description": "Scrape LinkedIn jobs and Glassdoor jobs in one run into one clean, deduplicated dataset: title, company, location, salary, skills, company rating and apply link. No login, no cookies, no browser. Daily \"only new jobs\" mode. Export JSON, CSV or Excel. From $0.40 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "1MNQICGMw0GDnNMSY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/molded_mountainpass~linkedin-glassdoor-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-molded_mountainpass-linkedin-glassdoor-jobs-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/molded_mountainpass~linkedin-glassdoor-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-molded_mountainpass-linkedin-glassdoor-jobs-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/molded_mountainpass~linkedin-glassdoor-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-molded_mountainpass-linkedin-glassdoor-jobs-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": {
          "keywords": {
            "title": "Job titles or keywords",
            "type": "array",
            "description": "What to search for. Each keyword is searched in every location. Optional if you paste search URLs below instead.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, states or countries, e.g. \"Bangalore\", \"India\", \"New York\". Glassdoor resolves each name to its own location filter and needs at least one location. Leave empty to search LinkedIn worldwide (Glassdoor is then skipped).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Or paste search URLs",
            "type": "array",
            "description": "Search URLs copied from LinkedIn or Glassdoor, e.g. https://www.linkedin.com/jobs/search?keywords=react%20developer&location=India. Build the search on the site, then paste its URL here. Run in addition to the keywords above.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "title": "Job sites",
            "type": "array",
            "description": "Which job sites to search.",
            "items": {
              "type": "string",
              "enum": [
                "linkedin",
                "glassdoor"
              ],
              "enumTitles": [
                "LinkedIn",
                "Glassdoor"
              ]
            },
            "default": [
              "linkedin",
              "glassdoor"
            ]
          },
          "maxItemsPerSource": {
            "title": "Max jobs per site",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after this many jobs from each site. You only pay for jobs you get.",
            "default": 100
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "24h",
              "week",
              "month",
              "any"
            ],
            "type": "string",
            "description": "Only return jobs posted within this period. Works on both sites and is the one filter LinkedIn honours; narrower periods are faster and cheaper.",
            "default": "any"
          },
          "workType": {
            "title": "Work type",
            "type": "array",
            "description": "Filter by remote / hybrid / on-site. Applied by Glassdoor. LinkedIn's public job search ignores this filter, so LinkedIn results are not narrowed by it.",
            "items": {
              "type": "string",
              "enum": [
                "onsite",
                "remote",
                "hybrid"
              ],
              "enumTitles": [
                "On-site",
                "Remote",
                "Hybrid"
              ]
            },
            "default": []
          },
          "jobType": {
            "title": "Job type",
            "type": "array",
            "description": "Filter by employment type. Applied by Glassdoor. LinkedIn's public job search ignores this filter, so LinkedIn results are not narrowed by it.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "contract",
                "temporary",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship"
              ]
            },
            "default": []
          },
          "experienceLevel": {
            "title": "Experience level",
            "type": "array",
            "description": "Filter by seniority. Applied by Glassdoor. LinkedIn's public job search ignores this filter, so LinkedIn results are not narrowed by it.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entry",
                "associate",
                "mid-senior",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior",
                "Director",
                "Executive"
              ]
            },
            "default": []
          },
          "onlyEarlyApplicants": {
            "title": "Only early-applicant jobs (LinkedIn)",
            "type": "boolean",
            "description": "Only LinkedIn jobs marked \"Be an early applicant\", i.e. with few applicants so far, so you can apply before the crowd. LinkedIn applies this filter itself. Glassdoor publishes no applicant data and is not filtered by it.",
            "default": false
          },
          "minCompanyRating": {
            "title": "Minimum company rating (Glassdoor)",
            "enum": [
              "0",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Only jobs at employers rated at least this on Glassdoor. Applied by Glassdoor itself, so it costs nothing extra. LinkedIn has no company ratings and is not filtered by this.",
            "default": "0"
          },
          "companySize": {
            "title": "Company size (Glassdoor)",
            "enum": [
              "any",
              "1-200",
              "201-500",
              "501-1000",
              "1001-5000",
              "5001+"
            ],
            "type": "string",
            "description": "Only jobs at companies of this size. Applied by Glassdoor; LinkedIn's public search has no size filter.",
            "default": "any"
          },
          "searchRadius": {
            "title": "Search radius (Glassdoor)",
            "enum": [
              "default",
              "0",
              "5",
              "10",
              "15",
              "25",
              "50",
              "100"
            ],
            "type": "string",
            "description": "How far around a city to search. Only matters for city locations, not countries.",
            "default": "default"
          },
          "fetchDetails": {
            "title": "Get full job details",
            "type": "boolean",
            "description": "Adds the full description, applicant count, seniority, industry, LinkedIn skills and salary (read from the description), plus company size, employee count, address, website and description. Priced as a detailed job. Tip: run with 512 MB or more.",
            "default": false
          },
          "includeDescriptionHtml": {
            "title": "Include description HTML",
            "type": "boolean",
            "description": "Also return the description as HTML (needs full job details).",
            "default": false
          },
          "onlyNewJobs": {
            "title": "Only new jobs",
            "type": "boolean",
            "description": "Skip jobs returned by your previous runs. Ideal for scheduled runs: you only pay for new jobs.",
            "default": false
          },
          "dedupeAcrossSources": {
            "title": "Remove duplicates across sites",
            "type": "boolean",
            "description": "When the same job (title, company, city) is on several sites, return it once.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy is recommended. The default works for most searches.",
            "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}