{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper & API - No Login, Salary, Company",
    "description": "Scrape public LinkedIn job postings by keyword, location or search URL, no login and no API key. Get title, company, logo, salary, seniority, employment type, job function, industries, applicant count, apply link and full description. Filter by date, remote, experience. Export JSON, CSV, Excel.",
    "version": "0.1",
    "x-build-id": "WbPyapSI28e4vDLn6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~linkedin-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-linkedin-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/scrapers_lat~linkedin-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-linkedin-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/scrapers_lat~linkedin-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-linkedin-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": {
          "maxJobs": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of job postings to collect. Optional."
          },
          "withDetails": {
            "title": "Fetch Job Details",
            "type": "boolean",
            "description": "When enabled, the actor opens each job posting to add the full description, seniority level, employment type, job function, industries and applicant count.",
            "default": true
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Job search keywords, for example \"software engineer\" or \"product manager\"."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Location name to search in, for example \"United States\", \"London\" or \"Remote\"."
          },
          "timePosted": {
            "title": "Date Posted",
            "enum": [
              "",
              "r86400",
              "r604800",
              "r2592000"
            ],
            "type": "string",
            "description": "Filter by how recently the job was posted.",
            "default": ""
          },
          "workplaceType": {
            "title": "Workplace Type",
            "enum": [
              "",
              "1",
              "2",
              "3"
            ],
            "type": "string",
            "description": "Filter by on-site, remote or hybrid roles.",
            "default": ""
          },
          "experienceLevel": {
            "title": "Experience Level",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6"
            ],
            "type": "string",
            "description": "Filter by required experience level.",
            "default": ""
          },
          "jobType": {
            "title": "Job Type",
            "enum": [
              "",
              "F",
              "P",
              "C",
              "T",
              "I",
              "V",
              "O"
            ],
            "type": "string",
            "description": "Filter by employment type.",
            "default": ""
          },
          "salaryRange": {
            "title": "Minimum Salary",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9"
            ],
            "type": "string",
            "description": "Only return jobs whose posted pay is at least this amount (based on LinkedIn's salary filter).",
            "default": ""
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "When enabled, only return jobs that offer LinkedIn Easy Apply.",
            "default": false
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "R",
              "DD"
            ],
            "type": "string",
            "description": "Sort results by relevance or by most recent.",
            "default": "R"
          },
          "companyIds": {
            "title": "Company IDs",
            "type": "string",
            "description": "Restrict results to specific companies by their LinkedIn numeric company IDs, comma separated (for example \"1035,1441\"). Leave blank for all companies."
          },
          "geoId": {
            "title": "Geo ID",
            "type": "string",
            "description": "LinkedIn numeric geo ID for exact location targeting (for example \"103644278\" for the United States). Overrides the Location text when set."
          },
          "distance": {
            "title": "Distance (miles)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Search radius in miles around the location. Optional."
          },
          "industryIds": {
            "title": "Industry IDs",
            "type": "string",
            "description": "Restrict results to specific industries by their LinkedIn numeric industry IDs, comma separated. Optional."
          },
          "jobFunctionIds": {
            "title": "Job Function IDs",
            "type": "string",
            "description": "Restrict results to specific job functions by their LinkedIn function codes, comma separated (for example \"eng,it\"). Optional."
          },
          "startUrls": {
            "title": "LinkedIn search URLs",
            "type": "array",
            "description": "Optional. Paste one or more LinkedIn public job-search URLs (copy the address bar from linkedin.com/jobs/search). Every filter in the URL (keywords, location, geoId, date, workplace type, etc.) is read automatically. Runs in addition to the Keywords/Location above.",
            "items": {
              "type": "string"
            }
          },
          "titleInclude": {
            "title": "Title must include",
            "type": "array",
            "description": "Optional. Keep only jobs whose title contains at least one of these phrases (case-insensitive). Applied after the search.",
            "items": {
              "type": "string"
            }
          },
          "titleExclude": {
            "title": "Title must not include",
            "type": "array",
            "description": "Optional. Drop jobs whose title contains any of these phrases (case-insensitive), for example \"senior\" or \"intern\".",
            "items": {
              "type": "string"
            }
          },
          "skipJobIds": {
            "title": "Skip job IDs",
            "type": "array",
            "description": "Optional. LinkedIn job IDs to exclude from the results (useful for incremental runs).",
            "items": {
              "type": "string"
            }
          },
          "under10Applicants": {
            "title": "Under 10 applicants only",
            "type": "boolean",
            "description": "Only keep jobs with fewer than 10 applicants (less-competitive roles). Requires \"Fetch Job Details\" on, since the applicant count comes from the job detail page.",
            "default": false
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy used to reach LinkedIn. Defaults to Apify residential proxy, which is the most reliable for LinkedIn's guest endpoints. Leave as is unless you know you need a different setup.",
            "default": {
              "useApifyProxy": true,
              "groups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}