LinkedIn Profile Posts Scraper & Content Monitor (No Login)
Pricing
$0.75 / 1,000 profile posts
LinkedIn Profile Posts Scraper & Content Monitor (No Login)
Scrape public LinkedIn profile posts without login. Extract full text, verified dates, reactions, comments, media, external links, author details, and quality scores. Ideal for creator research, brand monitoring, lead signals, competitive intelligence, and scheduled content tracking.
Pricing
$0.75 / 1,000 profile posts
Rating
0.0
(0)
Developer
Cracks API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
18 days ago
Last modified
Categories
Share
LinkedIn Profile Posts Scraper & Content Monitor
Scrape and monitor publicly available LinkedIn profile posts without a LinkedIn login. Start with exact profile URLs and export structured post text, publication dates, engagement, media, external links, author details, visible comment samples, and transparent quality evidence.
Unofficial. This independent Actor is not affiliated with, endorsed by, or sponsored by LinkedIn. LinkedIn is a trademark of its respective owner.
What this Actor does
- Accepts exact
https://www.linkedin.com/in/...profile URLs - Discovers publicly indexed posts and articles without cookies
- Opens each discovered public post page for richer structured metadata
- Extracts full visible post text instead of returning only search snippets
- Extracts verified publication timestamps from public Schema.org data
- Captures reactions, comments, media, outbound links, and author followers when visible
- Returns up to 10 publicly visible comment previews when exposed
- Sorts enriched posts newest first and deduplicates by post URL or ID
- Filters by date range, keyword, and content type
- Supports optional caller-authorized enrichment using secret session inputs
- Keeps thin, failed, empty, dry-run, and charge-limit records uncharged
- Exports through JSON, CSV, Excel, XML, REST API, webhooks, n8n, Make, Zapier, and MCP
Best use cases
Executive and creator monitoring
Track the public content of executives, founders, creators, candidates, speakers, and industry experts from a curated list of exact profile URLs.
Sales and recruiting research
Use recent public posts to understand visible interests, launches, hiring themes, priorities, and professional expertise before personalized outreach.
Content and competitor intelligence
Analyze publishing frequency, topics, post formats, external links, engagement, and media usage across selected profiles.
Automated alerts
Schedule recurring runs, store previously seen postId or postUrl values, and trigger an alert only when a new post matches your keyword or content-type rules.
Collection modes
public
The default. Requires no LinkedIn account or cookies. It discovers public post URLs through web indexes, then enriches each result from the directly accessible public post page and its Schema.org metadata.
auto
Uses the optional caller-authorized session only when both secret values are supplied. If that route is unavailable, it safely falls back to public collection.
authenticated
Uses the caller's own authorized li_at and JSESSIONID values. If the authorized route fails, the Actor returns an uncharged error rather than silently changing modes.
Secret values are never written to the dataset or logs.
Input
| Field | Type | Description |
|---|---|---|
profileUrls | string[] | Required exact LinkedIn /in/ profile URLs |
maxProfiles | integer | Maximum unique profiles to process |
maxPostsPerProfile | integer | Maximum rich posts returned per profile |
mode | string | public, auto, or authenticated |
liAt, jsessionId | secret string | Optional caller-authorized session values |
dateFrom, dateTo | string | Optional ISO date or timestamp boundaries |
keywords | string[] | Case-insensitive OR filter across visible text and links |
contentTypes | string[] | all, post, article, video, image, document, poll, newsletter, repost, or unknown |
requestDelaySecs | number | Base polite delay; default 1 second |
maxRetries | integer | Retry limit for transient network and rate-limit errors |
maxTotalCharge | number | Optional local USD cap before the next paid result |
dryRun | boolean | Validate inputs without network requests or paid events |
proxyConfiguration | object | Optional Apify proxy configuration |
Example input
{"profileUrls": ["https://www.linkedin.com/in/satyanadella/"],"maxPostsPerProfile": 2,"mode": "public","contentTypes": ["all"],"requestDelaySecs": 1,"maxRetries": 2,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output fields
Every successful record represents one public post or article and can include:
postId,postUrl,profileUrl,publicIdentifierauthorName,authorProfileUrl,authorHeadline,authorImageUrl,authorFollowerstext,publishedAt,contentTypereactionsCount,commentsCount,repostsCountmedia,externalLinks,commentsPreviewqualityScore,qualityReasonssourceMode,sourceEvidencerequestedMode,requestedAt,status,error
Example:
{"postId": "7502385664945111040","postUrl": "https://www.linkedin.com/posts/example_activity-7502385664945111040-abcd","profileUrl": "https://www.linkedin.com/in/example/","publicIdentifier": "example","authorName": "Example Person","authorProfileUrl": "https://www.linkedin.com/in/example/","authorHeadline": "Founder and CEO","authorFollowers": 120000,"text": "Full publicly visible post text...","publishedAt": "2026-09-06T15:22:10.036Z","contentType": "video","reactionsCount": 3252,"commentsCount": 210,"repostsCount": null,"media": [{"type": "video","url": "https://...","thumbnailUrl": "https://..."}],"externalLinks": ["https://example.com/article"],"commentsPreview": [{"authorName": "Public Commenter","text": "Publicly visible comment...","publishedAt": "2026-09-06T16:20:33.728Z","reactionsCount": 3}],"qualityScore": 100,"qualityReasons": ["full public post text","verified publication date","reaction count","comment count","media metadata"],"sourceMode": "public_post_page","status": "success"}
Unavailable fields remain null. The Actor does not invent post dates, engagement, authors, media, or links.
Quality and billing
A result is charged only when it passes the paid quality gate. A paid post must contain:
- A valid LinkedIn post URL
- Meaningful visible text
- A visible author
- A verified publication timestamp
- At least one rich signal from engagement, media, or an external link
Thin indexed snippets are returned as insufficient_data without a paid event. Errors, empty results, dry runs, and local charge-limit records are also uncharged.
Pricing
- Profile post: $0.75 per 1,000 successful rich posts
One successful result emits exactly one profile-post event. The public Store price is authoritative.
API
Replace <APIFY_TOKEN> with your Apify API token.
curl -X POST \"https://api.apify.com/v2/acts/generous_fog~linkedin-profile-posts-scraper-content-monitor/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"profileUrls": ["https://www.linkedin.com/in/satyanadella/"],"maxPostsPerProfile": 2,"mode": "public"}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('generous_fog/linkedin-profile-posts-scraper-content-monitor').call({profileUrls: ['https://www.linkedin.com/in/satyanadella/'],maxPostsPerProfile: 2,mode: 'public',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("generous_fog/linkedin-profile-posts-scraper-content-monitor").call(run_input={"profileUrls": ["https://www.linkedin.com/in/satyanadella/"],"maxPostsPerProfile": 2,"mode": "public",})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
n8n, Make, Zapier, and MCP
Use the synchronous API endpoint for small runs or start the Actor asynchronously for larger scheduled monitoring jobs. Send the Actor input as JSON, wait for the run to finish, then pass the default dataset to Google Sheets, Airtable, a CRM, Slack, email, a database, or an AI-analysis step.
For recurring monitoring, deduplicate downstream by postId or postUrl before sending alerts.
Dataset views
- Successful posts: core author, text, date, quality, and source fields
- Engagement metrics: reactions, comments, reposts, follower count, and visible comment previews
- Media and external links: post assets, outbound links, quality reasons, and source evidence
- Errors, empty results, and limits: uncharged operational and insufficient-data records
Limitations
- Profile-to-post discovery relies on public web indexes and can lag behind the live LinkedIn feed.
- Public pages vary by profile, region, language, and time.
- Some public posts expose no repost count or complete engagement breakdown.
- Deleted, private, connection-only, or non-indexed posts cannot be returned in public mode.
- Optional authorized endpoints and response structures can change.
- Residential proxies can improve availability but cannot guarantee coverage.
The Actor does not bypass CAPTCHA, authentication walls, access controls, or platform restrictions. Use public personal data responsibly and follow applicable privacy, employment, marketing, and data-protection laws.
More LinkedIn Actors by Cracks API
- LinkedIn Jobs Scraper No Login - Find and export LinkedIn job posts without login.
- LinkedIn People Search Scraper & Lead Scorer - Discover prospects and score them for outreach.
- LinkedIn Company Employees Scraper - Find public employee profiles and decision-makers by company.
- LinkedIn Profile Scraper & Public Email Finder - Extract public profile data and evidence-based public emails.
- LinkedIn Profile Posts Scraper & Content Monitor - Track public profile posts, content updates, and activity.
- LinkedIn Company Details Scraper & Website Intelligence - Enrich company profiles with website and business intelligence.