{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Company Employees Scraper & Email Finder — No Login",
    "description": "Find a company's employees on LinkedIn without login. Pass company names or URLs, filter by title & seniority, and get verified profiles — name, current title, location, profile URL — plus an optional email finder. Each match is confirmed against its public result, not a SERP guess.",
    "version": "0.0",
    "x-build-id": "L8RN7F835Bb2wTf3S"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~linkedin-company-employees-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-linkedin-company-employees-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/memo23~linkedin-company-employees-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-linkedin-company-employees-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/memo23~linkedin-company-employees-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-linkedin-company-employees-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": {
          "companies": {
            "title": "Companies (names or LinkedIn URLs)",
            "type": "array",
            "description": "One company per line — a plain name (e.g. \"OpenAI\") or a LinkedIn company URL (e.g. https://www.linkedin.com/company/openai/). Names and URLs can be mixed.",
            "items": {
              "type": "string"
            }
          },
          "targetTitles": {
            "title": "Target titles (ICP)",
            "type": "array",
            "description": "Job titles to target, one per line (e.g. CEO, Head of Sales, Gerente General). Leave empty to use a built-in English/Spanish decision-maker set (CEO, CTO, Founder, Owner, Director, Presidente, Dueño…). For runs of more than 50 companies the built-in set is skipped unless you set titles here.",
            "items": {
              "type": "string"
            }
          },
          "seniorityFilter": {
            "title": "Seniority level",
            "type": "array",
            "description": "Optional seniority buckets to expand into titles. Combined with Target titles. Unknown values are ignored.",
            "items": {
              "type": "string",
              "enum": [
                "owner",
                "partner",
                "cxo",
                "vp",
                "director",
                "manager",
                "senior",
                "entry",
                "training",
                "unpaid"
              ],
              "enumTitles": [
                "Owner",
                "Partner",
                "CxO (CEO/CTO/CFO…)",
                "VP",
                "Director",
                "Manager",
                "Senior",
                "Entry",
                "Training / Intern",
                "Unpaid / Volunteer"
              ]
            },
            "default": []
          },
          "location": {
            "title": "Location filter",
            "type": "string",
            "description": "Optional location hint added to discovery (e.g. \"San Francisco\", \"United States\", \"Germany\"). Improves relevance; leave empty for all locations."
          },
          "maxItems": {
            "title": "Max employees per company",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of employees to return per company. Keep this bounded to control cost and avoid over-broad results.",
            "default": 50
          },
          "verifyProfiles": {
            "title": "Verify profiles (confirm employer & title)",
            "type": "boolean",
            "description": "Recommended. Confirms each discovered profile from its own public web result — reads the current employer, title and location, cross-checks the employer against the target company, and sets a confidence of high / medium / low. This is what turns raw SERP guesses into confirmed current employees. No extra requests and no login.",
            "default": true
          },
          "enrichEmails": {
            "title": "Find contact email (experimental)",
            "type": "boolean",
            "description": "If enabled, finds one contact email per company (from its website or by name discovery) and adds contactEmail + contactWebsite columns plus a detailed emailEnrichment object. Best-effort.",
            "default": false
          },
          "findPersonalEmails": {
            "title": "Find each person's own email",
            "type": "boolean",
            "description": "Look up the individual's own email address from their LinkedIn profile, not just one shared contact address for the company. Adds personalEmail, personalEmailScore and personalEmailVerified to every row where an address was actually found. Rows with a personal address bill at the top tier; a profile with no address found costs no extra. Off by default.",
            "default": false
          },
          "deepVerify": {
            "title": "Deep verify (fetch each public profile page)",
            "type": "boolean",
            "description": "Advanced / best-effort. In addition to snippet verification, fetches each profile's public LinkedIn page to re-confirm employer and title. LinkedIn heavily gates these pages, so this is slow and often falls back to the snippet result — leave off unless you specifically need it.",
            "default": false
          },
          "googlePages": {
            "title": "Discovery pages per company × title",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many Google result pages (10 results each) to fetch per company and target title. More pages = more candidates but higher cost. Default 3, max 10.",
            "default": 3
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum concurrent requests. Lower = gentler and steadier; higher = faster but more likely to hit rate limits.",
            "default": 10
          },
          "startUrls": {
            "title": "Start URLs (advanced — LinkedIn company URLs)",
            "type": "array",
            "description": "Optional. LinkedIn company URLs to include, in addition to (or instead of) Companies. Useful for request lists / Google Sheets sources.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "cookies": {
            "title": "Cookies (optional — enables authoritative mode)",
            "type": "array",
            "description": "<p><b>Optional.</b> Leave empty for cookie-free discovery mode (no login). <b>Provide cookies</b> for authoritative LinkedIn-API mode (full company roster + richer data). Install <a rel=\"noopener noreferrer nofollow\" target=\"_blank\" href=\"https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg\">EditThisCookie</a>, log into LinkedIn, export cookies, and paste them here. The minimum required are <code>li_at</code> and <code>JSESSIONID</code>.</p>"
          },
          "sdoKey": {
            "title": "scrape.do token (optional override)",
            "type": "string",
            "description": "Advanced. Bring-your-own scrape.do token used to fetch Google results and public profiles. Leave blank to use the built-in token."
          },
          "proxy": {
            "title": "Proxy configuration (optional override)",
            "type": "object",
            "description": "Leave empty — the actor already routes traffic through its own residential proxy at no extra cost to you. Only set this to use your own proxies."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}