# LinkedIn Competitor Content Intelligence (`data-slayer/linkedin-competitor-content-intelligence`) Actor

Analyze what content works for your competitors on LinkedIn. Enter competitor profile or company URLs; the Actor reads their recent posts and returns themes, posting cadence, formats, engagement benchmarks, and their top-performing posts. No cookies, no login.

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

## Pricing

from $30.00 / 1,000 post analyzeds

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 Competitor Content Intelligence

See exactly what content is working for your competitors on LinkedIn — the themes, the cadence, the formats, and the posts that actually land.

### Watch the demo

YouTube video coming soon.

### What this Actor does

Give it competitor profile URLs and/or company page URLs. The Actor reads their recent posts and returns:

- **Per post** — text, theme keywords, format, publish date, reactions, comments, and total engagement, sorted best-first.
- **Per source** — posts analyzed, average engagement, posting cadence (posts per week), and the source's top themes.

It uses public data only, requires no cookies and no login, and reports observations, not guesses.

### Input

| Field | Type | Required | Description |
|---|---|---|---|
| `profile_urls` | string\[] | No | Competitor executives' or creators' LinkedIn profile URLs |
| `company_urls` | string\[] | No | Competitor LinkedIn company page URLs or slugs |
| `max_posts` | integer | No | Hard cap on posts analyzed per source, 1–50 (default `15`) |

Provide at least one profile URL or company URL.

Example:

```json
{
  "profile_urls": ["https://www.linkedin.com/in/example-competitor"],
  "company_urls": ["https://www.linkedin.com/company/globex"],
  "max_posts": 15
}
```

### How to use it

1. Paste the competitor profiles and/or company pages you want to study.
2. Set `max_posts` to control cost and run time.
3. Click **Start**.
4. Sort by `engagementTotal` to see the winning posts, and read `topThemes` per source.

### Output

One row per post, plus one `source_summary` row per source:

```json
{
  "schemaVersion": "1.0",
  "checkedAt": "2026-09-25T10:00:00+00:00",
  "insightType": "post",
  "sourceUrl": "https://www.linkedin.com/company/globex",
  "sourceName": "globex",
  "postUrl": "https://www.linkedin.com/posts/globex_activity-123-X/",
  "postText": "Public post text (truncated)",
  "themeKeywords": ["pricing", "onboarding", "retention"],
  "postFormat": "image",
  "postedAt": "2026-09-20T09:00:00+00:00",
  "reactions": 412,
  "comments": 37,
  "engagementTotal": 449,
  "postsAnalyzed": 15,
  "avgEngagement": 180.4,
  "postsPerWeek": 3.2,
  "topThemes": ["pricing", "retention", "onboarding"],
  "collectedAt": "2026-09-25T10:00:00+00:00"
}
```

`insightType` is `post` or `source_summary`.

The `OUTPUT` key-value-store record reports sources, posts analyzed, and rows written.

### Pricing

| Event | Price |
|---|---|
| Actor start | $0.02 |
| Post analyzed | $0.03 |

You pay per post row. A run across 3 competitors at 15 posts each is about $1.37.

### Common uses

- **Content strategy** — learn which themes and formats earn engagement in your category.
- **Competitive benchmarking** — compare your own engagement against a rival's.
- **Cadence planning** — see how often the leaders in your space publish.
- **Repurposing** — find the post shapes worth adapting.

### Limits

- Only public posts are read.
- Themes are a frequency count of meaningful words in each post, not a semantic model.
- Engagement is a snapshot at run time and keeps changing after publication.
- A source with no public posts produces no rows.

### 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 profile or company URLs, 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 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 competitor executives or creators whose posts you want to analyze.

## `company_urls` (type: `array`):

LinkedIn company page URLs or slugs whose posts you want to analyze.

## `max_posts` (type: `integer`):

Hard cap on posts analyzed per source. The main runtime and cost control. 1–50.

## Actor input object example

```json
{
  "profile_urls": [
    "https://www.linkedin.com/in/example-competitor"
  ],
  "max_posts": 15
}
```

# Actor output Schema

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

Dataset rows with per-post and per-source insight 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-competitor"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("data-slayer/linkedin-competitor-content-intelligence").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-competitor"] }

# Run the Actor and wait for it to finish
run = client.actor("data-slayer/linkedin-competitor-content-intelligence").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-competitor"
  ]
}' |
apify call data-slayer/linkedin-competitor-content-intelligence --silent --output-dataset

```

## MCP server setup

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

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/MUbYmDxBgjEJ7hfbU/builds/xjxOJgEshmHTfE7m6/openapi.json
