{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Job Details Scraper - By URL or Job ID",
    "description": "Scrape LinkedIn job details from job URLs or job IDs, no login: one row per input in your order. Get title, company, exact posted date, full description as text, HTML and Markdown, salary, applicants, Easy Apply, closed status, optional job poster. Not found is free. Pay per job, JSON or CSV.",
    "version": "0.1",
    "x-build-id": "lxSHKsWpgzwHt5deg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~linkedin-job-details-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-linkedin-job-details-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/automation_craft~linkedin-job-details-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-linkedin-job-details-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/automation_craft~linkedin-job-details-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-linkedin-job-details-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": {
          "jobUrls": {
            "title": "LinkedIn job URLs or job IDs",
            "type": "array",
            "description": "One job per line. Accepted: job view URLs (https://www.linkedin.com/jobs/view/4454862094, with or without the title slug and tracking), regional URLs (uk.linkedin.com), search or collection URLs that carry currentJobId=..., URNs (urn:li:jobPosting:4454862094) and bare numeric IDs. Up to 20,000 values per run. An input with no job list at all (a literal {}) runs these three sample jobs so the Actor can be tried with one click; an explicitly empty list returns a free status row.",
            "items": {
              "type": "string"
            }
          },
          "maxJobs": {
            "title": "Maximum jobs to deliver",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many delivered jobs. 0 means no limit (every value in the list). Values after the limit get a free skipped row.",
            "default": 0
          },
          "exactPostedDate": {
            "title": "Exact posted date",
            "type": "boolean",
            "description": "LinkedIn's job page only says \"2 days ago\". When on, one extra public search per open job reads the posting's own date from LinkedIn's search card (matched on the job ID) into postedDate. Included in the job price. Closed jobs have no card, so their postedDate stays null.",
            "default": true
          },
          "includeCompanyDetails": {
            "title": "Company details (billed once per company)",
            "type": "boolean",
            "description": "Adds a company object from the public LinkedIn company page: website, industry, company size, employees on LinkedIn, headquarters, type, founded year, specialties, followers, description. Billed with the Company event once per company per run, however many of its jobs you pass.",
            "default": false
          },
          "includeJobPoster": {
            "title": "Job poster card",
            "type": "boolean",
            "description": "Off by default: the poster card stays out of the dataset. Turn on to add the poster's name, headline and public profile URL as jobPoster when the public page shows \"Direct message the job poster\".",
            "default": false
          },
          "includeContactEmails": {
            "title": "E-mail addresses in the description",
            "type": "boolean",
            "description": "Off by default. Turn on to add descriptionEmails: e-mail addresses the employer wrote into the job description (about 1 posting in 10, often a careers or recruiter address).",
            "default": false
          },
          "includeDescriptionHtml": {
            "title": "Description as HTML",
            "type": "boolean",
            "description": "Keep descriptionHtml (the job description markup as LinkedIn serves it). descriptionText is always included.",
            "default": true
          },
          "includeDescriptionMarkdown": {
            "title": "Description as Markdown",
            "type": "boolean",
            "description": "Keep descriptionMarkdown (headings, bold and lists preserved), ready for LLM prompts and CMS imports.",
            "default": true
          },
          "skipClosedJobs": {
            "title": "Skip closed jobs",
            "type": "boolean",
            "description": "Postings that show \"No longer accepting applications\" get a free filtered row instead of a paid job row. Off by default: a closed posting is still a complete record with its description.",
            "default": false
          },
          "memoryName": {
            "title": "Memory name (pay once per job across runs)",
            "type": "string",
            "description": "Optional. Give a name, for example weekly-alerts, and jobs delivered under it are remembered: later runs with the same name return a free already_known row for them instead of a paid row. Leave empty to deliver every job every run."
          },
          "resetMemory": {
            "title": "Reset the memory",
            "type": "boolean",
            "description": "Forget every job remembered under memoryName before this run starts.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Parallel jobs",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many jobs are fetched at the same time (1 to 10). The default 5 is fast and polite.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy (the automatic datacenter pool) is used by default and is part of the price. A fresh exit is used for every retry.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}