LinkedIn Hashtag & Post Scraper | No Cookies
Pricing
$24.99/month + usage
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
$24.99/month + usage
Rating
0.0
(0)
Developer
SilentFlow
Maintained by CommunityActor stats
2
Bookmarked
30
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
๐ฅ LinkedIn Post Scraper - No Login Required
This monthly rental is being retired on 1 October 2026. Apify is removing monthly rentals across the platform. The pay-per-result version of this scraper is LinkedIn Post Search Scraper: same data, same inputs, and you are billed for what a run returns instead of a fixed monthly fee. Move across whenever you are ready, your runs and integrations work the same way.
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
๐ 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
| Parameter | Type | Description | Default |
|---|---|---|---|
keywords | Array | Search terms (e.g., ["AI", "startup"]) | [] |
postUrls | Array | Direct LinkedIn post URLs | [] |
profileUrls | Array | Profile or company URLs to get posts from | [] |
dateFilter | Enum | past-week, past-month. Posts take a few days to become searchable, so the freshest results are about three days old. | None |
limit | Integer | Max posts per keyword/profile (1-100) | 10 |
fetchDetails | Boolean | Collect 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 empty | true |
proxy | Object | Proxy configuration | Apify 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.
| Field | Type | Always Present | Notes |
|---|---|---|---|
postId | string | โ | Unique post identifier |
url | string | โ | Full LinkedIn post URL |
text | string | โ ๏ธ | Post content. Filled on most rows, see the completeness note below. Empty when fetchDetails is turned off |
type | string | โ ๏ธ | text, image, or video. Comes with the text, so a row without the post text has no type either |
authorName | string | โ | Author display name |
authorProfileUrl | string | โ | Author's LinkedIn profile URL |
authorProfileId | string | โ | Author's LinkedIn ID |
authorImage | string | โ ๏ธ | Author avatar URL (may be null) |
authorHeadline | string | โ | Rarely published by LinkedIn |
postedAt | string | โ ๏ธ | Posting date. Comes with the text, so a row without the post text has no date either |
numLikes | number | โ ๏ธ | Reaction count. A few posts do not publish it and come back at 0 |
numComments | number | โ ๏ธ | Comment count. A few posts do not publish it and come back at 0 |
numShares | number | โ | LinkedIn no longer publishes this, expect 0 |
images | array | โ ๏ธ | Present when the post carries images, absent from the row otherwise. Measured: on 51 rows of 73 |
hashtags | array | โ ๏ธ | Present when the post carries hashtags, absent from the row otherwise. Measured: on 20 rows of 73 |
isRepost | boolean | โ | Whether post is a repost |
isSponsored | boolean | โ | Whether post is sponsored |
scrapedAt | string | โ | When data was collected |
๐ What each setting gives you
| Data | Default (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
fetchDetailsoff 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:
| Mode | Rows carrying the post text |
|---|---|
keywords | 20 of 20, two searches in one run |
profileUrls | 31 of 33 over three company pages, 18 of 20 over two |
postUrls | a 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
| Setting | Speed | Data |
|---|---|---|
fetchDetails: true (default) | ~30-80 posts/min | Full rows |
fetchDetails: false | ~150 posts/min | Post links only |
โ ๏ธ What this scraper cannot do
- Personal profiles: The
profileUrlsmode 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
numSharesis 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
- Leave
fetchDetailson: it is what fills the text, the posting date and the counts - Use
dateFilter: keep only recent posts - Start small: try
limit: 5before scaling up - Be specific: precise keywords bring back posts you can actually use
- For personal profiles: search by keywords with the person's name instead of
profileUrls
๐ง Troubleshooting
| What you see | What it means | What to do |
|---|---|---|
| No posts found | The profile has no public posts indexed, or the keyword is too narrow | Search by keywords with the person or company name, or widen the date filter |
| Every row has an empty text column | fetchDetails was turned off | Turn it back on, it is on by default |
| A few rows have an empty text column | LinkedIn did not serve those posts during the run. The run says how many when it finishes | Open the post link on those rows, or start the run again to pick them up |
| Run stops before the limit | The public posts that keyword can reach have run out. The final message names both numbers | Add more keywords. Running the same keyword again returns the same posts |
| Invalid URL message | The link is not a LinkedIn post or profile address | Use 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 contentPost links โ Specific posts you already haveProfile mode โ Company pages (OpenAI, Google, etc.)
๐ฌ 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