{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper - Search & Export",
    "description": "Export public LinkedIn jobs by keyword, location, date, experience, job type, Easy Apply, search URL, or direct URL. Download descriptions, company data, criteria, salary and applicant signals via CSV, Excel, JSON, API, or MCP.",
    "version": "0.1",
    "x-build-id": "MG6UKzqXHssvdSg6m"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fetch_cat~linkedin-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fetch_cat-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/fetch_cat~linkedin-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fetch_cat-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/fetch_cat~linkedin-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fetch_cat-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": "Keywords",
            "type": "array",
            "description": "Job titles, skills, company names, or search phrases. When neither keywords nor start URLs are supplied, the Actor searches for software engineer jobs for backward compatibility.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "LinkedIn location text for keyword searches, such as United States, London, Berlin, or Remote."
          },
          "startUrls": {
            "title": "LinkedIn jobs search or job URLs",
            "type": "array",
            "description": "Public LinkedIn Jobs search URLs or direct /jobs/view/ URLs. They are processed in addition to keyword searches; submit an empty keywords list to use only these URLs.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum unique job rows saved across all searches and direct URLs. Use a small value while testing to cap spend.",
            "default": 20
          },
          "includeDetails": {
            "title": "Fetch job details",
            "type": "boolean",
            "description": "Fetch each public job page for description text and HTML, criteria, applicant and salary text, application link, workplace type, and other fields. Search-card rows are preserved if individual detail pages fail.",
            "default": true
          },
          "datePosted": {
            "title": "Date posted",
            "enum": [
              "any",
              "past24h",
              "pastWeek",
              "pastMonth"
            ],
            "type": "string",
            "description": "Filter keyword searches using LinkedIn's public date-posted options.",
            "default": "any"
          },
          "workplaceType": {
            "title": "Workplace type",
            "enum": [
              "any",
              "onsite",
              "remote",
              "hybrid"
            ],
            "type": "string",
            "description": "Filter keyword searches by on-site, remote, or hybrid roles.",
            "default": "any"
          },
          "experienceLevels": {
            "title": "Experience levels",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional LinkedIn experience-level filters. Select any combination.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entry",
                "associate",
                "midSenior",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior level",
                "Director",
                "Executive"
              ]
            },
            "default": []
          },
          "jobTypes": {
            "title": "Job types",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional LinkedIn employment-type filters. Select any combination.",
            "items": {
              "type": "string",
              "enum": [
                "fullTime",
                "partTime",
                "contract",
                "temporary",
                "volunteer",
                "internship",
                "other"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Volunteer",
                "Internship",
                "Other"
              ]
            },
            "default": []
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Ask LinkedIn's public search endpoint to return only jobs marked for Easy Apply.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "recent"
            ],
            "type": "string",
            "description": "Choose LinkedIn relevance ranking or newest jobs first.",
            "default": "relevance"
          },
          "retryCount": {
            "title": "Retries per request",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "Retries temporary blocks, rate limits, timeouts, TLS failures, and server errors with a fresh proxy route.",
            "default": 3
          },
          "initialRetryDelayMillis": {
            "title": "Initial retry delay (milliseconds)",
            "minimum": 250,
            "maximum": 30000,
            "type": "integer",
            "description": "Initial backoff before retrying a temporary request failure. Later retries wait longer and Retry-After is honored.",
            "default": 1000
          },
          "requestPacingMillis": {
            "title": "Request pacing (milliseconds)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Delay between successful request batches. Increase it if a broad run is rate-limited.",
            "default": 250
          },
          "detailConcurrency": {
            "title": "Detail request concurrency",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "Maximum public job detail pages fetched at once. Lower values reduce request pressure; higher values finish enrichment faster.",
            "default": 4
          },
          "runTimeSecs": {
            "title": "Safe run-time limit (seconds)",
            "minimum": 30,
            "maximum": 270,
            "type": "integer",
            "description": "Stop requesting new pages early enough to preserve saved rows and write RUN_SUMMARY before the platform timeout.",
            "default": 240
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy is recommended for LinkedIn public pages. Temporary failures rotate to a fresh proxy URL automatically.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}