{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper – No Login, Full Details & Salary Data",
    "description": "LinkedIn Jobs Scraper with no login, cookies or proxy. Search by keyword and location or paste LinkedIn job URLs; get title, company, location, posted date, salary range, seniority, employment type, applicants and the full description as flat rows. Pay only per job delivered.",
    "version": "1.0",
    "x-build-id": "mpHTh5Z0DpW87N95G"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nourishing_courier~linkedin-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nourishing_courier-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/nourishing_courier~linkedin-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nourishing_courier-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/nourishing_courier~linkedin-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nourishing_courier-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",
        "required": [
          "searchQueries"
        ],
        "properties": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "One search per line, exactly what you would type into the LinkedIn jobs search box: job titles, skills or company names, e.g. \"data analyst\", \"python developer\", \"fp&a analyst\". Each keyword is searched in the location below with the filters below.",
            "default": [
              "data analyst"
            ],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, region or country as LinkedIn spells it, e.g. \"United States\", \"London, England, United Kingdom\", \"Stockholm, Sweden\", \"Remote\". Applied to every keyword above.",
            "default": "United States"
          },
          "datePosted": {
            "title": "Date posted",
            "enum": [
              "any",
              "pastMonth",
              "pastWeek",
              "past24h"
            ],
            "type": "string",
            "description": "Only jobs posted within this window. LinkedIn's own filter, applied server-side.",
            "default": "pastWeek"
          },
          "workType": {
            "title": "Work type",
            "enum": [
              "any",
              "onsite",
              "remote",
              "hybrid"
            ],
            "type": "string",
            "description": "On-site, remote or hybrid, as tagged by the employer on LinkedIn.",
            "default": "any"
          },
          "experienceLevel": {
            "title": "Experience level",
            "enum": [
              "any",
              "internship",
              "entryLevel",
              "associate",
              "midSenior",
              "director",
              "executive"
            ],
            "type": "string",
            "description": "LinkedIn's seniority filter.",
            "default": "any"
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "any",
              "fullTime",
              "partTime",
              "contract",
              "temporary",
              "internship",
              "volunteer"
            ],
            "type": "string",
            "description": "Employment type filter.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "date",
              "relevance"
            ],
            "type": "string",
            "description": "Most recent first is best for monitoring and alerts; relevance mirrors what LinkedIn shows a visitor.",
            "default": "date"
          },
          "maxJobsPerQuery": {
            "title": "Maximum jobs per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap per keyword (or per pasted search URL). LinkedIn itself stops serving results at roughly 1,000 per search, so split broad searches by location or date to get past that.",
            "default": 50
          },
          "fetchJobDetails": {
            "title": "Fetch full job details",
            "type": "boolean",
            "description": "Open every job page to add the full description, seniority level, employment type, job function, industries, applicant count, salary range and apply URL. Turn off for a faster listing-only run (title, company, location, date, link).",
            "default": true
          },
          "startUrls": {
            "title": "LinkedIn URLs (optional)",
            "type": "array",
            "description": "Paste LinkedIn job search URLs (https://www.linkedin.com/jobs/search/?keywords=...&location=...&f_WT=2) or single job URLs (https://www.linkedin.com/jobs/view/4468253955). When this list is non-empty it is used INSTEAD of the keywords above; filters inside the URL win over the filter fields, which only fill in what the URL leaves out.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "concurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many LinkedIn requests to run at once. 3 is safe from a single IP; lower it if you see rate-limit warnings in the log.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. The public job listings do not need a proxy at normal volumes; switch one on only for very large runs that start getting HTTP 429 from LinkedIn.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}