{
  "data": {
    "id": "CrEkFHlcagPwfg7e7",
    "actId": "M7DHH5XpX0Xay3eLy",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-10-22T09:11:45.507Z",
    "finishedAt": "2026-10-22T09:12:31.460Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CI"
    },
    "stats": {
      "durationMillis": 45803,
      "runTimeSecs": 45.803,
      "computeUnits": 0.05089222222222222,
      "imageSizeBytes": 3156119552
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"LinkedIn People Search Scraper Input\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"required\": [\n    \"searchQuery\",\n    \"cookie\"\n  ],\n  \"properties\": {\n    \"searchQuery\": {\n      \"title\": \"Search Query\",\n      \"type\": \"string\",\n      \"description\": \"Search keywords for finding people on LinkedIn. Examples: 'software engineer', 'John Smith', 'product manager Google'\",\n      \"editor\": \"textfield\",\n      \"prefill\": \"software engineer\"\n    },\n    \"keywords\": {\n      \"title\": \"Extra Keywords\",\n      \"type\": \"string\",\n      \"description\": \"Optional companion to Search Query. When both are set, they are combined with a space. Use this to keep a primary role in Search Query and add modifiers (industry buzzwords, tools) here.\",\n      \"editor\": \"textfield\"\n    },\n    \"cookie\": {\n      \"title\": \"LinkedIn Cookie\",\n      \"type\": \"string\",\n      \"description\": \"Your LinkedIn session cookie. Accepts either: (1) the li_at value from browser DevTools → Application → Cookies, or (2) full cookies JSON array exported from an extension like EditThisCookie.\",\n      \"editor\": \"textarea\",\n      \"isSecret\": true\n    },\n    \"location\": {\n      \"title\": \"Location Filter\",\n      \"type\": \"string\",\n      \"description\": \"Filter results by location (city, state, or country). Example: 'San Francisco Bay Area', 'New York', 'United Kingdom'\",\n      \"editor\": \"textfield\"\n    },\n    \"currentCompany\": {\n      \"title\": \"Current Company Filter\",\n      \"type\": \"string\",\n      \"description\": \"Filter by current company. Accepts a company name (e.g. 'Google') or a LinkedIn fsd_company URN/numeric ID. URN format produces the strict structured currentCompany filter; plain names are added to keywords.\",\n      \"editor\": \"textfield\"\n    },\n    \"pastCompany\": {\n      \"title\": \"Past Company Filter\",\n      \"type\": \"string\",\n      \"description\": \"Filter by past company. Accepts a company name or a LinkedIn fsd_company URN/numeric ID.\",\n      \"editor\": \"textfield\"\n    },\n    \"school\": {\n      \"title\": \"School Filter\",\n      \"type\": \"string\",\n      \"description\": \"Filter by school or university attended. Accepts a school name or a LinkedIn fsd_school URN/numeric ID. Example: 'Stanford University', 'MIT', or '12345'.\",\n      \"editor\": \"textfield\"\n    },\n    \"firstNameKeyword\": {\n      \"title\": \"First Name\",\n      \"type\": \"string\",\n      \"description\": \"Filter by first name token. Adds a strict firstName filter to the search.\",\n      \"editor\": \"textfield\"\n    },\n    \"lastNameKeyword\": {\n      \"title\": \"Last Name\",\n      \"type\": \"string\",\n      \"description\": \"Filter by last name token. Adds a strict lastName filter to the search.\",\n      \"editor\": \"textfield\"\n    },\n    \"titleKeyword\": {\n      \"title\": \"Job Title\",\n      \"type\": \"string\",\n      \"description\": \"Filter by current job title keyword (e.g. 'Director of Engineering', 'CTO'). Different from Industry / Job Function — this is the free-text title.\",\n      \"editor\": \"textfield\"\n    },\n    \"serviceCategory\": {\n      \"title\": \"Service Category\",\n      \"type\": \"string\",\n      \"description\": \"Filter by LinkedIn Services Marketplace category (e.g. 'Web Development', 'Marketing Strategy').\",\n      \"editor\": \"textfield\"\n    },\n    \"companyHeadcount\": {\n      \"title\": \"Company Headcount\",\n      \"type\": \"array\",\n      \"description\": \"Filter by employer company size. A=Self-employed, B=1-10, C=11-50, D=51-200, E=201-500, F=501-1,000, G=1,001-5,000, H=5,001-10,000, I=10,001+.\",\n      \"editor\": \"select\",\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"A\",\n          \"B\",\n          \"C\",\n          \"D\",\n          \"E\",\n          \"F\",\n          \"G\",\n          \"H\",\n          \"I\"\n        ],\n        \"enumTitles\": [\n          \"Self-employed\",\n          \"1-10 employees\",\n          \"11-50 employees\",\n          \"51-200 employees\",\n          \"201-500 employees\",\n          \"501-1,000 employees\",\n          \"1,001-5,000 employees\",\n          \"5,001-10,000 employees\",\n          \"10,001+ employees\"\n        ]\n      }\n    },\n    \"followerOf\": {\n      \"title\": \"Followers of Company\",\n      \"type\": \"string\",\n      \"description\": \"Filter to people who follow a specific company. Accepts an fsd_company URN or numeric company ID.\",\n      \"editor\": \"textfield\"\n    },\n    \"geoUrn\": {\n      \"title\": \"Location URN\",\n      \"type\": \"string\",\n      \"description\": \"Precise location filter using a LinkedIn geo URN or numeric geo ID (e.g. '103644278' for the United States). Use this for strict geographic filtering instead of the free-text Location field.\",\n      \"editor\": \"textfield\"\n    },\n    \"connectionDegree\": {\n      \"title\": \"Connection Degree\",\n      \"type\": \"string\",\n      \"description\": \"Filter by connection degree to your account.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"\",\n        \"F\",\n        \"S\",\n        \"O\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"1st degree\",\n        \"2nd degree\",\n        \"3rd+ degree\"\n      ],\n      \"default\": \"\"\n    },\n    \"industry\": {\n      \"title\": \"Industry\",\n      \"type\": \"string\",\n      \"description\": \"Filter results by industry. Applied to both Voyager filters and the HTML search URL.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"\",\n        \"Software Development\",\n        \"Financial Services\",\n        \"Healthcare\",\n        \"Education\",\n        \"Marketing and Advertising\",\n        \"Consulting\",\n        \"Hospitality\",\n        \"Real Estate\",\n        \"Manufacturing\",\n        \"Retail\",\n        \"Media\",\n        \"Government Administration\",\n        \"Non-profit Organization Management\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Software Development\",\n        \"Financial Services\",\n        \"Healthcare\",\n        \"Education\",\n        \"Marketing and Advertising\",\n        \"Consulting\",\n        \"Hospitality\",\n        \"Real Estate\",\n        \"Manufacturing\",\n        \"Retail\",\n        \"Media\",\n        \"Government Administration\",\n        \"Non-profit Organization Management\"\n      ],\n      \"default\": \"\"\n    },\n    \"seniorityLevel\": {\n      \"title\": \"Seniority Level\",\n      \"type\": \"string\",\n      \"description\": \"Filter results by seniority level.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"\",\n        \"Entry level\",\n        \"Associate\",\n        \"Mid-Senior level\",\n        \"Director\",\n        \"Executive\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Entry level\",\n        \"Associate\",\n        \"Mid-Senior level\",\n        \"Director\",\n        \"Executive\"\n      ],\n      \"default\": \"\"\n    },\n    \"yearsOfExperience\": {\n      \"title\": \"Years of Experience\",\n      \"type\": \"string\",\n      \"description\": \"Filter results by years of total professional experience. 1=Less than 1 year, 2=1-2 years, 3=3-5 years, 4=6-10 years, 5=11-15 years, 6=16+ years.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"\",\n        \"1\",\n        \"2\",\n        \"3\",\n        \"4\",\n        \"5\",\n        \"6\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Less than 1 year\",\n        \"1-2 years\",\n        \"3-5 years\",\n        \"6-10 years\",\n        \"11-15 years\",\n        \"16+ years\"\n      ],\n      \"default\": \"\"\n    },\n    \"jobFunction\": {\n      \"title\": \"Job Function\",\n      \"type\": \"string\",\n      \"description\": \"Filter results by job function / department.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"\",\n        \"ARTS_AND_DESIGN\",\n        \"BUSINESS_DEVELOPMENT\",\n        \"COMMUNITY_AND_SOCIAL_SERVICES\",\n        \"CONSULTING\",\n        \"EDUCATION\",\n        \"ENGINEERING\",\n        \"ENTREPRENEURSHIP\",\n        \"FINANCE\",\n        \"HEALTHCARE_SERVICES\",\n        \"HUMAN_RESOURCES\",\n        \"INFORMATION_TECHNOLOGY\",\n        \"LEGAL\",\n        \"MANAGEMENT\",\n        \"MARKETING\",\n        \"MEDIA_AND_COMMUNICATION\",\n        \"MILITARY_AND_PROTECTIVE_SERVICES\",\n        \"OPERATIONS\",\n        \"PRODUCT_MANAGEMENT\",\n        \"PROGRAM_AND_PROJECT_MANAGEMENT\",\n        \"PURCHASING\",\n        \"QUALITY_ASSURANCE\",\n        \"REAL_ESTATE\",\n        \"RESEARCH\",\n        \"SALES\",\n        \"SUPPORT\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Arts and Design\",\n        \"Business Development\",\n        \"Community and Social Services\",\n        \"Consulting\",\n        \"Education\",\n        \"Engineering\",\n        \"Entrepreneurship\",\n        \"Finance\",\n        \"Healthcare Services\",\n        \"Human Resources\",\n        \"Information Technology\",\n        \"Legal\",\n        \"Management\",\n        \"Marketing\",\n        \"Media and Communication\",\n        \"Military and Protective Services\",\n        \"Operations\",\n        \"Product Management\",\n        \"Program and Project Management\",\n        \"Purchasing\",\n        \"Quality Assurance\",\n        \"Real Estate\",\n        \"Research\",\n        \"Sales\",\n        \"Support\"\n      ],\n      \"default\": \"\"\n    },\n    \"openTo\": {\n      \"title\": \"Open To\",\n      \"type\": \"array\",\n      \"description\": \"Filter people by what they are open to. Select one or more options. HIRING = open to hiring, GETTING_HIRED = open to new jobs, PROVIDING_SERVICES = open to providing freelance/consulting services, JOINING_A_NONPROFIT = open to joining a nonprofit.\",\n      \"editor\": \"select\",\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"HIRING\",\n          \"GETTING_HIRED\",\n          \"PROVIDING_SERVICES\",\n          \"JOINING_A_NONPROFIT\"\n        ],\n        \"enumTitles\": [\n          \"Open to Hiring\",\n          \"Open to New Jobs\",\n          \"Open to Providing Services\",\n          \"Open to Joining a Nonprofit\"\n        ]\n      }\n    },\n    \"profileLanguages\": {\n      \"title\": \"Profile Languages\",\n      \"type\": \"array\",\n      \"description\": \"Filter by the language(s) the person's LinkedIn profile is written in. Use ISO 639-1 codes, e.g. [\\\"en\\\", \\\"es\\\", \\\"fr\\\", \\\"de\\\", \\\"zh\\\", \\\"ar\\\", \\\"pt\\\"].\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"contactOf\": {\n      \"title\": \"Contact Of (Member URN or Profile ID)\",\n      \"type\": \"string\",\n      \"description\": \"Filter to show people who are connections of the specified LinkedIn member. Provide the member's URN (e.g. 'urn:li:member:123456') or numeric profile ID.\",\n      \"editor\": \"textfield\"\n    },\n    \"talksAbout\": {\n      \"title\": \"Talks About (Keyword / Topic)\",\n      \"type\": \"string\",\n      \"description\": \"Filter to people who talk about the specified keyword or topic in their profile. This is appended to the search keywords.\",\n      \"editor\": \"textfield\"\n    },\n    \"maxResults\": {\n      \"title\": \"Max Results\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum number of profiles to return.\",\n      \"editor\": \"number\",\n      \"default\": 25,\n      \"prefill\": 25,\n      \"minimum\": 1,\n      \"maximum\": 100\n    },\n    \"proxyConfiguration\": {\n      \"title\": \"Proxy Configuration\",\n      \"type\": \"object\",\n      \"description\": \"Optional Apify proxy configuration.\",\n      \"editor\": \"proxy\"\n    }\n  }\n}",
    "readme": "# LinkedIn People Finder by Role, Seniority & Network\n\nSearch LinkedIn people search with your own session — well beyond a plain keyword box. Combine free-text search with structured filters for company, school, seniority, job function, years of experience, company size, industry, and more, and get back one row per matching profile.\n\n## What this actor does\n\n- Runs a LinkedIn people search using your own session cookie, combining a free-text query with any number of structured filters\n- Passes structured filters to LinkedIn: company, school and location IDs, industry, job function, seniority level, years of experience, employer headcount, connection degree, profile language and \"open to\" status\n- Adds free-text values (a location name, company or school names, a topic, first/last name and job title) to the search keywords, so they narrow results the way typing them into LinkedIn's search box would\n- Can narrow to people who follow a given company or are connections of a specific member, using their numeric IDs or URNs\n- Flags when a result card shows an \"Open to Work\" or Premium marker or a verified indicator\n- Fields LinkedIn doesn't expose for a given profile (for example a profile picture or mutual-connections count) are left off that record\n\n## Output per profile\n\n- `name` — the person's full name\n- `profileUrl` — their canonical LinkedIn profile URL\n- `headline` — their LinkedIn headline, as written\n- `location` — the location shown on their profile\n- `connectionDegree` — their connection degree to your account (`1st`, `2nd`, `3rd+`), when LinkedIn shows one\n- `currentCompany` — their current employer as `{name}`, plus `slug` and `url` when LinkedIn supplies a structured company link; usually derived from a headline such as \"Engineer at Acme\"\n- `currentTitle` — their current job title, usually the part of the headline before \"at …\"\n- `industryName` — the industry LinkedIn associates with the profile, when available\n- `educationCount` — how many education entries appear on their profile, when greater than zero\n- `openToWork` — true when the result shows an \"Open to Work\" marker (omitted otherwise)\n- `premium`, `premiumStatus` — true when the result shows a Premium marker (omitted otherwise)\n- `verifiedStatus` — true when the result card carries a verified indicator (omitted otherwise)\n- `profilePicture`, `profileImageUrl` — the profile photo URL, when visible to your account\n- `mutualConnections` — the mutual-connections text LinkedIn shows for that profile, when available\n- `scrapedAt` — when the actor fetched the record\n\n`industryName` and `educationCount` only come through on some result layouts, so many rows won't have them.\n\n### Cookie notice row\n\nIf the `cookie` input is empty, or LinkedIn reports the session as expired or invalid, the run doesn't fail. Instead the dataset gets a single notice row with `_status: \"no_data\"`, `_reason` (`cookie-missing` or `cookie-invalid`), `_message`, `_help` (how to export a fresh cookie) and `scrapedAt`, and no profiles. A cookie value that can't be parsed at all fails the run.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `searchQuery` | string | – | Free-text search keywords. Required. |\n| `keywords` | string | – | Extra keywords combined with `searchQuery` with a space; handy for adding modifiers without editing your main query. |\n| `cookie` | string | – | Your LinkedIn session cookie — either the `li_at` value or a full cookie JSON export. Required. |\n| `location` | string | – | Free-text location, e.g. `San Francisco Bay Area`; added to the search keywords. Use `geoUrn` for a strict location filter. |\n| `geoUrn` | string | – | A LinkedIn geo URN or numeric geo ID (e.g. `103644278` for the United States) for a strict location filter. |\n| `currentCompany` | string | – | Current employer, by name or LinkedIn company URN/ID. A URN applies a strict structured filter; a plain name is added to the search keywords. |\n| `pastCompany` | string | – | Past employer, by name or LinkedIn company URN/ID. Works like `currentCompany`: an ID applies the filter, a name is added to the keywords. |\n| `school` | string | – | School or university attended. A school URN/ID applies the school filter; a name is added to the keywords. |\n| `firstNameKeyword` | string | – | First name; sent as a first-name filter and added to the keywords. |\n| `lastNameKeyword` | string | – | Last name; sent as a last-name filter and added to the keywords. |\n| `titleKeyword` | string | – | Job title text, e.g. `Director of Engineering`; sent as a title filter and added to the keywords. |\n| `serviceCategory` | string | – | LinkedIn Services Marketplace category, e.g. `Web Development`; sent as a filter and added to the keywords. |\n| `companyHeadcount` | array | – | Employer size bucket(s), from self-employed up to 10,001+ employees. |\n| `followerOf` | string | – | Restrict to people who follow a given company. Needs a company URN or numeric ID; a plain name is ignored. |\n| `connectionDegree` | string | `\"\"` (any) | `F` (1st degree), `S` (2nd degree), or `O` (3rd+ degree). |\n| `industry` | string | `\"\"` (any) | One of 13 industries, e.g. `Software Development`, `Healthcare`. |\n| `seniorityLevel` | string | `\"\"` (any) | `Entry level`, `Associate`, `Mid-Senior level`, `Director`, or `Executive`. |\n| `yearsOfExperience` | string | `\"\"` (any) | Total professional experience bucket, from less than 1 year up to 16+ years. |\n| `jobFunction` | string | `\"\"` (any) | Department/function, e.g. `ENGINEERING`, `SALES`, `MARKETING`. |\n| `openTo` | array | – | What the person has flagged as open to: `HIRING`, `GETTING_HIRED`, `PROVIDING_SERVICES`, `JOINING_A_NONPROFIT`. |\n| `profileLanguages` | array | – | ISO 639-1 language code(s) the profile is written in, e.g. `[\"en\", \"es\"]`. |\n| `contactOf` | string | – | Restrict to connections of a specific LinkedIn member (member URN or numeric profile ID). |\n| `talksAbout` | string | – | A keyword/topic to look for on the person's profile; appended to the search keywords. |\n| `maxResults` | integer | `25` | Maximum profiles to return (1–100). |\n| `proxyConfiguration` | object | – | Optional Apify proxy configuration. |\n\n## Example: role + company + connection degree\n\n```json\n{\n  \"searchQuery\": \"product manager\",\n  \"cookie\": \"YOUR_LI_AT_COOKIE\",\n  \"currentCompany\": \"Airbnb\",\n  \"connectionDegree\": \"F\",\n  \"maxResults\": 25\n}\n```\n\n## Example: senior engineers by function, seniority, and company size\n\n```json\n{\n  \"searchQuery\": \"engineering\",\n  \"cookie\": \"YOUR_LI_AT_COOKIE\",\n  \"jobFunction\": \"ENGINEERING\",\n  \"seniorityLevel\": \"Director\",\n  \"companyHeadcount\": [\"G\", \"H\", \"I\"],\n  \"maxResults\": 50\n}\n```\n\n## Example: people open to freelance work in a given industry\n\n```json\n{\n  \"searchQuery\": \"brand designer\",\n  \"cookie\": \"YOUR_LI_AT_COOKIE\",\n  \"industry\": \"Marketing and Advertising\",\n  \"openTo\": [\"PROVIDING_SERVICES\"],\n  \"maxResults\": 30\n}\n```\n\n## Use cases\n\n- **Recruiting and sourcing** — build a candidate shortlist filtered by seniority, function, and years of experience\n- **Sales prospecting** — find decision-makers at companies of a specific size and industry\n- **Talent mapping** — see how many people with a given title work at a target company or came from a specific school\n- **Freelance/agency hiring** — search for people who've flagged themselves as `PROVIDING_SERVICES` in a niche\n- **Alumni and network outreach** — find people from a specific school or who follow your company page\n\n## FAQ\n\n**Why does this actor need a LinkedIn cookie?**\nPeople search is only available to logged-in LinkedIn users, so a valid session cookie (`li_at` or a full cookie export) is required. Without one, or with an expired one, the run returns only the cookie notice row described above.\n\n**Will my results match what I'd see searching manually?**\nClosely, but not identically — LinkedIn personalizes search results based on your account's own network, location, and plan, so the same query can return different people from different accounts.\n\n**What's the difference between `currentCompany` as a name versus a URN?**\nA company URN or numeric ID applies LinkedIn's strict structured company filter. A plain company name is instead folded into the free-text search keywords, which is usually accurate for well-known company names but less exact than a URN.\n\n**Why is `connectionDegree` sometimes missing from a result?**\nLinkedIn only shows a connection-degree badge for profiles it places in your visible network graph; some results simply don't carry one.\n\n**Why don't all profiles have a `profilePicture`?**\nSome LinkedIn users restrict their photo to connections only; the actor returns the picture URL only when the search response actually includes one.\n\n**Can I combine many filters at once?**\nYes — every filter is sent with the same search, and the more you combine, the narrower (and often smaller) the result set. LinkedIn decides how strictly each filter is honoured for your account, so spot-check results when you stack many of them.\n\n**How many profiles can I get per run?**\nUp to `maxResults`, capped at 100 per run.\n\n**Is this affiliated with LinkedIn?**\nNo. This is an independent, third-party actor that uses your own LinkedIn session to run a people search; it is not affiliated with or endorsed by LinkedIn.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "linkedin-people-finder-by-role-seniority",
      "title": "LinkedIn People Finder by Role, Seniority & Network",
      "description": "Search LinkedIn people with structured filters for company, school, seniority, job function, years of experience, industry, and connection degree, using your own LinkedIn session.",
      "version": "1.0",
      "buildTag": "latest",
      "environmentVariables": {},
      "dockerfile": "../Dockerfile",
      "defaultRunOptions": {
        "memoryMbytes": 1024
      },
      "input": {
        "title": "LinkedIn People Search Scraper Input",
        "type": "object",
        "schemaVersion": 1,
        "required": [
          "searchQuery",
          "cookie"
        ],
        "properties": {
          "searchQuery": {
            "title": "Search Query",
            "type": "string",
            "description": "Search keywords for finding people on LinkedIn. Examples: 'software engineer', 'John Smith', 'product manager Google'",
            "editor": "textfield",
            "prefill": "software engineer"
          },
          "keywords": {
            "title": "Extra Keywords",
            "type": "string",
            "description": "Optional companion to Search Query. When both are set, they are combined with a space. Use this to keep a primary role in Search Query and add modifiers (industry buzzwords, tools) here.",
            "editor": "textfield"
          },
          "cookie": {
            "title": "LinkedIn Cookie",
            "type": "string",
            "description": "Your LinkedIn session cookie. Accepts either: (1) the li_at value from browser DevTools → Application → Cookies, or (2) full cookies JSON array exported from an extension like EditThisCookie.",
            "editor": "textarea",
            "isSecret": true
          },
          "location": {
            "title": "Location Filter",
            "type": "string",
            "description": "Filter results by location (city, state, or country). Example: 'San Francisco Bay Area', 'New York', 'United Kingdom'",
            "editor": "textfield"
          },
          "currentCompany": {
            "title": "Current Company Filter",
            "type": "string",
            "description": "Filter by current company. Accepts a company name (e.g. 'Google') or a LinkedIn fsd_company URN/numeric ID. URN format produces the strict structured currentCompany filter; plain names are added to keywords.",
            "editor": "textfield"
          },
          "pastCompany": {
            "title": "Past Company Filter",
            "type": "string",
            "description": "Filter by past company. Accepts a company name or a LinkedIn fsd_company URN/numeric ID.",
            "editor": "textfield"
          },
          "school": {
            "title": "School Filter",
            "type": "string",
            "description": "Filter by school or university attended. Accepts a school name or a LinkedIn fsd_school URN/numeric ID. Example: 'Stanford University', 'MIT', or '12345'.",
            "editor": "textfield"
          },
          "firstNameKeyword": {
            "title": "First Name",
            "type": "string",
            "description": "Filter by first name token. Adds a strict firstName filter to the search.",
            "editor": "textfield"
          },
          "lastNameKeyword": {
            "title": "Last Name",
            "type": "string",
            "description": "Filter by last name token. Adds a strict lastName filter to the search.",
            "editor": "textfield"
          },
          "titleKeyword": {
            "title": "Job Title",
            "type": "string",
            "description": "Filter by current job title keyword (e.g. 'Director of Engineering', 'CTO'). Different from Industry / Job Function — this is the free-text title.",
            "editor": "textfield"
          },
          "serviceCategory": {
            "title": "Service Category",
            "type": "string",
            "description": "Filter by LinkedIn Services Marketplace category (e.g. 'Web Development', 'Marketing Strategy').",
            "editor": "textfield"
          },
          "companyHeadcount": {
            "title": "Company Headcount",
            "type": "array",
            "description": "Filter by employer company size. A=Self-employed, B=1-10, C=11-50, D=51-200, E=201-500, F=501-1,000, G=1,001-5,000, H=5,001-10,000, I=10,001+.",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H",
                "I"
              ],
              "enumTitles": [
                "Self-employed",
                "1-10 employees",
                "11-50 employees",
                "51-200 employees",
                "201-500 employees",
                "501-1,000 employees",
                "1,001-5,000 employees",
                "5,001-10,000 employees",
                "10,001+ employees"
              ]
            }
          },
          "followerOf": {
            "title": "Followers of Company",
            "type": "string",
            "description": "Filter to people who follow a specific company. Accepts an fsd_company URN or numeric company ID.",
            "editor": "textfield"
          },
          "geoUrn": {
            "title": "Location URN",
            "type": "string",
            "description": "Precise location filter using a LinkedIn geo URN or numeric geo ID (e.g. '103644278' for the United States). Use this for strict geographic filtering instead of the free-text Location field.",
            "editor": "textfield"
          },
          "connectionDegree": {
            "title": "Connection Degree",
            "type": "string",
            "description": "Filter by connection degree to your account.",
            "editor": "select",
            "enum": [
              "",
              "F",
              "S",
              "O"
            ],
            "enumTitles": [
              "Any",
              "1st degree",
              "2nd degree",
              "3rd+ degree"
            ],
            "default": ""
          },
          "industry": {
            "title": "Industry",
            "type": "string",
            "description": "Filter results by industry. Applied to both Voyager filters and the HTML search URL.",
            "editor": "select",
            "enum": [
              "",
              "Software Development",
              "Financial Services",
              "Healthcare",
              "Education",
              "Marketing and Advertising",
              "Consulting",
              "Hospitality",
              "Real Estate",
              "Manufacturing",
              "Retail",
              "Media",
              "Government Administration",
              "Non-profit Organization Management"
            ],
            "enumTitles": [
              "Any",
              "Software Development",
              "Financial Services",
              "Healthcare",
              "Education",
              "Marketing and Advertising",
              "Consulting",
              "Hospitality",
              "Real Estate",
              "Manufacturing",
              "Retail",
              "Media",
              "Government Administration",
              "Non-profit Organization Management"
            ],
            "default": ""
          },
          "seniorityLevel": {
            "title": "Seniority Level",
            "type": "string",
            "description": "Filter results by seniority level.",
            "editor": "select",
            "enum": [
              "",
              "Entry level",
              "Associate",
              "Mid-Senior level",
              "Director",
              "Executive"
            ],
            "enumTitles": [
              "Any",
              "Entry level",
              "Associate",
              "Mid-Senior level",
              "Director",
              "Executive"
            ],
            "default": ""
          },
          "yearsOfExperience": {
            "title": "Years of Experience",
            "type": "string",
            "description": "Filter results by years of total professional experience. 1=Less than 1 year, 2=1-2 years, 3=3-5 years, 4=6-10 years, 5=11-15 years, 6=16+ years.",
            "editor": "select",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6"
            ],
            "enumTitles": [
              "Any",
              "Less than 1 year",
              "1-2 years",
              "3-5 years",
              "6-10 years",
              "11-15 years",
              "16+ years"
            ],
            "default": ""
          },
          "jobFunction": {
            "title": "Job Function",
            "type": "string",
            "description": "Filter results by job function / department.",
            "editor": "select",
            "enum": [
              "",
              "ARTS_AND_DESIGN",
              "BUSINESS_DEVELOPMENT",
              "COMMUNITY_AND_SOCIAL_SERVICES",
              "CONSULTING",
              "EDUCATION",
              "ENGINEERING",
              "ENTREPRENEURSHIP",
              "FINANCE",
              "HEALTHCARE_SERVICES",
              "HUMAN_RESOURCES",
              "INFORMATION_TECHNOLOGY",
              "LEGAL",
              "MANAGEMENT",
              "MARKETING",
              "MEDIA_AND_COMMUNICATION",
              "MILITARY_AND_PROTECTIVE_SERVICES",
              "OPERATIONS",
              "PRODUCT_MANAGEMENT",
              "PROGRAM_AND_PROJECT_MANAGEMENT",
              "PURCHASING",
              "QUALITY_ASSURANCE",
              "REAL_ESTATE",
              "RESEARCH",
              "SALES",
              "SUPPORT"
            ],
            "enumTitles": [
              "Any",
              "Arts and Design",
              "Business Development",
              "Community and Social Services",
              "Consulting",
              "Education",
              "Engineering",
              "Entrepreneurship",
              "Finance",
              "Healthcare Services",
              "Human Resources",
              "Information Technology",
              "Legal",
              "Management",
              "Marketing",
              "Media and Communication",
              "Military and Protective Services",
              "Operations",
              "Product Management",
              "Program and Project Management",
              "Purchasing",
              "Quality Assurance",
              "Real Estate",
              "Research",
              "Sales",
              "Support"
            ],
            "default": ""
          },
          "openTo": {
            "title": "Open To",
            "type": "array",
            "description": "Filter people by what they are open to. Select one or more options. HIRING = open to hiring, GETTING_HIRED = open to new jobs, PROVIDING_SERVICES = open to providing freelance/consulting services, JOINING_A_NONPROFIT = open to joining a nonprofit.",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "HIRING",
                "GETTING_HIRED",
                "PROVIDING_SERVICES",
                "JOINING_A_NONPROFIT"
              ],
              "enumTitles": [
                "Open to Hiring",
                "Open to New Jobs",
                "Open to Providing Services",
                "Open to Joining a Nonprofit"
              ]
            }
          },
          "profileLanguages": {
            "title": "Profile Languages",
            "type": "array",
            "description": "Filter by the language(s) the person's LinkedIn profile is written in. Use ISO 639-1 codes, e.g. [\"en\", \"es\", \"fr\", \"de\", \"zh\", \"ar\", \"pt\"].",
            "editor": "stringList",
            "items": {
              "type": "string"
            }
          },
          "contactOf": {
            "title": "Contact Of (Member URN or Profile ID)",
            "type": "string",
            "description": "Filter to show people who are connections of the specified LinkedIn member. Provide the member's URN (e.g. 'urn:li:member:123456') or numeric profile ID.",
            "editor": "textfield"
          },
          "talksAbout": {
            "title": "Talks About (Keyword / Topic)",
            "type": "string",
            "description": "Filter to people who talk about the specified keyword or topic in their profile. This is appended to the search keywords.",
            "editor": "textfield"
          },
          "maxResults": {
            "title": "Max Results",
            "type": "integer",
            "description": "Maximum number of profiles to return.",
            "editor": "number",
            "default": 25,
            "prefill": 25,
            "minimum": 1,
            "maximum": 100
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Optional Apify proxy configuration.",
            "editor": "proxy"
          }
        }
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "LinkedIn People Finder by Role, Seniority & Network Output",
        "description": "LinkedIn profiles matching a structured people search, with name, headline, current company, seniority-related badges, and profile URL.",
        "properties": {
          "profiles": {
            "type": "string",
            "title": "LinkedIn Profiles",
            "description": "Dataset containing all scraped LinkedIn profiles from the search.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Overview",
              "transformation": {
                "fields": [
                  "name",
                  "headline",
                  "location",
                  "connectionDegree",
                  "profileUrl",
                  "scrapedAt"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "name": {
                    "label": "Name",
                    "format": "text"
                  },
                  "headline": {
                    "label": "Headline",
                    "format": "text"
                  },
                  "location": {
                    "label": "Location",
                    "format": "text"
                  },
                  "connectionDegree": {
                    "label": "Connection",
                    "format": "text"
                  },
                  "profileUrl": {
                    "label": "Profile URL",
                    "format": "link"
                  },
                  "scrapedAt": {
                    "label": "Scraped At",
                    "format": "text"
                  }
                }
              }
            }
          }
        }
      },
      "readme": "# LinkedIn People Finder by Role, Seniority & Network\n\nSearch LinkedIn people search with your own session — well beyond a plain keyword box. Combine free-text search with structured filters for company, school, seniority, job function, years of experience, company size, industry, and more, and get back one row per matching profile.\n\n## What this actor does\n\n- Runs a LinkedIn people search using your own session cookie, combining a free-text query with any number of structured filters\n- Passes structured filters to LinkedIn: company, school and location IDs, industry, job function, seniority level, years of experience, employer headcount, connection degree, profile language and \"open to\" status\n- Adds free-text values (a location name, company or school names, a topic, first/last name and job title) to the search keywords, so they narrow results the way typing them into LinkedIn's search box would\n- Can narrow to people who follow a given company or are connections of a specific member, using their numeric IDs or URNs\n- Flags when a result card shows an \"Open to Work\" or Premium marker or a verified indicator\n- Fields LinkedIn doesn't expose for a given profile (for example a profile picture or mutual-connections count) are left off that record\n\n## Output per profile\n\n- `name` — the person's full name\n- `profileUrl` — their canonical LinkedIn profile URL\n- `headline` — their LinkedIn headline, as written\n- `location` — the location shown on their profile\n- `connectionDegree` — their connection degree to your account (`1st`, `2nd`, `3rd+`), when LinkedIn shows one\n- `currentCompany` — their current employer as `{name}`, plus `slug` and `url` when LinkedIn supplies a structured company link; usually derived from a headline such as \"Engineer at Acme\"\n- `currentTitle` — their current job title, usually the part of the headline before \"at …\"\n- `industryName` — the industry LinkedIn associates with the profile, when available\n- `educationCount` — how many education entries appear on their profile, when greater than zero\n- `openToWork` — true when the result shows an \"Open to Work\" marker (omitted otherwise)\n- `premium`, `premiumStatus` — true when the result shows a Premium marker (omitted otherwise)\n- `verifiedStatus` — true when the result card carries a verified indicator (omitted otherwise)\n- `profilePicture`, `profileImageUrl` — the profile photo URL, when visible to your account\n- `mutualConnections` — the mutual-connections text LinkedIn shows for that profile, when available\n- `scrapedAt` — when the actor fetched the record\n\n`industryName` and `educationCount` only come through on some result layouts, so many rows won't have them.\n\n### Cookie notice row\n\nIf the `cookie` input is empty, or LinkedIn reports the session as expired or invalid, the run doesn't fail. Instead the dataset gets a single notice row with `_status: \"no_data\"`, `_reason` (`cookie-missing` or `cookie-invalid`), `_message`, `_help` (how to export a fresh cookie) and `scrapedAt`, and no profiles. A cookie value that can't be parsed at all fails the run.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `searchQuery` | string | – | Free-text search keywords. Required. |\n| `keywords` | string | – | Extra keywords combined with `searchQuery` with a space; handy for adding modifiers without editing your main query. |\n| `cookie` | string | – | Your LinkedIn session cookie — either the `li_at` value or a full cookie JSON export. Required. |\n| `location` | string | – | Free-text location, e.g. `San Francisco Bay Area`; added to the search keywords. Use `geoUrn` for a strict location filter. |\n| `geoUrn` | string | – | A LinkedIn geo URN or numeric geo ID (e.g. `103644278` for the United States) for a strict location filter. |\n| `currentCompany` | string | – | Current employer, by name or LinkedIn company URN/ID. A URN applies a strict structured filter; a plain name is added to the search keywords. |\n| `pastCompany` | string | – | Past employer, by name or LinkedIn company URN/ID. Works like `currentCompany`: an ID applies the filter, a name is added to the keywords. |\n| `school` | string | – | School or university attended. A school URN/ID applies the school filter; a name is added to the keywords. |\n| `firstNameKeyword` | string | – | First name; sent as a first-name filter and added to the keywords. |\n| `lastNameKeyword` | string | – | Last name; sent as a last-name filter and added to the keywords. |\n| `titleKeyword` | string | – | Job title text, e.g. `Director of Engineering`; sent as a title filter and added to the keywords. |\n| `serviceCategory` | string | – | LinkedIn Services Marketplace category, e.g. `Web Development`; sent as a filter and added to the keywords. |\n| `companyHeadcount` | array | – | Employer size bucket(s), from self-employed up to 10,001+ employees. |\n| `followerOf` | string | – | Restrict to people who follow a given company. Needs a company URN or numeric ID; a plain name is ignored. |\n| `connectionDegree` | string | `\"\"` (any) | `F` (1st degree), `S` (2nd degree), or `O` (3rd+ degree). |\n| `industry` | string | `\"\"` (any) | One of 13 industries, e.g. `Software Development`, `Healthcare`. |\n| `seniorityLevel` | string | `\"\"` (any) | `Entry level`, `Associate`, `Mid-Senior level`, `Director`, or `Executive`. |\n| `yearsOfExperience` | string | `\"\"` (any) | Total professional experience bucket, from less than 1 year up to 16+ years. |\n| `jobFunction` | string | `\"\"` (any) | Department/function, e.g. `ENGINEERING`, `SALES`, `MARKETING`. |\n| `openTo` | array | – | What the person has flagged as open to: `HIRING`, `GETTING_HIRED`, `PROVIDING_SERVICES`, `JOINING_A_NONPROFIT`. |\n| `profileLanguages` | array | – | ISO 639-1 language code(s) the profile is written in, e.g. `[\"en\", \"es\"]`. |\n| `contactOf` | string | – | Restrict to connections of a specific LinkedIn member (member URN or numeric profile ID). |\n| `talksAbout` | string | – | A keyword/topic to look for on the person's profile; appended to the search keywords. |\n| `maxResults` | integer | `25` | Maximum profiles to return (1–100). |\n| `proxyConfiguration` | object | – | Optional Apify proxy configuration. |\n\n## Example: role + company + connection degree\n\n```json\n{\n  \"searchQuery\": \"product manager\",\n  \"cookie\": \"YOUR_LI_AT_COOKIE\",\n  \"currentCompany\": \"Airbnb\",\n  \"connectionDegree\": \"F\",\n  \"maxResults\": 25\n}\n```\n\n## Example: senior engineers by function, seniority, and company size\n\n```json\n{\n  \"searchQuery\": \"engineering\",\n  \"cookie\": \"YOUR_LI_AT_COOKIE\",\n  \"jobFunction\": \"ENGINEERING\",\n  \"seniorityLevel\": \"Director\",\n  \"companyHeadcount\": [\"G\", \"H\", \"I\"],\n  \"maxResults\": 50\n}\n```\n\n## Example: people open to freelance work in a given industry\n\n```json\n{\n  \"searchQuery\": \"brand designer\",\n  \"cookie\": \"YOUR_LI_AT_COOKIE\",\n  \"industry\": \"Marketing and Advertising\",\n  \"openTo\": [\"PROVIDING_SERVICES\"],\n  \"maxResults\": 30\n}\n```\n\n## Use cases\n\n- **Recruiting and sourcing** — build a candidate shortlist filtered by seniority, function, and years of experience\n- **Sales prospecting** — find decision-makers at companies of a specific size and industry\n- **Talent mapping** — see how many people with a given title work at a target company or came from a specific school\n- **Freelance/agency hiring** — search for people who've flagged themselves as `PROVIDING_SERVICES` in a niche\n- **Alumni and network outreach** — find people from a specific school or who follow your company page\n\n## FAQ\n\n**Why does this actor need a LinkedIn cookie?**\nPeople search is only available to logged-in LinkedIn users, so a valid session cookie (`li_at` or a full cookie export) is required. Without one, or with an expired one, the run returns only the cookie notice row described above.\n\n**Will my results match what I'd see searching manually?**\nClosely, but not identically — LinkedIn personalizes search results based on your account's own network, location, and plan, so the same query can return different people from different accounts.\n\n**What's the difference between `currentCompany` as a name versus a URN?**\nA company URN or numeric ID applies LinkedIn's strict structured company filter. A plain company name is instead folded into the free-text search keywords, which is usually accurate for well-known company names but less exact than a URN.\n\n**Why is `connectionDegree` sometimes missing from a result?**\nLinkedIn only shows a connection-degree badge for profiles it places in your visible network graph; some results simply don't carry one.\n\n**Why don't all profiles have a `profilePicture`?**\nSome LinkedIn users restrict their photo to connections only; the actor returns the picture URL only when the search response actually includes one.\n\n**Can I combine many filters at once?**\nYes — every filter is sent with the same search, and the more you combine, the narrower (and often smaller) the result set. LinkedIn decides how strictly each filter is honoured for your account, so spot-check results when you stack many of them.\n\n**How many profiles can I get per run?**\nUp to `maxResults`, capped at 100 per run.\n\n**Is this affiliated with LinkedIn?**\nNo. This is an independent, third-party actor that uses your own LinkedIn session to run a people search; it is not affiliated with or endorsed by LinkedIn.\n"
    },
    "buildNumber": "1.0.1",
    "imageDigest": "68aac555b082b95cca9030071219eb7ada65949cc0d5ed2bd5a0ce5c94d33749",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.05089222222222222
    }
  }
}