{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper - No Login, Salary & Company Data",
    "description": "Scrape LinkedIn jobs without login across ~45 countries. Filter by company, industry, job function, and Easy Apply. Extract salary, apply links, and applicant counts for recruiting and lead generation.",
    "version": "0.6",
    "x-build-id": "vUvfuIga23Oqac2gL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lentic_clockss~linkedin-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lentic_clockss-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/lentic_clockss~linkedin-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lentic_clockss-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/lentic_clockss~linkedin-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lentic_clockss-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": {
          "keyword": {
            "title": "Search keyword",
            "type": "string",
            "description": "Job title or skill to search for (e.g. 'python developer', 'web scraping')",
            "default": "python developer"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state, or region (e.g. 'New York', 'London'). Combine with country for best accuracy."
          },
          "country": {
            "title": "Country",
            "enum": [
              "",
              "us",
              "gb",
              "ca",
              "au",
              "de",
              "fr",
              "in",
              "sg",
              "ph",
              "jp",
              "kr",
              "nl",
              "es",
              "it",
              "br",
              "mx",
              "ae",
              "nz",
              "ie",
              "se",
              "ch",
              "pl",
              "id",
              "my",
              "th",
              "vn",
              "hk",
              "tw",
              "za",
              "at",
              "be",
              "dk",
              "no",
              "fi",
              "pt",
              "cz",
              "ro",
              "ar",
              "cl",
              "co",
              "il",
              "sa",
              "eg",
              "ng",
              "tr",
              "remote"
            ],
            "type": "string",
            "description": "ISO country filter applied via LinkedIn geoId, and used for residential proxy exit when possible. Choose 'remote' to force remote workplace filter.",
            "default": ""
          },
          "company": {
            "title": "Company",
            "type": "string",
            "description": "Filter by company. Accepts LinkedIn company ID(s), company URL(s), or comma-separated mix (e.g. '1441' or 'https://www.linkedin.com/company/google')."
          },
          "industry": {
            "title": "Industry",
            "enum": [
              "",
              "software",
              "it_services",
              "technology",
              "financial_services",
              "banking",
              "healthcare",
              "pharmaceuticals",
              "biotech",
              "manufacturing",
              "retail",
              "construction",
              "real_estate",
              "education",
              "higher_education",
              "advertising",
              "telecommunications",
              "staffing",
              "consulting",
              "legal",
              "government",
              "nonprofit",
              "media",
              "entertainment",
              "automotive",
              "energy",
              "logistics"
            ],
            "type": "string",
            "description": "Filter jobs by LinkedIn industry category.",
            "default": ""
          },
          "jobFunction": {
            "title": "Job function",
            "enum": [
              "",
              "accounting",
              "administrative",
              "arts_design",
              "business_development",
              "community_social",
              "consulting",
              "education",
              "engineering",
              "entrepreneurship",
              "finance",
              "healthcare",
              "human_resources",
              "information_technology",
              "legal",
              "marketing",
              "media_communication",
              "military_protective",
              "operations",
              "product_management",
              "project_management",
              "purchasing",
              "quality_assurance",
              "real_estate",
              "research",
              "sales",
              "customer_success"
            ],
            "type": "string",
            "description": "Filter jobs by LinkedIn job function.",
            "default": ""
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "",
              "F",
              "P",
              "C",
              "T",
              "I",
              "V",
              "O"
            ],
            "type": "string",
            "description": "Filter by employment type",
            "default": ""
          },
          "datePosted": {
            "title": "Date posted",
            "enum": [
              "",
              "r86400",
              "r604800",
              "r2592000"
            ],
            "type": "string",
            "description": "Filter by posting date",
            "default": ""
          },
          "experienceLevel": {
            "title": "Experience level",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6"
            ],
            "type": "string",
            "description": "Filter by seniority",
            "default": ""
          },
          "remoteFilter": {
            "title": "Remote filter",
            "enum": [
              "",
              "2",
              "1",
              "3"
            ],
            "type": "string",
            "description": "Filter by workplace type",
            "default": ""
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only return jobs that support LinkedIn Easy Apply.",
            "default": false
          },
          "under10Applicants": {
            "title": "Under 10 applicants only",
            "type": "boolean",
            "description": "Only return jobs LinkedIn marks as having fewer than 10 applicants.",
            "default": false
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "",
              "relevance",
              "recent"
            ],
            "type": "string",
            "description": "Sort search results by relevance or most recent posting date."
          },
          "companyId": {
            "title": "Company ID (direct)",
            "type": "string",
            "description": "Numeric LinkedIn company ID to list that employer's jobs directly (e.g. '1035' = Microsoft). Skips slug resolution."
          },
          "maxResults": {
            "title": "Max results per keyword, URL, ID, or profile",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum Dataset rows for each keyword, URL, ID, profile, or organization; a discovery request counts as one input. The default is 70. All row types for that input count together, and larger requests are collected in control-plane parts of at most 70 rows. The whole run stops at your maximum total charge. Free Apify plan users are limited to 200 rows per run and 10 total runs.",
            "default": 70
          },
          "rowLayout": {
            "title": "Output layout",
            "enum": [
              "rows"
            ],
            "type": "string",
            "description": "Use one Dataset row per job, post, profile, or organization.",
            "default": "rows"
          },
          "scrapeDetails": {
            "title": "Scrape full details",
            "type": "boolean",
            "description": "Visit each job detail page for description, salary, Easy Apply / apply URL, and applicant count. Slower but more complete.",
            "default": true
          },
          "workerBaseUrl": {
            "title": "Worker base URL (optional)",
            "type": "string",
            "description": "Override the Cloud Run worker origin for this run. Defaults to Actor env WORKER_BASE_URL. Use when testing a staging worker; production migrations should update WORKER_BASE_URL in Actor settings (no code change)."
          },
          "detailUrls": {
            "title": "Job detail URLs",
            "type": "array",
            "description": "Direct LinkedIn job URLs to enrich. Skips search; returns full detail per URL.",
            "items": {
              "type": "string"
            }
          },
          "jobIds": {
            "title": "Job IDs",
            "type": "array",
            "description": "LinkedIn job posting IDs to enrich directly (combined with detailUrls).",
            "items": {
              "type": "string"
            }
          },
          "postUrls": {
            "title": "Post URLs",
            "type": "array",
            "description": "LinkedIn /posts/{slug} or activity URN URLs to scrape (single-post content + engagement counts).",
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Profile / company URLs (residential enrich)",
            "type": "array",
            "description": "LinkedIn /in/{slug} or /company/{slug} URLs to enrich over residential proxy — person profile or company detail JSON-LD. Slower + stricter rate limit than jobs.",
            "items": {
              "type": "string"
            }
          },
          "enrichProfiles": {
            "title": "Enrich profiles",
            "type": "boolean",
            "description": "Emit additional profile/company rows for job searches and, for profileUrls, up to 5 recent post rows. Off by default because every added row is separately billed and counts toward maxResults for that input.",
            "default": false
          },
          "orgUrls": {
            "title": "Org-guest URLs (free DC surface)",
            "type": "array",
            "description": "Organization-guest targets — company/school/showcase records + the company-jobs bridge, fetched over the free datacenter surface (no residential proxy needed). Accepts /organization-guest/{company|school|showcase}/{slug} URLs, company:x / school:x / showcase:x slug tokens, and company:x/jobs for the jobs bridge. Returns Organization JSON-LD fields.",
            "items": {
              "type": "string"
            }
          },
          "discoverKeyword": {
            "title": "Discover keyword",
            "type": "string",
            "description": "Seed keyword for slug discovery — Google SERP (site:linkedin.com) + graph BFS + optional Common Crawl corpus enumerate /in//company//posts slugs, then enrich them."
          },
          "discoverLimit": {
            "title": "Discover limit",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Max slugs to discover/enrich in one run.",
            "default": 20
          },
          "discoverSeeds": {
            "title": "Discover seeds",
            "type": "array",
            "description": "Seed slugs (in:x, company:y) to start graph BFS — one-hop neighbours are enumerated automatically.",
            "items": {
              "type": "string"
            }
          },
          "offlineCorpus": {
            "title": "Offline slug corpus",
            "type": "boolean",
            "description": "Also pull candidate slugs from the Common Crawl index (offline, no proxy burn).",
            "default": false
          },
          "liAtCookie": {
            "title": "li_at cookie (optional, deep fields)",
            "type": "string",
            "description": "Your own LinkedIn session cookie — unlocks voyager-only fields (skills, contact, connections) on enriched profiles. Stateless: used for this run only, never stored."
          },
          "voyagerUrls": {
            "title": "Voyager URLs (requires liAtCookie)",
            "type": "array",
            "description": "LinkedIn voyager resource URLs to fetch with liAtCookie auth. Returns auth_required diagnostic when no cookie is supplied.",
            "items": {
              "type": "string"
            }
          },
          "externalIds": {
            "title": "External IDs (echo)",
            "type": "array",
            "description": "Your own record IDs, aligned by index with detailUrls/jobIds — echoed back on each output row so results join to your database.",
            "items": {
              "type": "string"
            }
          },
          "knownJobIds": {
            "title": "Known job IDs (incremental dedupe)",
            "type": "array",
            "description": "Job IDs you already scraped in prior runs — skipped this run for incremental collection.",
            "items": {
              "type": "string"
            }
          },
          "dedupeKey": {
            "title": "Dedupe key",
            "type": "string",
            "description": "Namespace label recorded on output for your dedupe bookkeeping."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}