{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Remote Jobs Scraper",
    "description": "Scrape remote jobs from LinkedIn without login: every result is a work-from-home job, with title, company, country, posting date, seniority, employment type, applicants, salary and full description. Search by keyword and country, filter by date and level, get only new remote jobs every day.",
    "version": "0.1",
    "x-build-id": "Da9KFwlP2QP7ZJ3aV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/blueskyscraper~linkedin-remote-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-blueskyscraper-linkedin-remote-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/blueskyscraper~linkedin-remote-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-blueskyscraper-linkedin-remote-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/blueskyscraper~linkedin-remote-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-blueskyscraper-linkedin-remote-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 you would type into LinkedIn's job search: <code>data analyst</code>, <code>python developer</code>, <code>nurse</code>. Each keyword is searched in each location.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "📍 Locations",
            "type": "array",
            "description": "Where the remote job is open: a country (<code>United States</code>, <code>Germany</code>, <code>India</code>), a region (<code>European Union</code>) or <code>Worldwide</code>.",
            "items": {
              "type": "string"
            }
          },
          "maxJobsPerQuery": {
            "title": "💯 Jobs per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap for each keyword × location pair, each company and each search URL — not for the whole run. LinkedIn shows at most about 1,000 jobs per search; split big searches by location or date to get more.",
            "default": 100
          },
          "datePosted": {
            "title": "📅 Posted within",
            "enum": [
              "any",
              "hour",
              "day",
              "week",
              "month"
            ],
            "type": "string",
            "description": "LinkedIn's own date filter.",
            "default": "any"
          },
          "jobTypes": {
            "title": "⏱️ Job types",
            "type": "array",
            "description": "Empty = all job types.",
            "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": "Empty = all levels.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entry",
                "associate",
                "mid",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior level",
                "Director",
                "Executive"
              ]
            }
          },
          "easyApplyOnly": {
            "title": "⚡ Easy Apply jobs only",
            "type": "boolean",
            "description": "Only jobs you apply to on LinkedIn itself.",
            "default": false
          },
          "under10ApplicantsOnly": {
            "title": "🌱 Fewer than 10 applicants",
            "type": "boolean",
            "description": "LinkedIn's \"Under 10 applicants\" filter: fresh jobs few people applied to.",
            "default": false
          },
          "excludeCompanies": {
            "title": "🚫 Skip companies",
            "type": "array",
            "description": "Leave out jobs whose company name contains any of these words — e.g. staffing agencies: <code>Jobot</code>, <code>Robert Half</code>. Skipped jobs are free.",
            "items": {
              "type": "string"
            }
          },
          "includeDescription": {
            "title": "📄 Open each job page",
            "type": "boolean",
            "description": "Full description, seniority, employment type, industries, applicants, job poster and apply type. Off = only what the search card shows (title, company, location, date, salary) — faster, same price.",
            "default": true
          },
          "includeCompanyDetails": {
            "title": "🏢 Company details (free)",
            "type": "boolean",
            "description": "Read each hiring company's LinkedIn page once per run and add its website and domain, industry, size, employees on LinkedIn, followers, headquarters, founded year, type, specialties, description and tagline to every job row. Free — no extra charge.",
            "default": true
          },
          "includeDescriptionHtml": {
            "title": "Description as HTML too",
            "type": "boolean",
            "description": "Add <code>descriptionHtml</code> with LinkedIn's formatting (lists, bold).",
            "default": false
          },
          "onlyNewJobsStoreName": {
            "title": "🔔 Only new jobs — name this search",
            "type": "string",
            "description": "Give the search a name (e.g. <code>nyc-data-jobs</code>) and every later run with the same name returns <b>only jobs it has not delivered before</b>. Schedule it daily for a job alert. Empty = normal run."
          },
          "maxItems": {
            "title": "Maximum jobs per run",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many jobs in the whole run — a hard ceiling on cost.",
            "default": 20000
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is: the Actor picks its own routes to LinkedIn. With your own proxy URLs, only those are used.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}