{
  "openapi": "3.0.1",
  "info": {
    "title": "Linkedin Jobs Scraper - No Login",
    "description": "Scrape LinkedIn job listings by keyword, location or search URL, no login needed. Get title, company, salary, skills, applicants, recruiter and apply link. Find companies that are hiring for lead generation, recruiting and job boards. No duplicates. Export to CSV, Excel or JSON.",
    "version": "0.0",
    "x-build-id": "HIzeLICjxY5DYTRUA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/prs_scraper~Linkedin-Job-Scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-prs_scraper-Linkedin-Job-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/prs_scraper~Linkedin-Job-Scraper/runs": {
      "post": {
        "operationId": "runs-sync-prs_scraper-Linkedin-Job-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/prs_scraper~Linkedin-Job-Scraper/run-sync": {
      "post": {
        "operationId": "run-sync-prs_scraper-Linkedin-Job-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": {
          "keyword": {
            "title": "Keywords",
            "type": "array",
            "description": "Job titles or search terms, e.g. 'Python Developer'. Optional when you paste LinkedIn URLs below.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Locations",
            "type": "array",
            "description": "Countries, regions or cities, e.g. 'India', 'Bangalore', 'Worldwide'. Optional: leave empty to search a keyword everywhere.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "LinkedIn URLs (optional)",
            "type": "array",
            "description": "Paste LinkedIn job search URLs and/or job URLs. Search URLs keep every filter you set on linkedin.com (company, industry, geoId, remote, date, experience, ...), e.g. https://www.linkedin.com/jobs/search/?keywords=data%20engineer&geoId=103644278&f_WT=2. Job URLs (linkedin.com/jobs/view/...) are scraped directly. Use together with or instead of keywords.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "date": {
            "title": "Date posted",
            "enum": [
              "any",
              "past24hours",
              "past7days",
              "past30days"
            ],
            "type": "string",
            "description": "Filter applied by LinkedIn itself, so older jobs are never downloaded. Search URLs keep their own date filter.",
            "default": "any"
          },
          "maxJobsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many jobs to collect for each keyword + location combination. Example: 2 keywords × 1 location × 100 = up to 200 jobs. The actor reads as many result pages as it needs. Leave empty to collect everything LinkedIn shows (up to 1,000 per search)."
          },
          "jobType": {
            "title": "Job type",
            "uniqueItems": true,
            "type": "array",
            "description": "Employment types to include (LinkedIn filter).",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "contract",
                "temporary",
                "internship",
                "volunteer",
                "other"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship",
                "Volunteer",
                "Other"
              ]
            }
          },
          "experienceLevel": {
            "title": "Experience level",
            "uniqueItems": true,
            "type": "array",
            "description": "Seniority levels to include (LinkedIn filter).",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entry",
                "associate",
                "mid-senior",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior level",
                "Director",
                "Executive"
              ]
            }
          },
          "workType": {
            "title": "Workplace type",
            "uniqueItems": true,
            "type": "array",
            "description": "On-site / remote / hybrid (LinkedIn filter). With exactly one value, every job's workplaceType is known for certain.",
            "items": {
              "type": "string",
              "enum": [
                "onsite",
                "remote",
                "hybrid"
              ],
              "enumTitles": [
                "On-site",
                "Remote",
                "Hybrid"
              ]
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "recent",
              "relevant"
            ],
            "type": "string",
            "description": "Result order. Empty = LinkedIn default."
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only jobs that can be applied to on LinkedIn.",
            "default": false
          },
          "under10Applicants": {
            "title": "Fewer than 10 applicants",
            "type": "boolean",
            "description": "Only jobs with fewer than 10 applicants.",
            "default": false
          },
          "companyInclude": {
            "title": "Only these companies",
            "type": "array",
            "description": "Numeric LinkedIn company IDs are filtered by LinkedIn; company names are matched on search results.",
            "items": {
              "type": "string"
            }
          },
          "companyExclude": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Company names (whole-word, case-insensitive) or numeric company IDs.",
            "items": {
              "type": "string"
            }
          },
          "jobTitleExclude": {
            "title": "Exclude title words",
            "type": "array",
            "description": "Skip jobs whose title contains any of these words, e.g. 'senior', 'intern'.",
            "items": {
              "type": "string"
            }
          },
          "subLocationExclude": {
            "title": "Exclude locations",
            "type": "array",
            "description": "Skip jobs whose location contains any of these words.",
            "items": {
              "type": "string"
            }
          },
          "fetchJobDetails": {
            "title": "Fetch job details",
            "type": "boolean",
            "description": "Description, criteria, salary, skills, applicants, recruiter and apply link. Turn off for a cheap listing-only run (measured: ~1.3 KB per job instead of ~14 KB). Job URLs are always fetched in full.",
            "default": true
          },
          "includeDescriptionHtml": {
            "title": "Include description HTML",
            "type": "boolean",
            "description": "Also save the original description HTML (larger dataset items, no extra requests).",
            "default": true
          },
          "saveOnlyUniqueItems": {
            "title": "Save only unique jobs",
            "type": "boolean",
            "description": "If off, a job found by several searches is saved once per search (no extra requests).",
            "default": true
          },
          "requestTimeout": {
            "title": "Request timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Per-request timeout.",
            "default": 30
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}