LinkedIn Hashtag & Post Scraper | No Cookies avatar

LinkedIn Hashtag & Post Scraper | No Cookies

Pricing

from $1.25 / 1,000 results

Go to Apify Store
LinkedIn Hashtag & Post Scraper | No Cookies

LinkedIn Hashtag & Post Scraper | No Cookies

Find LinkedIn posts by hashtag or by keyword and export the full text, author, reactions, comments, images and posting date. Also works from a company page, a profile, or exact post links you already have. No login and no cookies needed, in any language LinkedIn publishes worldwide worldwide.

Pricing

from $1.25 / 1,000 results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

2

Bookmarked

38

Total users

3

Monthly active users

15 days ago

Last modified

Features

Limited permissions

Share

🔥 LinkedIn Post Scraper - No Login Required

LinkedIn Hashtag & results, 16 fields each, from any keyword.

From SilentFlow. Creators of Facebook Search Scraper and Pinterest Scraper, with 570,000+ combined lifetime runs.

Try LinkedIn Hashtag & Post Scraper

Scrape LinkedIn posts without a login. Get the post text, the author, the posting date, the reactions and the images, ready for a spreadsheet. 🌐🔍

🌟 Features

  • 🔓 No Login: Nothing to connect, nothing to keep alive on your side
  • 🔍 Three ways in: Search by keywords, paste post links, or follow a profile or company page
  • 📝 Full post content by default: Post text, posting date and post type come back filled in on most rows, and the run tells you how many rows it delivered without them
  • 📈 Engagement: Reactions and comment counts on the posts that publish them
  • 👤 Author details: Name, profile link and avatar
  • 🌍 Any language LinkedIn publishes

💡 Use Cases

  • 📊 Content Analysts: Analyze trending topics and viral posts
  • 💼 Marketers: Monitor brand mentions and competitor content
  • 🎯 Sales Teams: Find engaging content from prospects
  • 🔬 Researchers: Gather social media data for studies
  • 📰 News Aggregators: Track industry announcements
SilentFlow · LinkedIn Hashtag & suite
  LinkedIn Post Search Scraper
Keywords, Hashtags &
  LinkedIn Hashtag & Post Scraper
You are here

🚀 How to Use

Search by Keywords (Most Common)

{
"keywords": ["artificial intelligence", "machine learning"],
"dateFilter": "past-week",
"limit": 20,
"fetchDetails": true
}

Scrape Specific Posts

{
"postUrls": [
"https://www.linkedin.com/posts/openai_the-openai-podcast-activity-7468347768948936704-yw3W"
],
"fetchDetails": true
}

Get Posts from Profile/Company

{
"profileUrls": [
"https://www.linkedin.com/company/openai",
"https://www.linkedin.com/in/satyanadella"
],
"limit": 10,
"fetchDetails": true
}

⚙️ Input Parameters

ParameterTypeDescriptionDefault
keywordsArraySearch terms (e.g., ["AI", "startup"])[]
postUrlsArrayDirect LinkedIn post URLs[]
postIdsArrayLinkedIn post IDs or URNs (e.g. 7130134007584808962), read like post URLs[]
profileUrlsArrayProfile or company URLs to get posts from[]
dateFilterEnumpast-week, past-month. Posts take a few days to become searchable, so the freshest results are about three days old.None
limitIntegerMax posts per keyword/profile (1-100)10
fetchDetailsBooleanCollect the full post content: text, posting date, post type, reaction and comment counts. Turn it off only if you want a fast list of links with the other columns left emptytrue
proxyObjectProxy configurationApify Residential

📤 Output Format

{
"postId": "openai_the-openai-podcast-activity-7468347768948936704-yw3W",
"url": "https://www.linkedin.com/posts/openai_the-openai-podcast-activity-7468347768948936704-yw3W",
"text": "Last month AI found something mathematicians had missed for decades. Reasoning researchers join the podcast to discuss how...",
"type": "text",
"postedAt": "2026-06-04T17:07:43.292Z",
"authorName": "OpenAI",
"authorProfileUrl": "https://www.linkedin.com/company/openai",
"authorProfileId": "openai",
"authorImage": "https://media.licdn.com/...",
"numLikes": 221,
"numComments": 51,
"numShares": 0,
"images": ["https://media.licdn.com/..."],
"hashtags": [],
"isRepost": false,
"isSponsored": false,
"scrapedAt": "2024-01-15T10:30:00Z"
}

Output Field Reference

Availability below is with the default settings, that is with fetchDetails left on. A ⚠️ means the column is filled on most rows but not on every one. How many is measured in Row completeness, measured.

FieldTypeAlways PresentNotes
postIdstring✅Unique post identifier
urlstring✅Full LinkedIn post URL
textstring⚠️Post content. Filled on most rows, see the completeness note below. Empty when fetchDetails is turned off
typestring⚠️text, image, or video. Comes with the text, so a row without the post text has no type either
authorNamestring✅Author display name
authorProfileUrlstring✅Author's LinkedIn profile URL
authorProfileIdstring✅Author's LinkedIn ID
authorImagestring⚠️Author avatar URL (may be null)
authorHeadlinestring❌Rarely published by LinkedIn
postedAtstring⚠️Posting date. Comes with the text, so a row without the post text has no date either
numLikesnumber⚠️Reaction count. A few posts do not publish it and come back at 0
numCommentsnumber⚠️Comment count. A few posts do not publish it and come back at 0
numSharesnumber❌LinkedIn no longer publishes this, expect 0
imagesarray⚠️Present when the post carries images, absent from the row otherwise. Measured: on 51 rows of 73
hashtagsarray⚠️Present when the post carries hashtags, absent from the row otherwise. Measured: on 20 rows of 73
isRepostboolean✅Whether post is a repost
isSponsoredboolean✅Whether post is sponsored
scrapedAtstring✅When data was collected

📊 What each setting gives you

DataDefault (fetchDetails: true)fetchDetails: false
Post URL✅✅
Full text⚠️ most rows❌ empty
Post type⚠️ with the text❌ empty
Posting date⚠️ with the text❌ empty
Author name✅⚠️ from the link only
Author image⚠️ most rows❌ empty
Reactions⚠️ most rows❌ 0
Comments⚠️ when the post has any❌ 0
Hashtags⚠️ when the post has any❌ empty
Images⚠️ when the post has any❌ empty

⚠️ Turning fetchDetails off returns a list of post links and little else. It is faster, and that is the only reason to use it.

📐 Row completeness, measured

Some rows come back without the post text, and with them without the posting date and the post type. It happens when LinkedIn does not serve that particular post's page during the run, and the row is still delivered, with its link and its author, because a link you can open is worth more than a row that was dropped in silence.

How often depends on the mode. Measured over three runs and 73 delivered rows:

ModeRows carrying the post text
keywords20 of 20, two searches in one run
profileUrls31 of 33 over three company pages, 18 of 20 over two
postUrlsa post link is read in full or reported as unread, so there is no half row

Across those same 73 rows: 69 carried the post text, the posting date and the post type, 73 carried the author name and the author profile link, 69 carried the author avatar, 68 carried a reaction count above zero, and none carried the author headline.

You never have to count any of this yourself. Every run ends by saying how many rows it delivered and how many of those came back without the post text, on the run page in the Console. Those figures are counted on the rows in your dataset, so what the run announces is what you can open.

⚡ Speed

SettingSpeedData
fetchDetails: true (default)~30-80 posts/minFull rows
fetchDetails: false~150 posts/minPost links only

⚠️ What this scraper cannot do

  • Personal profiles: The profileUrls mode works best on company pages (OpenAI, Google, Microsoft). Personal profiles are barely indexed publicly, so search by keywords with the person's name instead.
  • Private posts: Posts limited to connections are not public and cannot be collected.
  • Share counts: LinkedIn stopped publishing them, so numShares is 0 on nearly every post.
  • Reaction and comment counts: A handful of posts publish neither, and those rows come back at 0. Measured over 73 rows: 68 came back with a reaction count above zero, 41 with a comment count above zero.
  • A complete row on every single line: some rows arrive without the post text, the posting date and the post type. Counts per mode are in Row completeness, measured, and every run states its own figure when it finishes.
  • Deleted posts: A link to a post that no longer exists returns nothing.

💡 Tips for Best Results

  1. Leave fetchDetails on: it is what fills the text, the posting date and the counts
  2. Use dateFilter: keep only recent posts
  3. Start small: try limit: 5 before scaling up
  4. Be specific: precise keywords bring back posts you can actually use
  5. For personal profiles: search by keywords with the person's name instead of profileUrls

🔧 Troubleshooting

What you seeWhat it meansWhat to do
No posts foundThe profile has no public posts indexed, or the keyword is too narrowSearch by keywords with the person or company name, or widen the date filter
Every row has an empty text columnfetchDetails was turned offTurn it back on, it is on by default
A few rows have an empty text columnLinkedIn did not serve those posts during the run. The run says how many when it finishesOpen the post link on those rows, or start the run again to pick them up
Run stops before the limitThe public posts that keyword can reach have run out. The final message names both numbersAdd more keywords. Running the same keyword again returns the same posts
Invalid URL messageThe link is not a LinkedIn post or profile addressUse the full link: https://www.linkedin.com/posts/...

Understanding empty results

  • Profile mode returns 0 posts: that profile has no publicly indexed posts. Search by keywords with the person's name instead.
  • Keywords return 0 posts: the term is too specific. Try a broader one.
  • A column is empty on one row: LinkedIn does not publish that detail on that post.

When to use each mode

Keywords → Topic research, trending content
Post links → Specific posts you already have
Profile mode → Company pages (OpenAI, Google, etc.)

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🧰 More tools

📬 Support

The run itself tells you what it delivered: a finished run ends with the number of rows collected and how many of those came back without the post text, and a run that returns nothing says why on the run page. Those numbers are counted on the rows in your dataset, never on what the run tried to read.


Made by SilentFlow

⌂ 换网址