# LinkedIn Champion Tracker (`data-slayer/linkedin-champion-job-change-tracker`) Actor

Track your champions and closed-lost contacts and get alerted when they change jobs. Enter LinkedIn profile URLs; the Actor stores a baseline and returns only the movers — their old and new role, the new employer's firmographics, and a re-engagement score. No cookies, no login.

- **URL**: https://apify.com/data-slayer/linkedin-champion-job-change-tracker.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 $50.00 / 1,000 mover founds

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 Champion Tracker

Track your champions and closed-lost contacts, and get alerted the moment they change jobs — so you can re-engage them at their new company while the memory of you is still warm.

### Watch the demo

YouTube video coming soon.

### What this Actor does

Give it a list of LinkedIn profile URLs — your past champions, closed-won power users, or closed-lost contacts. The Actor stores a baseline of each person's current employer, then on later runs returns **only the movers**: the people who changed company since last time.

Each mover row carries the previous role and company, the new role and company, the new employer's industry and headcount, the move date, and a 0–100 re-engagement priority score.

It requires no cookies and no login, and never returns a person who has not moved.

### Input

| Field | Type | Required | Description |
|---|---|---|---|
| `profile_urls` | string\[] | Yes | LinkedIn profile URLs of the champions / closed-lost contacts to monitor |
| `state_key` | string | No | Namespaces the stored baseline. Use one key per list so separate lists don't overwrite each other (default `default`) |
| `include_company_enrichment` | boolean | No | Add the mover's new employer industry and headcount (default `true`) |

Example:

```json
{
  "profile_urls": [
    "https://www.linkedin.com/in/example-champion-1",
    "https://www.linkedin.com/in/example-champion-2"
  ],
  "state_key": "closed-won-2026",
  "include_company_enrichment": true
}
```

### How to use it

1. Paste the LinkedIn profile URLs of the people you want to monitor.
2. Set a `state_key` for this list (e.g. `closed-won-q3`).
3. Click **Start**. The first run stores the baseline and returns no movers.
4. Schedule it (weekly or monthly). Each later run returns only the people who moved.

### Output

One row per mover:

```json
{
  "schemaVersion": "1.0",
  "checkedAt": "2026-09-25T10:00:00+00:00",
  "stateKey": "closed-won-2026",
  "profileUrl": "https://www.linkedin.com/in/example-champion-1",
  "fullName": "Example Champion",
  "headline": "VP Marketing",
  "previousTitle": "Director of Marketing",
  "previousCompany": "Acme Corp",
  "previousCompanyUrl": "https://www.linkedin.com/company/acme-corp",
  "newTitle": "VP Marketing",
  "newCompany": "Globex",
  "newCompanyUrl": "https://www.linkedin.com/company/globex",
  "newCompanyIndustry": "Software Development",
  "newCompanyHeadcount": 850,
  "movedOn": "2026-08-01",
  "priorityScore": 90,
  "source": "snapshot_diff",
  "collectedAt": "2026-09-25T10:00:00+00:00"
}
```

The `OUTPUT` key-value-store record reports profiles checked, profiles resolved, movers found, failures, and whether the run only stored a baseline.

### Pricing

| Event | Price |
|---|---|
| Actor start | $0.02 |
| Profile checked | $0.005 |
| Mover found | $0.05 |

You pay a small amount to check each profile, plus a premium only when a real mover is found. Checking 100 champions costs about $0.52, and each mover adds $0.05.

### Common uses

- **Re-engagement** — reach a former champion within days of a job change, when a re-purchase is most likely.
- **Closed-lost revival** — a contact who said no at Acme may say yes at Globex.
- **Champion-led expansion** — follow your power users into their next company.

### Limits

- Results include public profiles only; a private or removed profile cannot be resolved.
- A first run for a new `state_key` stores the baseline and returns no movers by design.
- Move dates and firmographics are point-in-time observations.
- The Actor returns public profile data only; no contact details are included.

### 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 public profile 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 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 Flow Mapper](https://apify.com/data-slayer/linkedin-talent-flow-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

## `profile_urls` (type: `array`):

LinkedIn profile URLs of the champions / closed-lost contacts to monitor for job changes.

## `state_key` (type: `string`):

Namespaces the stored baseline snapshot. Use one key per list of champions so separate lists never overwrite each other.

## `include_company_enrichment` (type: `boolean`):

Add the mover's new employer industry and headcount to the row.

## Actor input object example

```json
{
  "profile_urls": [
    "https://www.linkedin.com/in/example-champion"
  ],
  "state_key": "default",
  "include_company_enrichment": true
}
```

# Actor output Schema

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

Dataset rows with mover 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 = {
    "profile_urls": [
        "https://www.linkedin.com/in/example-champion"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("data-slayer/linkedin-champion-job-change-tracker").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 = { "profile_urls": ["https://www.linkedin.com/in/example-champion"] }

# Run the Actor and wait for it to finish
run = client.actor("data-slayer/linkedin-champion-job-change-tracker").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 '{
  "profile_urls": [
    "https://www.linkedin.com/in/example-champion"
  ]
}' |
apify call data-slayer/linkedin-champion-job-change-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,data-slayer/linkedin-champion-job-change-tracker"
        }
    }
}
```

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/RBn5qNIQzIuZ9ZVrl/builds/MnqCefIdVFudcpViJ/openapi.json
