# LinkedIn Sales Leadership Jobs Scraper (`neuton/linkedin-sales-leadership-hiring-intelligence`) Actor

Track public LinkedIn VP Sales, Head of Sales, Sales Director, and CRO jobs without login. Export evidence-backed revenue-leadership hiring signals.

- **URL**: https://apify.com/neuton/linkedin-sales-leadership-hiring-intelligence.md
- **Developed by:** [Neuton Scripts](https://apify.com/neuton) (community)
- **Categories:** Jobs, Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$18.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## LinkedIn Sales Leadership Jobs Scraper

Track public LinkedIn VP Sales, Head of Sales, Sales Director, and CRO jobs without login. Export evidence-backed revenue-leadership hiring signals. Built for revenue recruiters, sales-technology vendors, investors, and account-intelligence teams.

### What you get

- Public job ID, title, company, location, posting date, and canonical LinkedIn job URL
- Public description, criteria, compensation text, and apply URL when LinkedIn exposes them
- `classification`, `evidenceField`, and `evidenceText` on every returned row
- HTTP-only 256 MB runtime with bounded retries and safe limits
- JSON, CSV, Excel, API, webhook, Task, and MCP-ready output

### Use cases

- Build focused recruiting and talent-research feeds for revenue recruiters, sales-technology vendors, investors, and account-intelligence teams
- Monitor public demand by role and location without collecting private profiles
- Add evidence-backed LinkedIn job intelligence to sales, research, and AI-agent workflows

### Choose this Actor when

Use this Actor when the classification itself saves work: every paid row already includes the public wording that supports the result. If you only need a large unfiltered list of job cards, start with [LinkedIn Jobs Search Scraper](https://apify.com/neuton/linkedin-jobs-search-scraper). If you already have job IDs or URLs, use [LinkedIn Job Details Scraper](https://apify.com/neuton/linkedin-job-details-scraper).

### Run a bounded starter Task

[Open the workflow-specific starter Task](https://apify.com/neuton/linkedin-sales-leadership-hiring-intelligence/examples/sample-li-sales-leadership-hiring-us-vp-sales?utm_source=apify_store\&utm_medium=actor_readme\&utm_campaign=linkedin_activation\&utm_content=primary_task) to inspect a small, editable input before running. Keep the first run bounded, then review the evidence fields and `RUN_SUMMARY` before increasing limits or scheduling it.

### Example input

```json
{
  "queries": [
    "vice president sales"
  ],
  "locations": [
    "United States"
  ],
  "datePosted": "",
  "maxResultsPerQuery": 25
}
```

### Current LinkedIn search behavior

No LinkedIn account or cookies are required. The Actor uses public guest job-search and job-detail pages. LinkedIn controls search ranking and may interpret query wording, so treat the query and location as discovery inputs rather than guaranteed strict filters. Neuton writes a paid row only after the returned posting contains direct evidence for this Actor's classification.

For recurring research, prefer a scheduled Task with 25-50 inspected jobs per query/location pair. Smaller frequent runs are easier to audit and usually produce fresher evidence than occasional deep searches.

### First run checklist

1. Keep the default 25-job inspection limit and one query/location pair.
2. Open the Dataset and verify `classification`, `evidenceField`, `evidenceText`, and `jobUrl` on each result.
3. Open the `RUN_SUMMARY` key-value record to compare jobs scanned, rows saved, billable rows, successful search requests, and failed requests.
4. Expand the limit or save the input as a scheduled Task only after the evidence matches your workflow.

### Evidence and billing

The Actor returns a row only when the public title, job criteria, location, compensation, or description directly supports the classification. It never guesses sponsorship, seniority, job type, or hiring intent. Diagnostics, incomplete fetches, duplicates, unsupported classifications, and empty results are never billed.

`RUN_SUMMARY` records `completed`, `partial`, `catastrophicSearchFailure`, `rowsScanned`, `rowsSaved`, `billableRows`, `searchRequestsSucceeded`, and failed-request diagnostics outside the Dataset. `diagnosticsAreBillable` is always `false`.

### Troubleshooting the first run

- `completed=true` with zero Dataset rows means the public search worked but no inspected posting contained this Actor's required evidence. Broaden the role or location; the empty result is free.
- `partial=true` means at least one search or detail request failed after other requests succeeded. Complete evidence-backed Dataset rows remain usable; failed requests and diagnostics are free.
- `catastrophicSearchFailure=true` means every public search request failed. The run fails after saving the free summary and writes zero billable rows. Retry later rather than increasing the result limit.
- A blank external application destination falls back to the canonical public `jobUrl`, so every paid row still has a usable source link.

### Automation and AI agents

Save common searches as Apify Tasks, schedule recurring runs, send results to a webhook, or call this Actor from ChatGPT, Claude, the Neuton Actors MCP server, n8n, Make, Zapier, Clay, a CRM, or a data warehouse. Deduplicate on `jobId` between runs.

Hosted Apify MCP endpoint: `https://mcp.apify.com/?tools=neuton/linkedin-sales-leadership-hiring-intelligence`

### Explore the LinkedIn data family

- [LinkedIn Jobs Search Scraper](https://apify.com/neuton/linkedin-jobs-search-scraper) for broad discovery by role and location
- [LinkedIn Job Details Scraper](https://apify.com/neuton/linkedin-job-details-scraper) for complete records from job IDs or URLs
- [LinkedIn Company Hiring Signals](https://apify.com/neuton/linkedin-company-hiring-signals) for evidence-backed company aggregates
- [LinkedIn Remote Jobs Intelligence](https://apify.com/neuton/linkedin-remote-jobs-intelligence) for verified remote opportunities
- [LinkedIn Salary Jobs Intelligence](https://apify.com/neuton/linkedin-salary-jobs-intelligence) for compensation-bearing postings

### SEO keywords

LinkedIn jobs scraper, LinkedIn jobs API, LinkedIn recruiting data, LinkedIn hiring intelligence, evidence-backed job data, talent market research, recruiting automation, LinkedIn job monitoring, Apify LinkedIn Actor, AI recruiting agent.

### Pricing

Launch PPE price: $18.00 per 1,000 complete evidence-backed results, or $1.80 for 100. The paid unit is a classified, source-backed result with its evidence and canonical job URL, not an unfiltered search card. Diagnostics, duplicates, incomplete fetches, unsupported classifications, and empty searches remain free.

### Responsible use

This Actor processes public job-posting information. Do not use it for spam, unlawful discrimination, automated applications, private-profile collection, access-control bypass, or excessive requests. Review LinkedIn's current terms and applicable employment, immigration, and privacy laws before production use. Sponsorship output records public wording and is not legal or immigration advice.

# Actor input Schema

## `queries` (type: `array`):

LinkedIn public-job keywords to inspect. Up to 5 per run.

## `locations` (type: `array`):

Location text such as United States, London, or Bengaluru. Up to 5 per run.

## `datePosted` (type: `string`):

Optional public LinkedIn freshness window. Leave at All dates when relevance matters more than recency.

## `maxResultsPerQuery` (type: `integer`):

Maximum public jobs inspected for each query and location pair.

## `maxItems` (type: `integer`):

Stop after this many evidence-backed rows are saved.

## Actor input object example

```json
{
  "queries": [
    "vice president sales"
  ],
  "locations": [
    "United States"
  ],
  "datePosted": "",
  "maxResultsPerQuery": 25,
  "maxItems": 25
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("neuton/linkedin-sales-leadership-hiring-intelligence").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("neuton/linkedin-sales-leadership-hiring-intelligence").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call neuton/linkedin-sales-leadership-hiring-intelligence --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,neuton/linkedin-sales-leadership-hiring-intelligence"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/hGpDFdCy4HlJTsbDz/builds/aSjszR6JhbeQtc04f/openapi.json
