# LinkedIn Post Comments Scraper Pro (Social Selling Leads) (`viralanalyzer/linkedin-post-comments-scraper-pro`) Actor

Extract comments, replies, commenters names, job titles, and profile links from viral LinkedIn posts without cookies. Only $1.50/1K.

- **URL**: https://apify.com/viralanalyzer/linkedin-post-comments-scraper-pro.md
- **Developed by:** [viralanalyzer](https://apify.com/viralanalyzer) (community)
- **Categories:** Social media, Lead generation, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.28 / 1,000 comment founds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Post Comments Scraper Pro 💬

> 🔗 [View on Apify Store](https://apify.com/viralanalyzer/linkedin-post-comments-scraper-pro) | 🇺🇸 English | [🇧🇷 Português](#português)

***

### 🇺🇸 English

#### Overview

Extract public comments from LinkedIn posts without cookies — commenter name, profile URL, comment
text and relative timestamp.

#### Features

- **Social Selling Lead Generation**: find professionals commenting on competitors' posts
- **Commenter identity**: name + direct profile URL (the two fields you can act on)
- **No Cookies Required**: public extraction, no account ban risk

#### Input Example

```json
{
  "postUrls": [
    "https://www.linkedin.com/posts/some-author_topic-activity-7170000000000000000-abcd"
  ],
  "maxComments": 50
}
```

#### Output Example

Every field the actor emits. `authorHeadline` and `likesCount` are **always `null`** — see Limits:

```json
{
  "postUrl": "https://www.linkedin.com/posts/some-author_topic-activity-71700...",
  "postTitle": "Some Author on LinkedIn: …",
  "authorName": "Alexandre Dupont",
  "authorProfileUrl": "https://www.linkedin.com/in/alexandre-dupont",
  "authorHeadline": null,
  "commentText": "Incredible insights on multi-cloud orchestration!",
  "timeAgo": "1d",
  "likesCount": null,
  "commentCountReported": 214,
  "dataSource": "linkedin-public-post",
  "scrapedAt": "2026-08-27T21:54:53.550Z"
}
```

#### Input Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `postUrls` | string\[] | List of LinkedIn post URLs |
| `maxComments` | number | Max comments across the whole run (default: 50) |
| `proxyConfiguration` | object | Apify Proxy configuration |

### ✅ Capabilities & Limits

Stated up front, so you do not pay a run to find out.

**Built here:** LinkedIn's public post page serves the commenter's **name and profile URL, and
nothing else about them.** `authorHeadline` and `likesCount` are therefore `null` on every row. A
previous build filled them with the literal string `'Industry Executive'` and hardcoded like counts
of 1 / 18 / 7 — values that looked measured and were not. They are `null` now, deliberately.

| Input / feature | Supported | Notes |
|---|---|---|
| Public post URL | ✅ | `postUrls` |
| Commenter name | ✅ | |
| Commenter profile URL | ✅ | tracking parameters stripped |
| Comment text | ✅ | |
| Relative timestamp (`timeAgo`) | ✅ | e.g. `"1d"` — not an absolute date |
| **Commenter headline / job title** | ❌ | not served publicly — always `null` |
| **Likes per comment** | ❌ | not served publicly — always `null` |
| **Replies to comments** | ❌ | top-level comments only |
| Total comment count on the post | ⚠️ | `commentCountReported` is what the page states; it is usually larger than the number of comments the public page renders |
| Absolute publication date | ❌ | not emitted |
| Posts behind login | ❌ | public posts only |
| `maxComments` per post | ❌ | it is a whole-run budget, shared across all `postUrls` |

#### Use Cases

- **Social Selling Outreach** — connect with professionals who commented on niche industry posts
- **Competitor audience research** — see who engages with rival company updates

#### FAQ

**Q: Does it work on any public LinkedIn post?**
A: Any public post URL can be tried. The public page renders only a subset of a post's comments, so a post with 200 comments will not yield 200 rows.

**Q: Do I get the commenter's job title?**
A: No. The public page does not serve it, so `authorHeadline` is always `null`. Take `authorProfileUrl` into a profile scraper if you need the headline.

**Q: Do I get likes per comment?**
A: No. Always `null`, for the same reason.

***

### 🇧🇷 Português

#### Visão Geral

Extraia comentários públicos de posts do LinkedIn sem cookies. Cada linha traz quatro coisas que
você pode usar: quem comentou, a URL do perfil dessa pessoa, o texto do comentário e há quanto tempo
ele foi publicado.

Cargo, curtidas por comentário e respostas **não vêm** — a página pública não serve esses dados.
Detalhe nos Limites.

#### Funcionalidades

- **Geração de Leads por Social Selling**: encontre quem comenta em posts de concorrentes
- **Identidade acionável**: `authorName` + `authorProfileUrl` sem tracking na query string
- **Texto integral do comentário**: `commentText`, mais `timeAgo` (relativo, ex.: `"1d"`)
- **Sem Cookies**: extração pública, sem risco de suspensão de conta

#### Exemplo de Entrada

```json
{
  "postUrls": [
    "https://www.linkedin.com/posts/satyanadella_ai-innovation-cloud-activity-7170000000000000000-abcd"
  ],
  "maxComments": 50
}
```

#### Exemplo de Saída

```json
{
  "postUrl": "https://www.linkedin.com/posts/some-author_topic-activity-71700...",
  "postTitle": "Some Author on LinkedIn: …",
  "authorName": "Alexandre Dupont",
  "authorProfileUrl": "https://www.linkedin.com/in/alexandre-dupont",
  "authorHeadline": null,
  "commentText": "Incredible insights on multi-cloud orchestration!",
  "timeAgo": "1d",
  "likesCount": null,
  "commentCountReported": 214,
  "dataSource": "linkedin-public-post",
  "scrapedAt": "2026-08-27T21:54:53.550Z"
}
```

#### Parâmetros de Entrada

| Parâmetro | Tipo | Descrição |
|-----------|------|-----------|
| `postUrls` | string\[] | Lista de URLs de posts do LinkedIn |
| `maxComments` | number | Máximo de comentários **da execução inteira** (padrão 50) |
| `proxyConfiguration` | object | Configuração de Proxy Apify |

#### Dicas

- Extraia comentários de posts de lançamentos de concorrentes para abordar leads quentes

#### Casos de Uso

- **Social Selling** — Conecte-se com profissionais que interagiram com temas do seu nicho
- **Prospecção em Postagens de Concorrentes** — Aborde leads que comentaram em posts rivais

#### Perguntas Frequentes

**P: Funciona em qualquer post público do LinkedIn?**
R: Qualquer URL de post público pode ser tentada. A página pública renderiza apenas parte dos comentários — um post com 200 comentários não devolve 200 linhas.

**P: Vem o cargo de quem comentou?**
R: Não. A página pública não serve esse dado: `authorHeadline` é sempre `null`. Use `authorProfileUrl` num scraper de perfil se precisar do cargo.

**P: Vêm as curtidas de cada comentário?**
R: Não. Sempre `null`, pelo mesmo motivo.

***

### 💰 Pricing

This actor uses **Pay Per Event (PPE)** pricing — you pay only per **item scraped** (`comment-found`). Platform usage is included. See the current price on the **Pricing** panel of this actor's Apify Store page.

***

### 🔗 Related Actors

- [Reclame Aqui Scraper](https://apify.com/viralanalyzer/reclameaqui-scraper)
- [iFood Restaurant Intelligence](https://apify.com/viralanalyzer/ifood-restaurant-intelligence)
- [Instagram Reels Scraper](https://apify.com/viralanalyzer/instagram-reels-scraper)
- [TikTok Viral Scanner](https://apify.com/viralanalyzer/tiktok-viral-scanner)
- [Google Maps BR Scraper](https://apify.com/viralanalyzer/google-maps-br-scraper)
- [Mercado Livre Scraper](https://apify.com/viralanalyzer/mercadolivre-scraper)

***

### 📝 Changelog

- **v1.0.0** (2026-08-20) — Initial release: full extraction, Pay-Per-Event pricing, and automated proxy support

***

### License

ISC © 2026 Viral Analyzer Platform

***

💡 **Need AI analysis on top of this data — sentiment, trend detection and a dashboard, with no API keys to manage?**\
[ViralAnalyzer](https://viralanalyzer.com.br) runs this actor + 42 more data sources with built-in AI. JSON + insights in one call.

# Actor input Schema

## `postUrls` (type: `array`):

Public LinkedIn post URLs. Only comments LinkedIn serves without login are returned — open the URL in a private window to confirm the comments are publicly visible.

## `maxComments` (type: `integer`):

Maximum total comments to scrape.

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

Select Apify Proxy (Residential recommended).

## Actor input object example

```json
{
  "postUrls": [
    "https://www.linkedin.com/posts/andrew-mayne-99584b23_state-of-the-ai-industry-the-openai-podcast-activity-7419066824522272768-mqLB"
  ],
  "maxComments": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `comments` (type: `string`):

Extracted LinkedIn post comments and social selling leads dataset

# 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 = {
    "postUrls": [
        "https://www.linkedin.com/posts/andrew-mayne-99584b23_state-of-the-ai-industry-the-openai-podcast-activity-7419066824522272768-mqLB"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("viralanalyzer/linkedin-post-comments-scraper-pro").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 = { "postUrls": ["https://www.linkedin.com/posts/andrew-mayne-99584b23_state-of-the-ai-industry-the-openai-podcast-activity-7419066824522272768-mqLB"] }

# Run the Actor and wait for it to finish
run = client.actor("viralanalyzer/linkedin-post-comments-scraper-pro").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 '{
  "postUrls": [
    "https://www.linkedin.com/posts/andrew-mayne-99584b23_state-of-the-ai-industry-the-openai-podcast-activity-7419066824522272768-mqLB"
  ]
}' |
apify call viralanalyzer/linkedin-post-comments-scraper-pro --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,viralanalyzer/linkedin-post-comments-scraper-pro"
        }
    }
}

```

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/9IakP7FP6G6K8a0Lu/builds/GytK4AtBo63J3Y2d7/openapi.json
