{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper",
    "description": "LinkedIn Jobs Scraper — Extract LinkedIn job listings including job titles, company names, locations, salary details, employment types, experience levels, descriptions, posting dates, and job URLs. Useful for recruitment research, job market analysis, hiring insights, and lead generation.",
    "version": "0.2",
    "x-build-id": "qtOyoBxvvROkHnpmQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/socialdataapi~linkedin-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-socialdataapi-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/socialdataapi~linkedin-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-socialdataapi-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/socialdataapi~linkedin-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-socialdataapi-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": {
          "companyInput": {
            "title": "🔗 Companies",
            "type": "array",
            "description": "One per line: a company name (Google), a LinkedIn company link (https://www.linkedin.com/company/google/) or a numeric LinkedIn company ID (1441). Names separated by commas or the word \"and\" on one line are searched as separate companies, so write \"Procter & Gamble\" rather than \"Procter and Gamble\". A name is first matched to its LinkedIn company; when no match is found, the run searches the name as a keyword and keeps only jobs of that company. All companies are searched at the same time. Leave empty to run one keyword and location search instead.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "🔎 Job keywords",
            "type": "string",
            "description": "Job title or keywords, e.g. Software Engineer or Data Analyst. With companies, only that company's jobs matching these keywords are returned. Leave empty for all jobs.",
            "default": "Software Engineer"
          },
          "location": {
            "title": "📍 Location",
            "type": "string",
            "description": "Where the jobs are based, e.g. United States, London or Berlin: anything LinkedIn's job search understands. Empty means United States.",
            "default": "United States"
          },
          "geoId": {
            "title": "📍 Geographic region (geoId)",
            "type": "string",
            "description": "Optional numeric LinkedIn location ID sent with the search. Pick a country from the list, or paste any geoId number copied from a LinkedIn job search link (the part after geoId=). Leave empty to search by Location only. Values that are not numbers are ignored and the run log says so.",
            "default": ""
          },
          "maxJobs": {
            "title": "🔢 Maximum jobs per company",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum jobs saved for each company, or for the whole search when no company is given (1-1000), counted after the job type and experience filters. A company with fewer matching jobs gives all it has. A search that reaches LinkedIn's limit of about 1000 results is split by date posted (and by US state for United States searches without a geoId) to read further. Free plan users get up to 20 jobs per input and 200 items per month; paid plans have no limit.",
            "default": 20
          },
          "sortOrder": {
            "title": "🔃 Sort order",
            "enum": [
              "",
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Default and Most relevant use LinkedIn's own order. Most recent first searches the newest jobs first (past hour, then past 6 hours, 24 hours, 3 days, week, 2 weeks and month, within the Date posted filter), so the jobs saved are the most recently posted ones. Jobs are saved as soon as they are read, so rows in the dataset are not strictly ordered by date.",
            "default": ""
          },
          "publishedAt": {
            "title": "📅 Date posted",
            "enum": [
              "",
              "r86400",
              "r604800",
              "r2592000"
            ],
            "type": "string",
            "description": "Only jobs posted within this time window. Choose Any time to turn it off.",
            "default": ""
          },
          "workType": {
            "title": "🎯 On-site / Remote",
            "enum": [
              "",
              "1",
              "2",
              "3"
            ],
            "type": "string",
            "description": "Passed to LinkedIn's search, but LinkedIn does not apply this filter to public job searches and job pages carry no on-site or remote field, so it cannot be checked per job and results can include every work arrangement. The run log repeats this note when the filter is set.",
            "default": ""
          },
          "contractType": {
            "title": "🎯 Job type",
            "enum": [
              "",
              "F",
              "P",
              "C",
              "T",
              "I",
              "V"
            ],
            "type": "string",
            "description": "Only jobs with this employment type. Checked against each job's own employment type; jobs that don't match are skipped and not charged. Choose Any to turn it off.",
            "default": ""
          },
          "experienceLevel": {
            "title": "🎯 Experience level",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6"
            ],
            "type": "string",
            "description": "Only jobs with this seniority level. Checked against each job's own seniority level; jobs that don't match (including jobs marked Not Applicable) are skipped and not charged. Choose Any to turn it off.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "With Apify Proxy on, every request goes through it (the residential group when no group is chosen, or Apify's default proxy when your plan has no residential access; US unless you pick a country). With it off, requests start on a direct connection and the run switches to the residential proxy as soon as LinkedIn blocks it. If the proxy refuses the connection, the run continues directly."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}