# LinkedIn Talent Flow Mapper (`data-slayer/linkedin-talent-flow-mapper`) Actor

See where a company's talent comes from and where it goes. Enter a LinkedIn company URL; the Actor reads recent job-change events — who joined, who left, who was promoted — and maps feeder companies, destination companies, notable movers, and net flow. No cookies, no login.

- **URL**: https://apify.com/data-slayer/linkedin-talent-flow-mapper.md
- **Developed by:** [Data Slayer](https://apify.com/data-slayer) (community)
- **Categories:** Lead generation, Social media, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $40.00 / 1,000 flow rows

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## LinkedIn Talent Flow Mapper

See where a company's talent comes from — and where it goes.

### Watch the demo

YouTube video coming soon.

### What this Actor does

Enter one LinkedIn company URL. The Actor reads recent **job-change events** for that company — people who joined, people who left, and people promoted — then resolves each mover's counterparty company and returns a flow map:

- **Feeder companies** — where the new hires came from.
- **Destination companies** — where the leavers went.
- **Notable movers** — the individual moves, most recent first.
- **Net flow** — joined minus left over the window.

It uses public data only, requires no cookies and no login, and does not invent a company that was never on a profile.

### Input

| Field | Type | Required | Description |
|---|---|---|---|
| `company_url` | string | Yes | LinkedIn company page URL or slug (e.g. `https://www.linkedin.com/company/globex` or `globex`) |
| `days_ago` | integer | No | Look-back window for job-change events, 1–365 (default `90`) |
| `max_people` | integer | No | Hard cap on movers whose counterparty company is resolved — the main cost control, 1–100 (default `25`) |
| `max_pages` | integer | No | How many event pages to read, up to 50 events per page, 1–10 (default `3`) |

Example:

```json
{
  "company_url": "https://www.linkedin.com/company/globex",
  "days_ago": 90,
  "max_people": 25,
  "max_pages": 3
}
```

### How to use it

1. Paste the LinkedIn company URL (or just the slug).
2. Set how far back to look and how many movers to resolve.
3. Click **Start**.
4. Read the feeder/destination companies and the individual movers.

### Output

One row per flow insight:

```json
{
  "schemaVersion": "1.0",
  "checkedAt": "2026-09-25T10:00:00+00:00",
  "companyUrl": "https://www.linkedin.com/company/globex",
  "companyName": "Globex",
  "companyIndustry": "Software Development",
  "companyHeadcount": 850,
  "peopleSampled": 18,
  "insightType": "feeder_company",
  "counterpartyCompany": "Acme Corp",
  "counterpartyCompanyUrl": "https://www.linkedin.com/company/acme-corp",
  "peopleCount": 4,
  "share": 0.2222,
  "personName": "",
  "personProfileUrl": "",
  "previousTitle": "",
  "newTitle": "",
  "transitionedOn": "",
  "collectedAt": "2026-09-25T10:00:00+00:00"
}
```

`insightType` is one of `feeder_company`, `destination_company`, `notable_mover`, or `net_flow`.

The `OUTPUT` key-value-store record reports events, joined/left/title-change counts, movers enriched, and rows written.

### Pricing

| Event | Price |
|---|---|
| Actor start | $0.05 |
| Flow row | $0.04 |

You pay per insight row returned. A typical run over one company produces 10–40 rows.

### Common uses

- **Competitive intelligence** — see where a rival is hiring from and losing people to.
- **Recruiting** — target the feeder companies that supply a role you need.
- **Retention risk** — watch where your own people go.
- **Market mapping** — find the talent hubs around a category.

### Limits

- Events cover public, tracked companies; a company we do not track returns no events.
- Feeder/destination companies come from each mover's public experience, so they are resolved only for the movers within your `max_people` cap.
- Title changes are reported as events; they do not add a feeder or destination company.
- Detection lag varies — a change can surface later than it happened.

### Automation

Run from the Apify API, schedules, or webhooks. Download the same dataset as JSON, CSV, or Excel.

### Feedback and support

Use the Actor's Issues tab for reproducible problems. Include the affected company URL, but do not include credentials.

### Related actors

More from the same portfolio. Apify only auto-recommends actors in the same category, so here are the rest of ours:

| Actor | What it does |
|---|---|
| [LinkedIn Account Intent Feed](https://apify.com/data-slayer/linkedin-account-intent-feed) | LinkedIn workflow |
| [LinkedIn Buying-Committee Mapper](https://apify.com/data-slayer/linkedin-buying-committee-mapper) | LinkedIn workflow |
| [LinkedIn Champion Tracker](https://apify.com/data-slayer/linkedin-champion-job-change-tracker) | LinkedIn workflow |
| [LinkedIn Company Employees](https://apify.com/data-slayer/linkedin-company-employees) | LinkedIn workflow |
| [LinkedIn Company Posts Scraper](https://apify.com/data-slayer/linkedin-company-posts-scraper) | LinkedIn workflow |
| [LinkedIn Company Scraper](https://apify.com/data-slayer/linkedin-company-scraper) | LinkedIn workflow |
| [LinkedIn Company Search (ICP)](https://apify.com/data-slayer/linkedin-company-search) | LinkedIn workflow |
| [LinkedIn Competitor Content Intelligence](https://apify.com/data-slayer/linkedin-competitor-content-intelligence) | LinkedIn workflow |
| [LinkedIn Competitor Hijack Leads](https://apify.com/data-slayer/linkedin-competitor-hijack-leads) | LinkedIn workflow |
| [LinkedIn Engagement Audience Builder](https://apify.com/data-slayer/linkedin-engagement-audience-builder) | LinkedIn workflow |
| [LinkedIn Executive Post Monitor](https://apify.com/data-slayer/linkedin-executive-post-monitor) | LinkedIn workflow |
| [LinkedIn Hiring Pulse](https://apify.com/data-slayer/linkedin-hiring-pulse) | LinkedIn workflow |
| [LinkedIn Job Change Tracker](https://apify.com/data-slayer/linkedin-job-change-tracker) | LinkedIn workflow |
| [LinkedIn Job Scraper](https://apify.com/data-slayer/linkedin-job-scraper) | LinkedIn workflow |
| [LinkedIn Market Map Builder](https://apify.com/data-slayer/linkedin-market-map-builder) | LinkedIn workflow |
| [LinkedIn People Search (ICP)](https://apify.com/data-slayer/linkedin-people-search) | LinkedIn workflow |
| [LinkedIn Post Comments](https://apify.com/data-slayer/linkedin-post-comments) | LinkedIn workflow |
| [LinkedIn Post Engagers Scraper](https://apify.com/data-slayer/linkedin-post-engagers-email-finder-no-cookies) | LinkedIn workflow |
| [LinkedIn Post Performance Scraper](https://apify.com/data-slayer/linkedin-post-analytics-scraper) | LinkedIn workflow |
| [LinkedIn Post Reactions](https://apify.com/data-slayer/linkedin-post-reactions) | LinkedIn workflow |
| [LinkedIn Post Reposts](https://apify.com/data-slayer/linkedin-post-reposts) | LinkedIn workflow |
| [LinkedIn Profile Comments](https://apify.com/data-slayer/linkedin-profile-comments) | LinkedIn workflow |
| [LinkedIn Profile Engagers Scraper](https://apify.com/data-slayer/linkedin-audience-email-finder-no-cookies) | LinkedIn workflow |
| [LinkedIn Profile Posts Scraper](https://apify.com/data-slayer/linkedin-profile-posts-scraper) | LinkedIn workflow |
| [LinkedIn Profile Reactions](https://apify.com/data-slayer/linkedin-profile-reactions) | LinkedIn workflow |
| [LinkedIn Profile Scraper · Fresh · No Cookies](https://apify.com/data-slayer/linkedin-profile-scraper) | LinkedIn workflow |
| [LinkedIn Skill Mapper](https://apify.com/data-slayer/linkedin-skill-mapper) | LinkedIn workflow |
| [LinkedIn Talent Mapper](https://apify.com/data-slayer/linkedin-talent-mapper) | LinkedIn workflow |
| [LinkedIn Warm Path Finder](https://apify.com/data-slayer/linkedin-warm-path-finder) | LinkedIn workflow |
| [LinkedIn Why-Now Account Brief](https://apify.com/data-slayer/linkedin-why-now-account-brief) | LinkedIn workflow |

### FAQ

**How much does it cost to run this Actor?**
Pricing is listed in the Pricing section above, charged per row returned. You only pay for the rows
the Actor actually produces, so a small test run costs cents.

**Do I need cookies or a LinkedIn login?**
No. This Actor reads public data only - no cookies, no account, no browser automation.

**Can I schedule it?**
Yes. Run it from the Apify API, on a schedule, or via a webhook, and export results as JSON, CSV or Excel.

**What if I need a slightly different output?**
Open an issue on the Actor's Issues tab describing the shape you need.

# Actor input Schema

## `company_url` (type: `string`):

LinkedIn company page URL or slug (e.g. https://www.linkedin.com/company/globex or globex).

## `days_ago` (type: `integer`):

How far back to look for job-change events, in days. 1–365.

## `max_people` (type: `integer`):

Hard cap on how many movers get their previous/next employer resolved. The main runtime and cost control. 1–100.

## `max_pages` (type: `integer`):

How many pages of job-change events to read (up to 50 events per page). 1–10.

## Actor input object example

```json
{
  "company_url": "https://www.linkedin.com/company/example",
  "days_ago": 90,
  "max_people": 25,
  "max_pages": 3
}
```

# Actor output Schema

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

Dataset rows with talent-flow fields

## `run_summary` (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 = {
    "company_url": "https://www.linkedin.com/company/example"
};

// Run the Actor and wait for it to finish
const run = await client.actor("data-slayer/linkedin-talent-flow-mapper").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 = { "company_url": "https://www.linkedin.com/company/example" }

# Run the Actor and wait for it to finish
run = client.actor("data-slayer/linkedin-talent-flow-mapper").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 '{
  "company_url": "https://www.linkedin.com/company/example"
}' |
apify call data-slayer/linkedin-talent-flow-mapper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,data-slayer/linkedin-talent-flow-mapper"
        }
    }
}
```

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/SD9JnKjBo2zXcVXJ5/builds/4S1y3GOMjcq3zbsab/openapi.json
