# LinkedIn Content Performance Analyzer & Strategy Report (`george.the.developer/linkedin-content-analyzer`) Actor

Analyze any LinkedIn profile's content strategy. Get engagement rates, best posting times, top topics, sentiment analysis, format effectiveness, and growth recommendations. Built for social media managers, content strategists, and personal branding.

- **URL**: https://apify.com/george.the.developer/linkedin-content-analyzer.md
- **Developed by:** [George Kioko](https://apify.com/george.the.developer) (community)
- **Categories:** Other
- **Stats:** 1 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 Content Performance Analyzer & Strategy Report

Turn raw LinkedIn post data into actionable content intelligence. Get engagement rates, best posting times, topic analysis, format effectiveness, sentiment insights, and personalized growth recommendations.

### Why This Exists

Every LinkedIn scraper gives you raw data. This actor gives you **intelligence**. Feed it posts from any LinkedIn scraper (HarvestAPI, Apify, your own), and get a complete content strategy report that would cost $500+ from a social media consultant.

Built for social media managers, content strategists, growth marketers, and anyone building a personal brand on LinkedIn.

### What You Get

| Analysis | Details |
|----------|---------|
| **Engagement Metrics** | Per post engagement rate, total reactions, comments, shares, trend direction (up/down/stable), top 5 and bottom 5 posts |
| **Posting Timing** | Best day of week, best hour of day, posts per week average, consistency score, full day and hour distributions |
| **Content Formats** | Breakdown by text, image, video, article, poll, carousel. Average engagement per format. Best performing format. Diversity score |
| **Topic Analysis** | Top 20 keywords, topic clusters with engagement scores, trending topics (gaining traction recently) |
| **Hashtag Effectiveness** | Most used hashtags with engagement data, optimal hashtag count, count vs engagement correlation |
| **Sentiment Analysis** | Positive/neutral/negative distribution, sentiment vs engagement correlation (do positive posts get more likes?) |
| **Growth Recommendations** | 8 to 12 specific, data backed recommendations personalized to the profile |

### Input

Provide a JSON array of LinkedIn posts. Compatible with HarvestAPI, Apify LinkedIn scrapers, and most common formats.

```json
{
  "profileName": "Satya Nadella",
  "posts": [
    {
      "text": "Excited to announce our latest AI breakthrough...",
      "postedAt": "2026-03-15T10:00:00Z",
      "numLikes": 1500,
      "numComments": 200,
      "numShares": 50,
      "type": "text",
      "hashtags": ["#AI", "#leadership"],
      "images": [],
      "videoUrl": null
    }
  ]
}
````

#### Post Fields

| Field | Type | Description |
|-------|------|-------------|
| `text` | string | The post content |
| `postedAt` | string | ISO 8601 timestamp |
| `numLikes` | number | Reaction count |
| `numComments` | number | Comment count |
| `numShares` | number | Share/repost count |
| `type` | string | One of: text, image, video, article, poll, carousel |
| `hashtags` | array | List of hashtags used (optional, extracted from text if missing) |
| `images` | array | Image URLs (optional) |
| `videoUrl` | string | Video URL if video post (optional) |

### Output

The actor pushes a structured report to the default dataset. Here is an example:

```json
{
  "profileName": "Satya Nadella",
  "postsAnalyzed": 50,
  "dateRange": { "from": "2026-01-01", "to": "2026-04-01" },
  "engagement": {
    "averageRate": 0.042,
    "totalReactions": 75000,
    "totalComments": 5000,
    "totalShares": 1200,
    "trend": "increasing",
    "top5Posts": [],
    "bottom5Posts": []
  },
  "timing": {
    "bestDay": "Tuesday",
    "bestHour": 9,
    "postsPerWeek": 3.2,
    "consistencyScore": 0.78,
    "dayDistribution": { "Monday": 8, "Tuesday": 12 },
    "hourDistribution": { "9": 15, "10": 8 }
  },
  "formats": {
    "distribution": { "text": 20, "image": 15, "video": 10, "article": 5 },
    "bestFormat": "video",
    "engagementByFormat": { "text": 300, "image": 450, "video": 800 },
    "diversityScore": 0.67
  },
  "topics": {
    "topWords": ["leadership", "innovation", "technology"],
    "topicClusters": [
      { "topic": "leadership", "count": 15, "avgEngagement": 1200, "trending": true }
    ]
  },
  "hashtags": {
    "mostUsed": [{ "tag": "#AI", "count": 20, "avgEngagement": 1500 }],
    "optimalCount": 3,
    "countVsEngagement": [{ "hashtagCount": 3, "posts": 15, "avgEngagement": 1200 }]
  },
  "sentiment": {
    "distribution": { "positive": 0.6, "neutral": 0.3, "negative": 0.1 },
    "engagementCorrelation": "positive posts get 2.3x more engagement than negative ones"
  },
  "recommendations": [
    "Post on Tuesdays at 9 AM UTC for maximum reach based on your historical engagement data.",
    "Your video posts get 2.7x more engagement than text. Consider creating more video content."
  ],
  "analyzedAt": "2026-04-12T15:30:00Z"
}
```

### Use Cases

**Social Media Managers**: Analyze client LinkedIn profiles to build data driven content calendars. Show clients exactly what works and what does not.

**Content Strategists**: Identify winning topics, formats, and posting times. Stop guessing and start optimizing.

**Personal Branding**: Understand what resonates with your audience. Get specific recommendations to grow your reach.

**Competitive Analysis**: Analyze competitor profiles to reverse engineer their content strategy.

**Agency Reporting**: Generate professional analysis reports for clients in seconds instead of hours.

### How to Get Post Data

This actor analyzes posts. To get LinkedIn post data, use any of these sources:

1. **HarvestAPI LinkedIn Profile Posts** (free on Apify Store)
2. **Any LinkedIn scraper** that outputs posts with engagement metrics
3. **LinkedIn API** if you have access
4. **Manual export** from LinkedIn analytics

### Pricing

Pay per use with Apify's pay per event model.

| Event | Price |
|-------|-------|
| Profile Analyzed | $0.02 per report |

One report covers all posts you provide (up to hundreds). That is less than a penny per post analyzed.

### Related Actors

Looking for more LinkedIn intelligence?

| Actor | What It Does |
|-------|-------------|
| [LinkedIn Employee Scraper](https://apify.com/george.the.developer/linkedin-employee-scraper) | Extract employee data from any company on LinkedIn |
| [Entity OSINT Analyzer](https://apify.com/george.the.developer/entity-osint-analyzer) | Deep open source intelligence on any person or company |
| [Website Intelligence API](https://apify.com/george.the.developer/websight-api) | Full technology, SEO, and security analysis of any website |

### Support

Built and maintained by [George The Developer](https://apify.com/george.the.developer). Open an issue on the actor page or reach out on X [@ai\_in\_it](https://x.com/ai_in_it).

# Actor input Schema

## `posts` (type: `array`):

Array of LinkedIn post objects. Each post should have: text, postedAt, numLikes, numComments, numShares, type, hashtags. Compatible with HarvestAPI and most LinkedIn scrapers.

## `profileName` (type: `string`):

Name of the LinkedIn profile owner (used in the report header).

## Actor input object example

```json
{
  "posts": []
}
```

# 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 = {
    "posts": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("george.the.developer/linkedin-content-analyzer").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 = { "posts": [] }

# Run the Actor and wait for it to finish
run = client.actor("george.the.developer/linkedin-content-analyzer").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 '{
  "posts": []
}' |
apify call george.the.developer/linkedin-content-analyzer --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=george.the.developer/linkedin-content-analyzer",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Content Performance Analyzer & Strategy Report",
        "description": "Analyze any LinkedIn profile's content strategy. Get engagement rates, best posting times, top topics, sentiment analysis, format effectiveness, and growth recommendations. Built for social media managers, content strategists, and personal branding.",
        "version": "1.0",
        "x-build-id": "61x18pZPP4v1uodzU"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/george.the.developer~linkedin-content-analyzer/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-george.the.developer-linkedin-content-analyzer",
                "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/george.the.developer~linkedin-content-analyzer/runs": {
            "post": {
                "operationId": "runs-sync-george.the.developer-linkedin-content-analyzer",
                "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/george.the.developer~linkedin-content-analyzer/run-sync": {
            "post": {
                "operationId": "run-sync-george.the.developer-linkedin-content-analyzer",
                "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",
                "required": [
                    "posts"
                ],
                "properties": {
                    "posts": {
                        "title": "Posts",
                        "type": "array",
                        "description": "Array of LinkedIn post objects. Each post should have: text, postedAt, numLikes, numComments, numShares, type, hashtags. Compatible with HarvestAPI and most LinkedIn scrapers."
                    },
                    "profileName": {
                        "title": "Profile Name",
                        "type": "string",
                        "description": "Name of the LinkedIn profile owner (used in the report header)."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
