{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper",
    "description": "LinkedIn Jobs Scraper searches and extracts job postings by keywords, location, and company filter. Scrape job title, company, location, salary, employment type, seniority, applicants, description, and direct apply link into clean Excel, CSV, or JSON.",
    "version": "0.0",
    "x-build-id": "1kOIKAUkycptJGyDj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlix~linkedin-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlix-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/crawlix~linkedin-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlix-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/crawlix~linkedin-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlix-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": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "Search Keywords",
            "type": "array",
            "description": "Job titles, skills, or search keywords to find open job postings (e.g., 'Python Developer', 'Data Scientist', 'DevOps'). Each term will be searched independently.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location Name (Single Input Only)",
            "type": "string",
            "description": "Enter a single city, state, country, or region name (e.g., 'United States', 'London', 'Germany', or 'Worldwide'). No need to enter both Location and Geo ID; entering either will work. Only 1 location input is allowed per run (multiple locations are not accepted). If both Location and Geo ID are provided, Geo ID gets priority. You must enter the location name correctly, otherwise it will fallback to Worldwide if incorrect or not found. Pro-Tip: Using the exact numeric Geo ID directly in the Geo ID field provides the highest success rate and best targeting accuracy.",
            "default": "Worldwide"
          },
          "geo_id": {
            "title": "Geo ID (Single Input Only - Recommended)",
            "type": "string",
            "description": "Recommended for Highest Success Rate: Enter a single numeric LinkedIn Geo ID (e.g., '103644278' for United States, '102257491' for London, '106779217' for Bangladesh). Using the exact Geo ID gives the best chance and highest success rate compared to location text. Only 1 Geo ID input is allowed per run (multiple Geo IDs are not accepted). No need to enter both Location and Geo ID; giving either will work. If both are provided, Geo ID gets priority. If the Geo ID is incorrect or returns no results, the scraper automatically searches using your Location name instead. If both are incorrect, it safely falls back to Worldwide."
          },
          "companies": {
            "title": "Company Filter (Optional)",
            "type": "array",
            "description": "Optional LinkedIn company names, slugs, or profile URLs (e.g., 'Google', 'apple', 'https://www.linkedin.com/company/microsoft'). When provided, only jobs from these companies will be collected.",
            "items": {
              "type": "string"
            }
          },
          "max_jobs": {
            "title": "Jobs per Keyword ($)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of job postings to collect for each keyword (or keyword + company combination). For example, if you provide 2 keywords and set this to 50, the scraper will collect up to 50 jobs for each keyword (up to 100 jobs total). Maximum 1,000 per keyword, as LinkedIn delivers up to 1,000 public listings. Collecting job listings adds a small charge per job scraped, shown on the pricing tab.",
            "default": 50
          },
          "jobs_date_posted": {
            "title": "Date Posted Filter",
            "enum": [
              "all",
              "past_month",
              "past_week",
              "past_24_hours"
            ],
            "type": "string",
            "description": "Filter job postings by publication date: All time, Past month, Past week, or Past 24 hours.",
            "default": "all"
          },
          "jobs_under_10_applicants": {
            "title": "Under 10 Applicants Filter",
            "type": "boolean",
            "description": "When turned on, only returns job listings that currently have fewer than 10 applicants. Important Tip: Well-known companies and tech giants (like Apple, Google, Microsoft) receive dozens of applicants very quickly. If you get 0 results when searching specific top employers, turn this filter off.",
            "default": false
          },
          "jobs_easy_apply": {
            "title": "Easy Apply Filter",
            "type": "boolean",
            "description": "When turned on, only returns job postings that support LinkedIn's 1-click Easy Apply. Important Tip: Many companies (especially major tech firms and large corporations like Apple, Google, Microsoft, Amazon) do NOT use LinkedIn Easy Apply and require applicants to apply directly on their own career websites. If this filter is turned on when searching specific companies, it may return 0 results. It is safest to keep this filter turned off when targeting specific corporate employers.",
            "default": false
          },
          "scrape_job_details": {
            "title": "Scrape Full Job Details",
            "type": "boolean",
            "description": "When turned on (enabled by default), visits each individual job link to scrape full descriptions, seniority level, employment type, job functions, industries, applicant count, and direct apply link.",
            "default": true
          },
          "proxyCountry": {
            "title": "Residential Proxy Country",
            "enum": [
              "US",
              "GB",
              "AU",
              "CA",
              "DE",
              "FR",
              "NL",
              "IT",
              "ES",
              "SE",
              "NO",
              "DK",
              "FI",
              "BE",
              "AT",
              "CH",
              "IE",
              "PL",
              "PT",
              "CZ",
              "HU",
              "RO",
              "GR",
              "JP",
              "KR",
              "SG",
              "IN",
              "BR",
              "MX",
              "AR",
              "TR",
              "AF",
              "AL",
              "DZ",
              "AO",
              "AM",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BZ",
              "BJ",
              "BO",
              "BA",
              "BW",
              "BN",
              "BG",
              "BF",
              "KH",
              "CM",
              "CL",
              "CN",
              "CO",
              "CG",
              "CR",
              "HR",
              "CU",
              "CY",
              "CD",
              "DO",
              "EC",
              "EG",
              "SV",
              "EE",
              "ET",
              "FJ",
              "GA",
              "GE",
              "GH",
              "GT",
              "GN",
              "GY",
              "HT",
              "HN",
              "HK",
              "IS",
              "ID",
              "IR",
              "IQ",
              "IL",
              "CI",
              "JM",
              "JO",
              "KZ",
              "KE",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LR",
              "LY",
              "LT",
              "LU",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MU",
              "MD",
              "MN",
              "ME",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NP",
              "NZ",
              "NI",
              "NE",
              "NG",
              "MK",
              "OM",
              "PK",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PR",
              "QA",
              "RU",
              "RW",
              "SA",
              "SN",
              "RS",
              "SL",
              "SK",
              "SI",
              "SO",
              "ZA",
              "LK",
              "SD",
              "SR",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TG",
              "TT",
              "TN",
              "TM",
              "UG",
              "UA",
              "AE",
              "UY",
              "UZ",
              "VE",
              "VN",
              "YE",
              "ZM",
              "ZW"
            ],
            "type": "string",
            "description": "Select from the residential proxy country option list. The country your run connects from using residential proxies. Pick the one closest to your target market. If a country is not available right now, the run connects from the United States instead and the log says so.",
            "default": "US"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}