# LinkedIn Top Voice & Creator Engagement Ranker (`scrapemint/linkedin-creator-ranker`) Actor

Pass a list of LinkedIn creators (profiles or company pages), get back one row per creator with engagement velocity, total reactions, average reactions per post, top performing post, and posts-per-day in a lookback window. No cookie, no login. Pay per creator.

- **URL**: https://apify.com/scrapemint/linkedin-creator-ranker.md
- **Developed by:** [Ken M](https://apify.com/scrapemint) (community)
- **Categories:** Jobs, Social media, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Top Voice & Creator Engagement Ranker (No Login Required)

Pass a list of LinkedIn creators (profiles or company pages). Get back one row per creator with engagement velocity, total reactions, average reactions per post, the top performing post, and posts-per-day inside a lookback window. No cookies. No login. No Sales Navigator seat. Pay per creator.

**Built for** B2B influencer marketing, brand partnership teams, agencies sourcing sponsored creators, recruiters scouting thought leaders, and content marketers benchmarking competitors.

**Keywords this actor ranks for:** linkedin top voice, linkedin influencer scraper, linkedin creator ranker, linkedin engagement tracker, linkedin engagement velocity, b2b influencer discovery, linkedin thought leader, linkedin engagement rate, linkedin posts per day, linkedin scraper no login.

---

### Why this actor

| Other LinkedIn engagement tools | **This actor** |
|---|---|
| Need your session cookie | Zero cookies, zero login |
| Charge a seat license per month | Pay per ranked creator |
| Output one row per post, you do the math | Output one row per creator with velocity, top post, and per-day cadence |
| Lock you into a roster of pre-curated creators | Bring your own list |
| Hide the underlying post URLs | Top post URL and reaction breakdown shipped on every row |

---

### How it works

```mermaid
flowchart LR
    A[Creator URLs] --> B[Search index<br/>linkedin.com/posts/handle_]
    B --> C[Post embed pages<br/>no auth needed]
    C --> D[Parse engagement<br/>reactions comments reposts]
    D --> E[Filter to lookback window]
    E --> F[Aggregate per creator]
    F --> G[(One row per creator<br/>ranked by velocity)]
````

The actor finds each creator's recent public posts via search, then loads each post via LinkedIn's anonymous embed endpoint to read the engagement counters. No cookie passes through the actor at any stage.

***

### What you get per row

```mermaid
flowchart LR
    R[Creator row] --> R1[Identity<br/>rank handle name headline]
    R --> R2[Volume<br/>postsInWindow postsPerDay]
    R --> R3[Reach<br/>totalReactions totalComments totalReposts]
    R --> R4[Velocity<br/>engagementVelocity avgReactionsPerPost]
    R --> R5[Top post<br/>url snippet engagement]
```

Pipe straight into a creator partnership shortlist, an executive thought-leadership scorecard, or a sponsorship target audit.

***

### Quick start

**Score a target creator list**

```json
{
  "creatorUrls": [
    "https://www.linkedin.com/in/satyanadella/",
    "https://www.linkedin.com/in/jeffweiner08/",
    "https://www.linkedin.com/in/sundarpichai/"
  ],
  "lookbackDays": 30
}
```

**Tighter window for trend tracking**

```json
{
  "creatorUrls": ["https://www.linkedin.com/in/williamhgates/"],
  "lookbackDays": 7,
  "maxPostsPerCreator": 50
}
```

**Long horizon for executive comp benchmarks**

```json
{
  "creatorUrls": [
    "https://www.linkedin.com/company/openai/",
    "https://www.linkedin.com/company/anthropic/"
  ],
  "lookbackDays": 90,
  "maxPostsPerCreator": 100
}
```

***

### Sample output

```json
{
  "rank": 1,
  "handle": "satyanadella",
  "kind": "person",
  "url": "https://www.linkedin.com/in/satyanadella/",
  "creatorName": "Satya Nadella",
  "creatorHeadline": "Chairman and CEO at Microsoft",
  "lookbackDays": 30,
  "postsInWindow": 12,
  "postsDiscovered": 18,
  "totalReactions": 84200,
  "totalComments": 3100,
  "totalReposts": 980,
  "totalEngagement": 88280,
  "avgReactionsPerPost": 7017,
  "avgEngagementPerPost": 7357,
  "postsPerDay": 0.4,
  "engagementVelocity": 2943,
  "topPost": {
    "url": "https://www.linkedin.com/posts/satyanadella_...",
    "postedAt": "2026-04-22T15:00:00.000Z",
    "reactions": 21000,
    "comments": 480,
    "reposts": 220,
    "total": 21700,
    "textSnippet": "Today we are launching..."
  },
  "scrapedAt": "2026-05-09T10:00:00.000Z"
}
```

***

### Who uses this

| Role | Use case |
|---|---|
| Influencer marketing manager | Score a shortlist of creators by real engagement velocity, not vanity follower count |
| Brand partnership lead | Audit which executives or creators are worth a paid promotion deal |
| Content marketer | Benchmark your own posting cadence and engagement against competitors in your category |
| Recruiter | Find the loudest voices in a target industry to fill thought leadership roles |
| Comms team | Track which company executives are landing the most engagement on owned posts |
| ABM lead | Identify the executives at target accounts who actually use LinkedIn (worth a comment-engagement play) |

***

### Input reference

| Field | Type | What it does |
|---|---|---|
| `creatorUrls` | string\[] | LinkedIn profile or company URLs to rank. |
| `lookbackDays` | integer | Window of recent posts to count. Default 30. |
| `maxPostsPerCreator` | integer | Cap on posts pulled per creator. Default 30. |
| `concurrency` | integer | Pages processed in parallel. Six is the safe default. |
| `proxyConfiguration` | object | Apify proxy. Residential is required at any meaningful volume. |

***

### API call

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/YOUR_USER~linkedin-creator-ranker/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "creatorUrls": [
      "https://www.linkedin.com/in/satyanadella/",
      "https://www.linkedin.com/in/jeffweiner08/"
    ],
    "lookbackDays": 30
  }'
```

***

### Pricing

The first three creators per run are free so you can validate output before paying. After that, each ranked creator row is charged. No surprise add on charges.

***

### FAQ

#### Do I need a LinkedIn account or cookie?

No. The actor only touches public post embed pages. Your account is never touched.

#### How does engagement velocity differ from total reactions?

Total reactions is a stock metric. Engagement velocity is reactions plus comments plus reposts divided by the lookback window in days. A creator with 5 huge posts last week beats a creator with 50 tiny posts over six months on velocity, even if their totals match.

#### Why is `postsDiscovered` higher than `postsInWindow` sometimes?

`postsDiscovered` counts every post the actor found via search. `postsInWindow` counts only the ones whose timestamp falls inside the lookback window. Older posts are excluded from the ranking but the discovery count tells you how complete the search was.

#### Can I rank companies, not just people?

Yes. URLs in the form `linkedin.com/company/{handle}/` and `linkedin.com/showcase/{handle}/` are supported alongside `linkedin.com/in/{handle}/`.

#### What if a creator has no posts in the window?

The row still ships with zeros for every counter and `postsInWindow: 0`. That tells you the creator went dark in the period, which is itself useful signal.

#### Is scraping LinkedIn allowed?

This actor reads HTML any anonymous web visitor can see. Respect LinkedIn's terms and rate limit sensibly. Do not redistribute data you have no lawful basis to process.

***

### Related actors

- **LinkedIn Profile Scraper** — pull headline, current title, and summary for any creator
- **LinkedIn Profile & Company Post Tracker** — pull every post one at a time instead of aggregated
- **LinkedIn Pulse Articles Scraper** — long form articles per author or topic
- **LinkedIn Company Profile Scraper** — firmographics for the companies a creator works at
- **LinkedIn Hiring Tracker & Salary Intelligence** — open roles plus parsed salary per company

# Actor input Schema

## `creatorUrls` (type: `array`):

List of LinkedIn profile or company URLs. Examples: 'https://www.linkedin.com/in/satyanadella/', 'https://www.linkedin.com/company/openai/'.

## `lookbackDays` (type: `integer`):

Only posts published within the last N days are counted toward the ranking. 30 is the default.

## `maxPostsPerCreator` (type: `integer`):

Cap on posts pulled per creator. Higher values produce more accurate rankings but cost more compute.

## `concurrency` (type: `integer`):

Parallel page fetches. Six is a safe default for LinkedIn.

## `proxyConfiguration` (type: `object`):

Apify proxy. Residential is required for LinkedIn at any meaningful volume.

## Actor input object example

```json
{
  "creatorUrls": [
    "https://www.linkedin.com/in/satyanadella/",
    "https://www.linkedin.com/in/williamhgates/",
    "https://www.linkedin.com/in/jeffweiner08/"
  ],
  "lookbackDays": 30,
  "maxPostsPerCreator": 30,
  "concurrency": 6,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "creatorUrls": [
        "https://www.linkedin.com/in/satyanadella/",
        "https://www.linkedin.com/in/williamhgates/",
        "https://www.linkedin.com/in/jeffweiner08/"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapemint/linkedin-creator-ranker").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 = {
    "creatorUrls": [
        "https://www.linkedin.com/in/satyanadella/",
        "https://www.linkedin.com/in/williamhgates/",
        "https://www.linkedin.com/in/jeffweiner08/",
    ],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapemint/linkedin-creator-ranker").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "creatorUrls": [
    "https://www.linkedin.com/in/satyanadella/",
    "https://www.linkedin.com/in/williamhgates/",
    "https://www.linkedin.com/in/jeffweiner08/"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapemint/linkedin-creator-ranker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapemint/linkedin-creator-ranker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Top Voice & Creator Engagement Ranker",
        "description": "Pass a list of LinkedIn creators (profiles or company pages), get back one row per creator with engagement velocity, total reactions, average reactions per post, top performing post, and posts-per-day in a lookback window. No cookie, no login. Pay per creator.",
        "version": "0.1",
        "x-build-id": "0l7meTcgExEOnHZc2"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapemint~linkedin-creator-ranker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapemint-linkedin-creator-ranker",
                "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/scrapemint~linkedin-creator-ranker/runs": {
            "post": {
                "operationId": "runs-sync-scrapemint-linkedin-creator-ranker",
                "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/scrapemint~linkedin-creator-ranker/run-sync": {
            "post": {
                "operationId": "run-sync-scrapemint-linkedin-creator-ranker",
                "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": {
                    "creatorUrls": {
                        "title": "Creator URLs",
                        "type": "array",
                        "description": "List of LinkedIn profile or company URLs. Examples: 'https://www.linkedin.com/in/satyanadella/', 'https://www.linkedin.com/company/openai/'.",
                        "default": [
                            "https://www.linkedin.com/in/satyanadella/",
                            "https://www.linkedin.com/in/williamhgates/",
                            "https://www.linkedin.com/in/jeffweiner08/"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "lookbackDays": {
                        "title": "Lookback window (days)",
                        "minimum": 1,
                        "maximum": 365,
                        "type": "integer",
                        "description": "Only posts published within the last N days are counted toward the ranking. 30 is the default.",
                        "default": 30
                    },
                    "maxPostsPerCreator": {
                        "title": "Max posts per creator",
                        "minimum": 5,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Cap on posts pulled per creator. Higher values produce more accurate rankings but cost more compute.",
                        "default": 30
                    },
                    "concurrency": {
                        "title": "Concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Parallel page fetches. Six is a safe default for LinkedIn.",
                        "default": 6
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy. Residential is required for LinkedIn at any meaningful volume.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
