# LinkedIn Posts Search API (`sandhive/linkedin-posts-parser`) Actor

Search and filter LinkedIn posts by keyword, country, hiring intent, links, engagement, and freshness. Built for job discovery, lead generation, market research, and content monitoring.

- **URL**: https://apify.com/sandhive/linkedin-posts-parser.md
- **Developed by:** [Alex SandHive](https://apify.com/sandhive) (community)
- **Categories:** Jobs, Agents, Social media
- **Stats:** 3 total users, 0 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 Posts Search API

Search and filter LinkedIn posts by keyword, hiring intent, links, engagement, and freshness.

---

### What this API does

This API gives you access to a searchable dataset of LinkedIn posts with practical filters for discovery workflows.

It is designed for:
- **Recruiters** looking for hiring posts
- **Job seekers** looking for fresh opportunities
- **Sales and research teams** monitoring niche conversations
- **Creators** looking for posts worth engaging with early
- **Analysts** exporting filtered post datasets

---

### Core use cases

#### 1. Hiring post discovery
Find LinkedIn posts that look like job openings or active hiring announcements.
```json
{ "query": "software engineer", "isHiring": true, "sortBy": "newest" }
````

#### 2. Fresh low-competition posts

Find recent posts with low comment counts so you can engage early.

```json
{ "query": "product strategy", "maxComments": 5, "postedWithinHours": 24, "sortBy": "newest" }
```

#### 3. Keyword search

Search posts by topic and get the most relevant results.

```json
{ "query": "AI product manager", "sortBy": "top", "limit": 50 }
```

#### 4. High-engagement post research

Find top-performing posts in a niche.

```json
{ "query": "startup fundraising", "minLikes": 50, "sortBy": "top" }
```

#### 5. Link-based monitoring

Find posts that contain external links, articles, job pages, or landing pages.

```json
{ "query": "open to work", "hasLink": true, "authorType": "person" }
```

#### 6. Dataset export

Pull filtered results into your own tools, dashboards, or workflows using `limit` and `offset`.

***

### Input parameters

| Parameter          | Type      | Default    | Description |
|--------------------|-----------|------------|-------------|
| `query`            | `string`  | —          | Keywords to search in post content |
| `isHiring`         | `boolean` | `false`    | Only return posts that mention hiring or job openings |
| `hasLink`          | `boolean` | `false`    | Only return posts that contain an external link |
| `minLikes`         | `integer` | —          | Minimum number of likes |
| `maxComments`      | `integer` | —          | Maximum number of comments |
| `postedWithinHours`| `integer` | —          | Only posts published within the last N hours (max 8760) |
| `authorType`       | `string`  | `"any"`    | Filter by author: `person`, `company`, or `any` |
| `sortBy`           | `string`  | `"newest"` | Sort by: `newest`, `top`, or `hot` |
| `limit`            | `integer` | `25`       | Number of results to return (1–100) |

***

### Output fields

Each result in the dataset contains:

| Field           | Type      | Description |
|-----------------|-----------|-------------|
| `postKey`       | `string`  | Unique post identifier |
| `text`          | `string`  | Full post text |
| `author`        | `string`  | Author display name |
| `authorUrl`     | `string`  | Link to author profile |
| `authorType`    | `string`  | `person` or `company` |
| `createdAt`     | `string`  | Post publication timestamp |
| `geo`           | `string`  | Geographic label if available |
| `likes`         | `integer` | Number of likes |
| `commentsCount` | `integer` | Number of comments |
| `hasLink`       | `boolean` | Whether the post contains an external link |
| `isHiring`      | `boolean` | Whether the post looks like a hiring post |
| `postUrl`       | `string`  | Direct link to the LinkedIn post |

***

### Example input

```json
{
  "query": "product manager hiring",
  "isHiring": true,
  "hasLink": true,
  "minLikes": 3,
  "maxComments": 10,
  "postedWithinHours": 48,
  "authorType": "company",
  "sortBy": "newest",
  "limit": 50
}
```

### Example output

```json
[
  {
    "postKey": "7180000000000000000",
    "text": "We're hiring a Senior Product Manager to join our platform team...",
    "author": "Acme Corp",
    "authorUrl": "https://www.linkedin.com/company/acme-corp",
    "authorType": "company",
    "createdAt": "2026-03-30T14:22:00Z",
    "geo": "United States",
    "likes": 47,
    "commentsCount": 6,
    "hasLink": true,
    "isHiring": true,
    "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180000000000000000"
  }
]
```

# Actor input Schema

## `query` (type: `string`):

Keywords to search

## `isHiring` (type: `boolean`):

Filter to posts that mention hiring or job openings

## `hasLink` (type: `boolean`):

Filter to posts that contain an external link

## `minLikes` (type: `integer`):

Only return posts with at least this many likes

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

Only return posts with no more than this many comments

## `postedWithinHours` (type: `integer`):

Only return posts published within the last N hours (max 8760 = 1 year)

## `authorType` (type: `string`):

Filter by author type: person, company, or any

## `sortBy` (type: `string`):

Sort results by newest, top engagement, or hottest posts

## `limit` (type: `integer`):

Maximum number of posts to return (1–100)

## Actor input object example

```json
{
  "query": "product manager hiring",
  "isHiring": false,
  "hasLink": false,
  "postedWithinHours": 48,
  "authorType": "any",
  "sortBy": "newest",
  "limit": 25
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("sandhive/linkedin-posts-parser").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 = {}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Posts Search API",
        "description": "Search and filter LinkedIn posts by keyword, country, hiring intent, links, engagement, and freshness. Built for job discovery, lead generation, market research, and content monitoring.",
        "version": "1.0",
        "x-build-id": "ZfLwehr4YVTgirgp2"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sandhive~linkedin-posts-parser/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sandhive-linkedin-posts-parser",
                "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/sandhive~linkedin-posts-parser/runs": {
            "post": {
                "operationId": "runs-sync-sandhive-linkedin-posts-parser",
                "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/sandhive~linkedin-posts-parser/run-sync": {
            "post": {
                "operationId": "run-sync-sandhive-linkedin-posts-parser",
                "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": {
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Keywords to search"
                    },
                    "isHiring": {
                        "title": "Hiring posts only",
                        "type": "boolean",
                        "description": "Filter to posts that mention hiring or job openings",
                        "default": false
                    },
                    "hasLink": {
                        "title": "Has external link",
                        "type": "boolean",
                        "description": "Filter to posts that contain an external link",
                        "default": false
                    },
                    "minLikes": {
                        "title": "Minimum likes",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only return posts with at least this many likes"
                    },
                    "maxComments": {
                        "title": "Maximum comments",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only return posts with no more than this many comments"
                    },
                    "postedWithinHours": {
                        "title": "Posted within hours",
                        "minimum": 0,
                        "maximum": 8760,
                        "type": "integer",
                        "description": "Only return posts published within the last N hours (max 8760 = 1 year)"
                    },
                    "authorType": {
                        "title": "Author type",
                        "enum": [
                            "person",
                            "company",
                            "any"
                        ],
                        "type": "string",
                        "description": "Filter by author type: person, company, or any",
                        "default": "any"
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "newest",
                            "top",
                            "hot"
                        ],
                        "type": "string",
                        "description": "Sort results by newest, top engagement, or hottest posts",
                        "default": "newest"
                    },
                    "limit": {
                        "title": "Limit",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of posts to return (1–100)",
                        "default": 25
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
