{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper",
    "description": "Scrape public LinkedIn job listings by keyword and location, without login or cookies: title, company, seniority, employment type, applicants, salary, full description and apply link. Filters and alerts.",
    "version": "0.1",
    "x-build-id": "zNkZAkBGfdcjtxWJJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/robertosan16~linkedin-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-robertosan16-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/robertosan16~linkedin-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-robertosan16-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/robertosan16~linkedin-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-robertosan16-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": {
          "searchQueries": {
            "title": "Job titles or keywords",
            "type": "array",
            "description": "What to search, for example <code>data analyst</code> or <code>registered nurse</code>. Each line is a separate search with the filters below. You can also paste links of job searches from linkedin.com/jobs; their own filters are used.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "A country, region or city as on LinkedIn, for example <code>United States</code>, <code>London, England, United Kingdom</code> or <code>Berlin</code>. Leave empty to search worldwide."
          },
          "distance": {
            "title": "Distance around the location",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Also find jobs this far from a city, for example 25. Leave empty for the LinkedIn default."
          },
          "jobTypes": {
            "title": "Job type",
            "type": "array",
            "description": "Leave empty for all. LinkedIn does not filter by job type for visitors who are not logged in, so the Actor checks each job page: jobs of other types are skipped and free. With this filter a search reads the first 1,000 jobs LinkedIn lists.",
            "items": {
              "type": "string",
              "enum": [
                "F",
                "P",
                "C",
                "T",
                "V",
                "I",
                "O"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Volunteer",
                "Internship",
                "Other"
              ]
            }
          },
          "experienceLevels": {
            "title": "Experience level",
            "type": "array",
            "description": "Leave empty for all. Checked on each job page like the job type; jobs that LinkedIn marks \"Not Applicable\" are skipped when you choose levels.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior level",
                "Director",
                "Executive"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted in the last days",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs posted in the last N days: 1 means today and yesterday. Leave empty or 0 for any date."
          },
          "easyApply": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only jobs you can apply to on LinkedIn with Easy Apply.",
            "default": false
          },
          "excludeKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Skip jobs whose title contains any of these, for example <code>intern</code> or <code>senior</code>. Common word endings are included.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Title must contain",
            "type": "array",
            "description": "Keep only jobs whose title contains any of these words or phrases. LinkedIn searches descriptions too, so this makes results stricter. Add <code>*</code> for any ending: <code>data*</code>.",
            "items": {
              "type": "string"
            }
          },
          "onlyWithSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Keep only jobs that state a pay range or rate.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new jobs since the last run",
            "type": "boolean",
            "description": "For scheduled runs: save only jobs that were not seen in earlier runs of the same saved task. The first run saves all current jobs and remembers them. Jobs that did not match your filters are remembered too.",
            "default": false
          },
          "includeDescription": {
            "title": "Load full job details",
            "type": "boolean",
            "description": "Open each job page for the full description (text and HTML), seniority, employment type, job function, industries and number of applicants. Turn off for fast results with a short summary instead.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum jobs in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after saving this many jobs. Leave empty or 0 for no limit. The example is kept small so the first run takes seconds."
          },
          "maxItemsPerCompany": {
            "title": "Maximum jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Save at most this many jobs from each search. Leave empty or 0 for no limit."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "LinkedIn limits how many pages one address can open, so the Actor sends its requests through Apify residential proxies with rotating addresses, also when no proxy is set here. Set other proxies here only if you prefer your own.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}