# Linkedin post scraper (`curious_coder/linkedin-post-search-scraper`) Actor

Scrape linkedin posts or updates from linkedin post search results.
Supports advanced linkedin search filters.
Extract posts from any linkedin member

- **URL**: https://apify.com/curious\_coder/linkedin-post-search-scraper.md
- **Developed by:** [Curious Coder](https://apify.com/curious_coder) (community)
- **Categories:** Social media
- **Stats:** 10,036 total users, 116 monthly users, 100.0% runs succeeded, 397 bookmarks
- **User rating**: 3.18 out of 5 stars

## Pricing

$30.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

### Introduction

LinkedIn Post Scraper is a powerful Apify actor designed to extract valuable information from [LinkedIn](https://www.linkedin.com) posts. Whether you're a data analyst, researcher, or recruiter, this tool can help you gather insights, monitor trends, and collect data for various purposes.

>
> Note: If you want to scrape unlimited Linkedin posts without providing cookies, check this actor: [Linkedin post scraper - No cookies - $1 per 1000 profiles](https://apify.com/supreme_coder/linkedin-post)
>

To collect engagement data from the posts you scrape, you can use the [LinkedIn Post Reactions Scraper](https://apify.com/curious_coder/linkedin-post-reactions-scraper) to see who reacted with likes and other reactions. For extracting comments from posts, the [LinkedIn Comment Scraper](https://apify.com/curious_coder/linkedin-comment-scraper) provides complete comment details including author information. If you need profile data of the people posting, the [LinkedIn Profile Scraper](https://apify.com/curious_coder/linkedin-profile-scraper) extracts comprehensive individual profiles. For company information, use the [LinkedIn Company Scraper](https://apify.com/curious_coder/linkedin-company-scraper). You can also search for people with the [LinkedIn People Search Scraper](https://apify.com/curious_coder/linkedin-people-search-scraper) and access premium Sales Navigator data with the [LinkedIn Sales Navigator Search Scraper](https://apify.com/curious_coder/linkedin-sales-navigator-search-scraper).

### Features

LinkedIn Post Scraper offers a wide range of features to simplify your data extraction needs:

- **Post Data Extraction**: Scrape detailed information from LinkedIn posts, including text, images, links, and engagement metrics.
- **Profile Data**: Extract data of post authors, such as name, job title, and company.
- **Scrape from post search**: Scrape posts from Linkedin posts search using search URL which supports advanced filters such as date range, keywords, industry, company, etc
- **Scrape posts from profiles**: Provide list of profile URLs of Linkedin members or companies to collect posts
- **Scrape posts from URLs**: Provide list of post URLs and get complete details about the post such as author, content, engagement insights, attachments, etc
- **Export Options**: Export scraped data to various formats, including JSON, CSV, or Excel for further analysis.
- **Proxy Support**: Ensure reliable and anonymous scraping by using proxy rotation.


### Use Cases

LinkedIn Post Scraper can be a valuable tool for a variety of use cases:

1. **Market Research and Analysis**:
   - *Keyword Tracking*: Keep an eye on posts mentioning specific keywords related to your industry or market segment. Understand market trends, customer sentiment, and emerging topics.
   - *Competitor Benchmarking*: Compare your company's LinkedIn engagement and content strategies with those of your competitors. Identify gaps and opportunities for improvement.

2. **Recruitment and Talent Acquisition**:
   - *Candidate Sourcing*: Search for potential job candidates by extracting data from posts that include job-seeking or industry-specific keywords. Compile a list of potential hires for your organization.

3. **Content Strategy and Social Media Planning**:
   - *Content Performance Analysis*: Analyze the engagement metrics of posts in your industry to gain insights into what type of content resonates with your target audience.

4. **Lead Generation and Sales Prospecting**:
   - *Identify Potential Clients*: Monitor posts related to industries or niches you target for potential clients. Reach out to companies or individuals who express interest in relevant products or services.
   - *Networking Opportunities*: Discover individuals who frequently engage with industry-related posts. Build connections with them to expand your network and explore business opportunities.

5. **Competitor Analysis and Market Intelligence**:
   - *Competitor Content Analysis*: Scrutinize your competitors' LinkedIn posts to understand their content strategy, the effectiveness of their messaging, and the engagement they receive.
   - *Follower Insights*: Gain insights into your competitors' followers by extracting data from user profiles who engage with their posts. Identify potential customers or collaborators.

6. **Academic and Industry Research**:
   - *Academic Studies*: Collect data for academic research or industry-specific studies related to LinkedIn behavior, engagement patterns, or content trends.
   - *Data for Reports and Publications*: Gather data for reports, publications, or whitepapers that require LinkedIn insights and statistics as part of their research.

By leveraging LinkedIn data scraping, you can optimize your strategies, enhance decision-making processes, and gain a competitive edge in various domains, whether it's in the business, recruitment, content creation, or academic research. This powerful tool empowers you with actionable data derived from LinkedIn's extensive network of professionals and content.

### Getting Started

To use the LinkedIn Post Scraper Apify actor, you'll need an Apify account. Follow these steps to get started:

1. Click on "Try for free" button on top of this page
2. Go to [Linkedin posts search page](https://www.linkedin.com/search/results/content), search with required filters and once you are done, copy the full URL from address bar and add it to **Source URLs** field
3. If you want to scrape posts from a user or company, then input the profile URL
3. Configure your scraping settings, such as Cookies, Number of records required, etc.
4. Start the actor, and it will begin scraping LinkedIn posts according to your specifications.

### Sample output

Here is the sample output of this actor:

```json
{
	"urn": "urn:li:activity:7202146404788580353",
	"text": "Carmix lovers\nMax Galante Manuela Galante Alberto Parodi De La Cuadra Victor Saldaña Blanco",
	"url": "https://www.linkedin.com/feed/update/urn:li:activity:7202146404788580353?updateEntityUrn=urn%3Ali%3Afs_updateV2%3A%28urn%3Ali%3Aactivity%3A7202146404788580353%2CFEED_DETAIL%2CEMPTY%2CDEFAULT%2Cfalse%29",
	"postedAtTimestamp": 1717125512311,
	"postedAtISO": "2024-05-31T03:18:32.311Z",
	"timeSincePosted": "2w",
	"isRepost": false,
	"authorType": "Person",
	"authorProfileUrl": "https://www.linkedin.com/in/mariela-garcia-de-fabbri?miniProfileUrn=urn%3Ali%3Afs_miniProfile%3AACoAACDe59sBx8ChxT_OJagid6rniBLlYctSmFg",
	"authorProfileId": "ACoAACDe59sBx8ChxT_OJagid6rniBLlYctSmFg",
	"authorHeadline": "Peruana. Economista. Líder empresarial. Amante de la familia",
	"authorFullName": "Mariela Garcia de Fabbri",
	"image": "https://media.licdn.com/dms/image/D4E22AQFsIJ8c-Cf6tA/feedshare-shrink_2048_1536/0/1717125507406?e=1721865600&v=beta&t=f7inEZquD4375fxdLeWpwdpGEXpwWqD49Nzc2dNNuM4",
	"type": "image",
	"images": [
		"https://media.licdn.com/dms/image/D4E22AQFsIJ8c-Cf6tA/feedshare-shrink_2048_1536/0/1717125507406?e=1721865600&v=beta&t=f7inEZquD4375fxdLeWpwdpGEXpwWqD49Nzc2dNNuM4",
		"https://media.licdn.com/dms/image/D4E22AQHqIKRPxbH59w/feedshare-shrink_2048_1536/0/1717125507017?e=1721865600&v=beta&t=canzfX2pBBxsvi1pgq6sTmF4vJAtaOb8Mqzm-Wn4HPA"
	],
	"author": {
		"firstName": "Mariela",
		"lastName": "Garcia de Fabbri",
		"occupation": "Peruana. Economista. Líder empresarial. Amante de la familia",
		"id": "551479259",
		"publicId": "mariela-garcia-de-fabbri",
		"trackingId": "kHYlJEv0QwKONlozHO8QzQ==",
		"profileId": "ACoAACDe59sBx8ChxT_OJagid6rniBLlYctSmFg",
		"picture": "https://media.licdn.com/dms/image/D4E03AQHGA2JeAKPGtA/profile-displayphoto-shrink_100_100/0/1691852952911?e=1724284800&v=beta&t=JXTlI4FJ2DbmPvpLFy681yQtoZKL41w2bMp8leZ2Ep0",
		"backgroundImage": "https://media.licdn.com/dms/image/C4E16AQHTeQPBMnMOdg/profile-displaybackgroundimage-shrink_200_800/0/1636434126831?e=1724284800&v=beta&t=zhUmr6jY0coTHgRKgnagw8BRY_gNzMwkg36R94zEcQQ"
	},
	"authorName": "Mariela Garcia de Fabbri",
	"authorTitle": "Peruana. Economista. Líder empresarial. Amante de la familia",
	"attributes": [
		{
			"start": 14,
			"length": 11,
			"type": "PROFILE_MENTION",
			"profile": {
				"firstName": "Max",
				"lastName": "Galante",
				"occupation": "CEO at CARMIX: worldwide famous Off-Road Concrete Plants",
				"id": "49164416",
				"publicId": "massimilianogalante",
				"trackingId": "nvMJBB64T3WYONUueMcdhA==",
				"profileId": "ACoAAALuMIABvs-pFCUNAUbkrg0MQ9Q4OCrbH_o",
				"picture": "https://media.licdn.com/dms/image/C4D03AQEW_Ss6AVybPg/profile-displayphoto-shrink_100_100/0/1607009189586?e=1724284800&v=beta&t=KSCcF8_7YIN-N3p5bEqGH3iGxPqCpAIUxSnMYNInwCw",
				"backgroundImage": "https://media.licdn.com/dms/image/C4E16AQGXZMHY6Qe2Sg/profile-displaybackgroundimage-shrink_200_800/0/1626166604019?e=1724284800&v=beta&t=lyxT8ThjhX4g2ZWw4gWyyuzhTCdCUndDAWy0j_2Up8k"
			}
		},
		{
			"start": 26,
			"length": 15,
			"type": "PROFILE_MENTION",
			"profile": {
				"firstName": "Manuela",
				"lastName": "Galante",
				"occupation": "Co-owner of Carmix the small mobile off-road batching plants number one in the world",
				"id": "112536066",
				"publicId": "manuelagalante",
				"trackingId": "c5VqWssXS7KizxarlnTBAg==",
				"profileId": "ACoAAAa1KgIBa9Aofpbu0gpMR_Ta3UaO_7ZQZo8",
				"picture": "https://media.licdn.com/dms/image/D4D03AQE4CWywbEj9zA/profile-displayphoto-shrink_100_100/0/1709243003772?e=1724284800&v=beta&t=vER_htTZ7EfT6NzLRolwIbn-EZ-c-9itRkx0UldsQhQ",
				"backgroundImage": "https://media.licdn.com/dms/image/C4E16AQF-cjUYCJ7tLQ/profile-displaybackgroundimage-shrink_200_800/0/1625564860457?e=1724284800&v=beta&t=GAv3kfWJUGxJeztTc_VhAku9m4ksxhv54agLGsJDJYs"
			}
		},
		{
			"start": 42,
			"length": 27,
			"type": "PROFILE_MENTION",
			"profile": {
				"firstName": "Alberto",
				"lastName": "Parodi De La Cuadra",
				"occupation": "Gerente General - UNIMAQ S.A.",
				"id": "82802108",
				"publicId": "alberto-parodi-de-la-cuadra-a7889123",
				"trackingId": "q2HAiPfLTi2E84usRyy4Mg==",
				"profileId": "ACoAAATvdbwBNMeQbrQbv4T2QXuM0O4ZtTIP21w",
				"backgroundImage": "https://media.licdn.com/dms/image/C4D16AQFUpVDSKlThiQ/profile-displaybackgroundimage-shrink_200_800/0/1623267692676?e=1724284800&v=beta&t=kleUJAq_KGGLMlOO6QbjJWTY2JmyXfjuhDjI-c9B3yM"
			}
		},
		{
			"start": 70,
			"length": 21,
			"type": "PROFILE_MENTION",
			"profile": {
				"firstName": "Victor",
				"lastName": "Saldaña Blanco",
				"occupation": "Gerente Comercial Latinoamérica at Carmix",
				"id": "328145951",
				"publicId": "victor-saldaña-blanco-33ba8b91",
				"trackingId": "KskZOja5TfK1OB7Imiw3LQ==",
				"profileId": "ACoAABOPHB8BM6lHzJz0RvYrdui87BIHsXfMBgM",
				"picture": "https://media.licdn.com/dms/image/D4D03AQFDZNTj4tCzrw/profile-displayphoto-shrink_100_100/0/1698708730876?e=1724284800&v=beta&t=9VicI_YfoGpRoiqI448s-YLGq0lmm1WW9PNHFiYdC_4",
				"backgroundImage": "https://media.licdn.com/dms/image/D4E16AQGu0pv1EyuCoQ/profile-displaybackgroundimage-shrink_200_800/0/1713486323349?e=1724284800&v=beta&t=5U66D5DnCNNHJRdXxIakj9ewzh6xzsjVzRAACOMuYEM"
			}
		}
	],
	"comments": [
		{
			"time": 1717156262297,
			"link": "https://www.linkedin.com/feed/update/urn:li:ugcPost:7202146403928657920?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7202146403928657920%2C7202275379577864192%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287202275379577864192%2Curn%3Ali%3AugcPost%3A7202146403928657920%29",
			"text": "gracias por atender nuestro evento ",
			"entities": [],
			"pinned": false,
			"originalLanguage": "Spanish",
			"author": {
				"firstName": "Manuela",
				"lastName": "Galante",
				"occupation": "Co-owner of Carmix the small mobile off-road batching plants number one in the world",
				"id": "112536066",
				"publicId": "manuelagalante",
				"trackingId": "c5VqWssXS7KizxarlnTBAg==",
				"profileId": "ACoAAAa1KgIBa9Aofpbu0gpMR_Ta3UaO_7ZQZo8",
				"picture": "https://media.licdn.com/dms/image/D4D03AQE4CWywbEj9zA/profile-displayphoto-shrink_100_100/0/1709243003772?e=1724284800&v=beta&t=vER_htTZ7EfT6NzLRolwIbn-EZ-c-9itRkx0UldsQhQ",
				"backgroundImage": "https://media.licdn.com/dms/image/C4E16AQF-cjUYCJ7tLQ/profile-displaybackgroundimage-shrink_200_800/0/1625564860457?e=1724284800&v=beta&t=GAv3kfWJUGxJeztTc_VhAku9m4ksxhv54agLGsJDJYs",
				"distance": "OUT_OF_NETWORK"
			}
		}
	],
	"reactions": [
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Laura Alessandra",
				"lastName": "Suyón Rios",
				"occupation": "Especialista de Compras Repuestos Agrícola y Aliados en Ferreyros S.A.",
				"id": "724808675",
				"publicId": "laura-alessandra-suyón-rios-56b8a1182",
				"trackingId": "DSDfcsLITaCZxJHlJrYAUQ==",
				"profileId": "ACoAACszs-MBV0eRooa9Fq9KYIGV5L672xGHXqs",
				"picture": "https://media.licdn.com/dms/image/C4D03AQFceYaK6_dwcQ/profile-displayphoto-shrink_100_100/0/1588003875780?e=1724284800&v=beta&t=bZYeVGEje_X0TAh3dO1KntoKHWRaBEQb2xrG9G2JHIc",
				"backgroundImage": "https://media.licdn.com/dms/image/D4E16AQHogszErEe3qg/profile-displaybackgroundimage-shrink_200_800/0/1711131508318?e=1724284800&v=beta&t=9Hd81vEtAJ5IMAGhxKOhrM5_yr1HRwH1Drh_WCw_z0A"
			}
		},
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Weslin",
				"lastName": "Ramírez",
				"occupation": "Génie mécanique",
				"id": "579354889",
				"publicId": "weslin-ramírez-9a1036142",
				"trackingId": "2OcUnsvLTT2wdNh1S0G2pw==",
				"profileId": "ACoAACKIQQkBa5FfIDOKjTY5qGldQFrUEaiH1o8",
				"picture": "https://media.licdn.com/dms/image/C4E03AQEfpKW082cmCA/profile-displayphoto-shrink_100_100/0/1604685471771?e=1724284800&v=beta&t=Upq_ZBsSgEjADHsAR9S_oeUQpaZ65OGvG_KyHWjR4Nc"
			}
		},
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Giuldini",
				"lastName": "L.",
				"occupation": "INSTRUCTOR DE OPERADORES / MANEJÓ DEFENSIVO/ SEGURIDAD VIAL",
				"id": "273982543",
				"publicId": "giuldini2022",
				"trackingId": "l2VZ5wMkQ5OJGpohvtoJXg==",
				"profileId": "ACoAABBUpE8Bxw6R1pFt4wpEzACEHNt2UaVEqwM",
				"picture": "https://media.licdn.com/dms/image/D4E35AQGisnqvKt75BQ/profile-framedphoto-shrink_400_400/0/1713360132390?e=1719324000&v=beta&t=B8H0mXYeZ_my5GqGTO7JC_SKIp4RW9M4tIt3VsX-VsY",
				"backgroundImage": "https://media.licdn.com/dms/image/C4E16AQHg5ubLDhF7WQ/profile-displaybackgroundimage-shrink_200_800/0/1516630366568?e=1724284800&v=beta&t=diImzKhS8zAjaIn-FxjoavqR3JMYtafpr13aBLg6i4Y"
			}
		},
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Ivan",
				"lastName": "Pestana",
				"occupation": "ARQUITECTO en PORTICO SAC",
				"id": "301720633",
				"publicId": "ivan-pestana-a2106685",
				"trackingId": "dvYRPVcNTN6flZJi9ba/zQ==",
				"profileId": "ACoAABH75DkBtM_1x3tKdFE-mF6PTzFf_pvamn0",
				"picture": "https://media.licdn.com/dms/image/C4E03AQHMq3rX3BrQqA/profile-displayphoto-shrink_100_100/0/1516952980057?e=1724284800&v=beta&t=aLvtcQQDY_RS_bhHvFxawncwUKowYlMdFfxKUK6CfMc"
			}
		},
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Paloma",
				"lastName": "Salazar Fernández",
				"occupation": "Jefa de Comunicación, Cultura y Responsabilidad Social en Konecta",
				"id": "586631116",
				"publicId": "paloma-salazar-fernandez-",
				"trackingId": "jtLrQGI9SzKgN/Y9+kIvAQ==",
				"profileId": "ACoAACL3R8wBpdSzCNR1KxUW420pNIpRvNKITdU",
				"picture": "https://media.licdn.com/dms/image/D4E03AQFBcFuG7yvpbg/profile-displayphoto-shrink_100_100/0/1701828656477?e=1724284800&v=beta&t=YPf3AdHs7W2EX8nRC42fOqwaCtVXZ0gyk_eC6PH7HMA",
				"backgroundImage": "https://media.licdn.com/dms/image/D4E16AQFIgmXDp7hoQg/profile-displaybackgroundimage-shrink_200_800/0/1706623904109?e=1724284800&v=beta&t=KfPuKS4b4nv1I22EbuAkwmeNRvnDN7qf9Bb317mx7fA"
			}
		},
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Jenny",
				"lastName": "Velando",
				"occupation": "Gerente de Administración y Finanzas en Fargoline y Forbis Logistics",
				"id": "154330558",
				"publicId": "jenny-velando-7ba82743",
				"trackingId": "ulVwLyLrTsSQyMCJAFRD4g==",
				"profileId": "ACoAAAky5b4BYuZFXZSDSRlHVDRE4MFk1Z1AiJU"
			}
		},
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Melania",
				"lastName": "Monje",
				"occupation": "​Director of Rental & Used LATAM Region",
				"id": "94709988",
				"publicId": "melania-monje-03087527",
				"trackingId": "sm9RQHOGSketFnLabkqnPA==",
				"profileId": "ACoAAAWlKOQBpv2SEWWt4aAfzbAPWHsJxxOKdF8",
				"picture": "https://media.licdn.com/dms/image/D4E03AQHBwegIotS-Og/profile-displayphoto-shrink_100_100/0/1681605918283?e=1724284800&v=beta&t=wmWUSwSV6C0Prt-RuheC4-7DmhEFvayJ2xNqE-VB4RM"
			}
		},
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Patricia",
				"lastName": "Gastelumendi Lukis",
				"occupation": "CFO, Gobierno Corporativo, Sostenibilidad, OXI",
				"id": "374344792",
				"publicId": "patricia-gastelumendi-lukis-87444aa5",
				"trackingId": "TNv+OsUUSNKPB3IxteY7ug==",
				"profileId": "ACoAABZQDFgBalAI608rNTHUJ51ABnyUB4esq90",
				"picture": "https://media.licdn.com/dms/image/D4D03AQHLsyTE1Xqw0g/profile-displayphoto-shrink_100_100/0/1702343595321?e=1724284800&v=beta&t=hIgZh8j5mnt1WrZoyfh9PcCKqPLcYX06GDMxaju-sIA",
				"backgroundImage": "https://media.licdn.com/dms/image/D4E16AQHtB7q0mXJ3mw/profile-displaybackgroundimage-shrink_200_800/0/1686689144154?e=1724284800&v=beta&t=iWhdUvz__499Smd6tDn-50Z_dcgdET7-XvyEVc4YDwo"
			}
		},
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Jimmy",
				"lastName": "Burgos Guzmán",
				"occupation": "Representante Comercial UNIMAQ S.A. Experto en maquinaria para la construcción e Industria.",
				"id": "232460609",
				"publicId": "jimmy-burgos-guzmán-995a2565",
				"trackingId": "4Xr3/2FSSMWA7AFO87sVng==",
				"profileId": "ACoAAA3bEUEBSxaTIeNwgGZrh5NmPkWXsWTPr7Y",
				"picture": "https://media.licdn.com/dms/image/D4E03AQHKGcs1QCNWFg/profile-displayphoto-shrink_100_100/0/1718233131829?e=1724284800&v=beta&t=Rx3_CWA2ZMuhgIvbrH3VeD0mbY8D49mTLHeAIzK8Oj4",
				"backgroundImage": "https://media.licdn.com/dms/image/D4E16AQEOonXPTn0D6w/profile-displaybackgroundimage-shrink_200_800/0/1717637151369?e=1724284800&v=beta&t=V42TgZ5AOTH9p2XjOrxAt3wjkBOBrSB2zWdMbmPfaF0"
			}
		},
		{
			"type": "LIKE",
			"profile": {
				"firstName": "Lucia",
				"lastName": "Acurio",
				"occupation": "CEO en GRUPO EDUTEC; de innovar para educar a educar para innovar; educación a prueba de futuro; estrategia de innovación.",
				"id": "52348647",
				"publicId": "lucia-acurio-43364615",
				"trackingId": "qdiCJhVMQ6aTo/7lk46qXg==",
				"profileId": "ACoAAAMexucB_8-R5gDq-I3kAx8w9S1eNI1nt_8",
				"picture": "https://media.licdn.com/dms/image/C5603AQGnVoHcrgtsSQ/profile-displayphoto-shrink_100_100/0/1646444743066?e=1724284800&v=beta&t=byZUjr5Aept0Kr3tV2xLSavpVr_V5Xfj0uLikGctUCk"
			}
		}
	],
	"numShares": 0,
	"numLikes": 62,
	"numComments": 1,
	"canReact": true,
	"canPostComments": true,
	"canShare": true,
	"commentingDisabled": false,
	"allowedCommentersScope": "ALL",
	"rootShare": true,
	"shareAudience": "PUBLIC"
}
````

### Integrations

You can use [Make](https://www.make.com/en/register?pc=growthhack) to integrate linkedin post extractor to any other SaaS platform by designing your own automation flows.

### Linkedin posts search API

The actor stores results in a dataset. You can export data in various formats such as CSV, JSON, XLS, etc.
You can scrape and access data on demand using API. For more information, Go to [Linkedin post scraper API documentation](https://apify.com/curious_coder/linkedin-post-search-scraper/api/endpoints) page

**Related actors:**

- [Facebook post scraper](https://apify.com/curious_coder/facebook-post-scraper)
- [Linkedin post reaction scraper](https://apify.com/curious_coder/linkedin-post-reactions-scraper)
- [Linkedin comment scraper](https://apify.com/curious_coder/linkedin-comment-scraper)

### How to extract posts from a Linkedin profile or company

To extract posts from a Linkedin profile, you need to pass the list of Linkedin profiles URLs to the API in `urls` field.
Example for Company profile URL:

- `https://www.linkedin.com/company/amazon`
  Example for User profile URL:
- `https://www.linkedin.com/in/williamarruda`

### How to scrape Linkedin posts from authors in specific niche ?

Go to [Linkedin posts search page](https://www.linkedin.com/search/results/content) and click on **Advanced filters**
Now configure all the filters related to author such as Author industry, Author keywords, etc and click 'Search' button.
Now copy the URL from the address bar and pass it to the actor.

### FAQs

#### Are there any limitations to the number of posts I can scrape?

If you are scraping posts from a posts search URL, then there is a limitation of 400 posts per search on Linkedin, but for other sources there are no known limitations theoritically.
But the actual number of posts you can scrape may depend on your Apify subscription plan and LinkedIn's rate limits. Be mindful of these limitations to ensure uninterrupted scraping.

#### Can I schedule automatic scrapes with LinkedIn Post Scraper?

Yes, you can schedule automatic scrapes using Apify's scheduling features. This allows you to retrieve updated data at specified intervals.

### Your feedback

We’re always working on improving the performance of our Actors. So if you’ve got any technical feedback for this scraper or simply found a bug, please create an issue on the actor’s [Issues](https://console.apify.com/actors/kfiWbq3boy3dWKbiL/issues) tab in Apify Console

For additional information you can email us at <heycuriouscoder@gmail.com>

# Actor input Schema

## `cookie` (type: `array`):

Cookies are used to authorize the actor with Linkedin<br><br> Follow these steps to get the cookies: <ol> <li>Install [Cookie-Editor](https://chromewebstore.google.com/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm) chrome extension</li> <li> Login to your Linkedin account </li> <li> Click on the extension and export the Linkedin cookies </li> <li>Paste the copied contents here</li> </ol> <p> \<a href=https://youtu.be/YuKp9BlVgNM target=\_blank>\<img src=https://www.youtube.com/s/desktop/66e817d4/img/favicon\_32x32.png width=16px> Video - How to get cookies (0:14)</a>

## `userAgent` (type: `string`):

[Click here](https://www.google.com/search?q=my+user+agent) to get the user agent info

## `urls` (type: `array`):

Supported URLs: Linkedin post search URL, Linkedin user or company profile URL, Linkedin post URL

## `limitPerSource` (type: `integer`):

Limit number of posts scraped per source URL

## `scrapeUntilDate` (type: `string`):

Stop scraping when posts are older than this date (YYYY-MM-DD). Only works when results are sorted by date descending (newest first). For search URLs, add sortBy=%22date\_posted%22 to your URL. User and company profile feeds are always newest first.

## `deepScrape` (type: `boolean`):

Get more information such as likes, comments etc

## `rawData` (type: `boolean`):

Push the scraped data directly to the dataset without any processing and filtering. This might be useful if you are looking for some missing data in the dataset

## `minDelay` (type: `integer`):

Minimum duration in seconds to wait before scraping next page

## `maxDelay` (type: `integer`):

Maximum duration in seconds to wait before scraping next page

## `proxy` (type: `object`):

Choose a proxy from the country where you are logged into LinkedIn

## Actor input object example

```json
{
  "urls": [
    "https://www.linkedin.com/posts/linkedin_no-is-a-complete-sentence-activity-7247998907798978560-J_hB?utm_source=share&utm_medium=member_desktop",
    "https://www.linkedin.com/company/amazon",
    "https://www.linkedin.com/search/results/content/?datePosted=%22past-24h%22&keywords=ai&origin=FACETED_SEARCH"
  ],
  "deepScrape": true,
  "rawData": false,
  "minDelay": 2,
  "maxDelay": 4,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyCountry": "US"
  }
}
```

# 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 = {
    "urls": [
        "https://www.linkedin.com/posts/linkedin_no-is-a-complete-sentence-activity-7247998907798978560-J_hB?utm_source=share&utm_medium=member_desktop",
        "https://www.linkedin.com/company/amazon",
        "https://www.linkedin.com/search/results/content/?datePosted=%22past-24h%22&keywords=ai&origin=FACETED_SEARCH"
    ],
    "minDelay": 2,
    "maxDelay": 4,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("curious_coder/linkedin-post-search-scraper").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 = {
    "urls": [
        "https://www.linkedin.com/posts/linkedin_no-is-a-complete-sentence-activity-7247998907798978560-J_hB?utm_source=share&utm_medium=member_desktop",
        "https://www.linkedin.com/company/amazon",
        "https://www.linkedin.com/search/results/content/?datePosted=%22past-24h%22&keywords=ai&origin=FACETED_SEARCH",
    ],
    "minDelay": 2,
    "maxDelay": 4,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("curious_coder/linkedin-post-search-scraper").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 '{
  "urls": [
    "https://www.linkedin.com/posts/linkedin_no-is-a-complete-sentence-activity-7247998907798978560-J_hB?utm_source=share&utm_medium=member_desktop",
    "https://www.linkedin.com/company/amazon",
    "https://www.linkedin.com/search/results/content/?datePosted=%22past-24h%22&keywords=ai&origin=FACETED_SEARCH"
  ],
  "minDelay": 2,
  "maxDelay": 4,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyCountry": "US"
  }
}' |
apify call curious_coder/linkedin-post-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Linkedin post scraper",
        "description": "Scrape linkedin posts or updates from linkedin post search results.\nSupports advanced linkedin search filters. \nExtract posts from any linkedin member",
        "version": "1.3",
        "x-build-id": "pifzfu9ZaV7nzXZzd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/curious_coder~linkedin-post-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-curious_coder-linkedin-post-search-scraper",
                "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/curious_coder~linkedin-post-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-curious_coder-linkedin-post-search-scraper",
                "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/curious_coder~linkedin-post-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-curious_coder-linkedin-post-search-scraper",
                "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": [
                    "cookie",
                    "userAgent",
                    "urls",
                    "proxy"
                ],
                "properties": {
                    "cookie": {
                        "title": "🍪 Cookies",
                        "type": "array",
                        "description": "Cookies are used to authorize the actor with Linkedin<br><br> Follow these steps to get the cookies: <ol> <li>Install [Cookie-Editor](https://chromewebstore.google.com/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm) chrome extension</li> <li> Login to your Linkedin account </li> <li> Click on the extension and export the Linkedin cookies </li> <li>Paste the copied contents here</li> </ol> <p> <a href=https://youtu.be/YuKp9BlVgNM target=_blank><img src=https://www.youtube.com/s/desktop/66e817d4/img/favicon_32x32.png width=16px> Video - How to get cookies (0:14)</a>"
                    },
                    "userAgent": {
                        "title": "User agent",
                        "type": "string",
                        "description": "[Click here](https://www.google.com/search?q=my+user+agent) to get the user agent info"
                    },
                    "urls": {
                        "title": "Source URLs",
                        "minItems": 1,
                        "type": "array",
                        "description": "Supported URLs: Linkedin post search URL, Linkedin user or company profile URL, Linkedin post URL",
                        "items": {
                            "type": "string"
                        }
                    },
                    "limitPerSource": {
                        "title": "Limit per source",
                        "type": "integer",
                        "description": "Limit number of posts scraped per source URL"
                    },
                    "scrapeUntilDate": {
                        "title": "Scrape until date",
                        "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
                        "type": "string",
                        "description": "Stop scraping when posts are older than this date (YYYY-MM-DD). Only works when results are sorted by date descending (newest first). For search URLs, add sortBy=%22date_posted%22 to your URL. User and company profile feeds are always newest first."
                    },
                    "deepScrape": {
                        "title": "Scrape additional information",
                        "type": "boolean",
                        "description": "Get more information such as likes, comments etc",
                        "default": true
                    },
                    "rawData": {
                        "title": "Get raw data (Advanced)",
                        "type": "boolean",
                        "description": "Push the scraped data directly to the dataset without any processing and filtering. This might be useful if you are looking for some missing data in the dataset",
                        "default": false
                    },
                    "minDelay": {
                        "title": "⏱️ Minimum wait duration",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum duration in seconds to wait before scraping next page",
                        "default": 2
                    },
                    "maxDelay": {
                        "title": "⏱️ Maximum wait duration",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum duration in seconds to wait before scraping next page",
                        "default": 4
                    },
                    "proxy": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Choose a proxy from the country where you are logged into LinkedIn"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
