{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper: Job Search, No Login, With Descriptions",
    "description": "Scrape LinkedIn job listings by keyword and location, no login or cookies needed. Get title, company, location, salary, posted date, full description, seniority, employment type, applicants and apply link. Filter by date, remote, job type and level.",
    "version": "0.1",
    "x-build-id": "hB6XuY1xkgiDtgAYc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/redfoxscout~linkedin-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-redfoxscout-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/redfoxscout~linkedin-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-redfoxscout-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/redfoxscout~linkedin-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-redfoxscout-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": {
          "keywords": {
            "title": "Job titles or keywords",
            "type": "array",
            "description": "What to search for, one per line, e.g. data engineer, nurse, react developer.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Countries, regions or cities, one per line. Every keyword is searched in every location. Leave empty for worldwide.",
            "items": {
              "type": "string"
            }
          },
          "distance": {
            "title": "Distance from location (miles)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Radius around each location, in miles, e.g. 10 or 25. Leave empty for LinkedIn's default. Only used with a location."
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "day",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Only jobs posted in this period.",
            "default": "any"
          },
          "workplace": {
            "title": "Workplace",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "onsite",
                "remote",
                "hybrid"
              ],
              "enumTitles": [
                "On-site",
                "Remote",
                "Hybrid"
              ]
            }
          },
          "jobType": {
            "title": "Job type",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "contract",
                "temporary",
                "internship",
                "volunteer",
                "other"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship",
                "Volunteer",
                "Other"
              ]
            }
          },
          "experience": {
            "title": "Experience level",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entry",
                "associate",
                "midsenior",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior level",
                "Director",
                "Executive"
              ]
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Order of results.",
            "default": "relevance"
          },
          "includeDetails": {
            "title": "Include full description and details",
            "type": "boolean",
            "description": "Adds description, seniority, employment type, job function, industries, applicants, apply type (Easy Apply or external) and open/closed state. One extra request per job.",
            "default": true
          },
          "includeHiringTeam": {
            "title": "Include hiring team",
            "type": "boolean",
            "description": "Add the hiring team when LinkedIn's public job page shows it (rare). Needs full details.",
            "default": false
          },
          "under10Applicants": {
            "title": "Under 10 applicants only",
            "type": "boolean",
            "description": "Only jobs with fewer than 10 applicants, filtered by LinkedIn itself. Best combined with Posted within = Past 24 hours.",
            "default": false
          },
          "easyApply": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only jobs that can be applied to on LinkedIn (Easy Apply), not only on the company's own site.",
            "default": false
          },
          "dropReposts": {
            "title": "Drop reposts",
            "type": "boolean",
            "description": "Keep one row per company, title and location across all searches. A job posted again under a new LinkedIn ID is removed and not charged. On by default.",
            "default": true
          },
          "excludeAgencies": {
            "title": "Exclude staffing agencies",
            "type": "boolean",
            "description": "Drop jobs from recruiters and staffing firms, found by company name and by LinkedIn's Staffing and Recruiting industry. A heuristic: a few agencies can slip through. On by default; turn off to keep agency posts.",
            "default": true
          },
          "companyNames": {
            "title": "Only these companies (names)",
            "type": "array",
            "description": "Keep jobs whose company name contains one of these names, e.g. Google or Siemens. With no keywords, each name is also searched.",
            "items": {
              "type": "string"
            }
          },
          "companyIds": {
            "title": "Only these companies (LinkedIn IDs)",
            "type": "array",
            "description": "Numeric LinkedIn company IDs, one per line, e.g. 1441 for Google. LinkedIn filters on these itself, so runs are faster than with names.",
            "items": {
              "type": "string"
            }
          },
          "includeCompanyDetails": {
            "title": "Add company details",
            "type": "boolean",
            "description": "Adds the company's website, industry, size and logo from its public LinkedIn page. One extra request per company; left empty where LinkedIn asks for a login.",
            "default": false
          },
          "titleInclude": {
            "title": "Title must contain",
            "type": "array",
            "description": "Keep only jobs whose title contains at least one of these words, e.g. data or analyst. Whole words, case-insensitive.",
            "items": {
              "type": "string"
            }
          },
          "titleExclude": {
            "title": "Title must not contain",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words, e.g. intern or senior. Whole words, case-insensitive.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "LinkedIn search URLs (optional)",
            "type": "array",
            "description": "Paste LinkedIn jobs search URLs to reuse their filters, e.g. https://www.linkedin.com/jobs/search/?keywords=nurse&location=Texas&f_WT=2",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs (alias of search URLs)",
            "type": "array",
            "description": "Same as the LinkedIn search URLs above, for compatibility with other job scrapers. Both lists are searched.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max results per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop each search after this many results.",
            "default": 50
          },
          "maxConcurrency": {
            "title": "Searches in parallel",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many searches run at once.",
            "default": 3
          },
          "sessionCookies": {
            "title": "LinkedIn session cookies",
            "type": "string",
            "description": "Not used: LinkedIn signed-in pages add no data this Actor reads. Kept so older inputs still run."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}