Linkedin Profile Posts Scraper avatar

Linkedin Profile Posts Scraper

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Linkedin Profile Posts Scraper

Linkedin Profile Posts Scraper

🚀 Discover and capture LinkedIn profile post data fast with this LinkedIn Profile Posts Scraper. Perfect for marketers, researchers, and agencies to boost insights, track trends, and scale outreach with ease—no manual digging. 📈

Pricing

from $1.99 / 1,000 results

Rating

0.0

(0)

Developer

SolidScraper

SolidScraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Linkedin Profile Posts Scraper 🔍

Linkedin Profile Posts Scraper is a purpose-built actor that scrapes LinkedIn profile posts (including regular feed updates) from a given profile, showcase, or company URL and exports the results as structured JSON records. If you’re looking for a LinkedIn post scraper, a LinkedIn profile scraper, or a way to automate LinkedIn post scraping for analysis and reporting, this actor helps you turn public web content into usable data—saving you hours of manual work.


Why choose Linkedin Profile Posts Scraper?

FeatureBenefit
Scrapes posts from profile, showcase, or company URLsCollects feed post data for the target you provide
Max posts control with limitPrevents oversized pulls and keeps runs focused
Proxy support with reliable fallbackHelps maintain access when requests are blocked
Retries for URL fetchingImproves resilience for transient failures
Structured output per postProduces consistent fields for analytics and exports
Dataset-ready resultsAppends each extracted post record immediately for faster iteration

Key features

  • 🧾 Structured post records: Extracts text, timestamps, author metadata, engagement stats, and media info per post
  • 🌐 URL support for profiles, showcases, and companies: Works with LinkedIn profile, showcase, or company URLs you provide
  • 🛡️ Built-in reliability: Uses retry logic for fetching pages and built-in proxy support for more consistent runs
  • ⏱️ Controlled scale with limit: Processes up to your specified “Maximum Posts per URL”
  • 💾 Immediate dataset saving: Each successfully parsed post is pushed to the dataset as soon as it’s extracted
  • 🔄 Resilient multi-path discovery: Uses available profile/activity paths when the target is a profile URL
  • 📊 Engagement statistics included: Captures like/support counters and comment counts when present
  • 🎞️ Media extraction: Detects whether a post includes video content or image content and stores media URLs

Input

Provide input via an input.json file. Example structure:

{
"url": "https://www.linkedin.com/showcase/linkedin-news/",
"limit": 20
}

Input Fields

FieldRequiredDescription
urlYesThe LinkedIn profile, showcase, or company URL to scrape posts from.
limitNoMaximum number of posts to scrape per provided URL. Minimum is 1. Default is 20.

Output

The actor pushes each extracted post record into the Apify dataset as a JSON object.

{
"urn": {
"activity_urn": "1234567890",
"share_urn": "9876543210",
"ugcPost_urn": null
},
"full_urn": "urn:li:activity:1234567890",
"posted_at": {
"date": "2025-01-01 12:34:56",
"relative": "3d",
"timestamp": 1735734896000
},
"text": "Post text content...",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:1234567890",
"post_type": "regular",
"author": {
"first_name": "Alex",
"last_name": null,
"headline": "Author headline...",
"username": "example-profile",
"profile_url": "https://www.linkedin.com/showcase/example-profile/",
"profile_picture": "https://..."
},
"stats": {
"total_reactions": 42,
"like": 42,
"support": 0,
"love": 0,
"insight": 0,
"celebrate": 0,
"funny": 0,
"comments": 7,
"reposts": 0
},
"media": {
"type": "image",
"url": "https://...",
"images": [
{
"url": "https://...",
"width": 1080,
"height": 1350
}
]
}
}

Output Fields

FieldTypeDescription
urnobjectURN identifiers for the activity and related share/post objects
urn.activity_urnstring | nullActivity URN id extracted from the post content
urn.share_urnstring | nullShare URN id (if available)
urn.ugcPost_urnstring | nullUGC post URN id (if available)
full_urnstring | nullFull activity URN in urn:li:activity:<id> format
posted_atobjectPosting time information
posted_at.datestring | nullFormatted datetime string (%Y-%m-%d %H:%M:%S) when available
posted_at.relativestringRelative time text (as extracted)
posted_at.timestampnumber | nullTimestamp in milliseconds (as extracted)
textstringMain post text content (may include newlines)
urlstringThe post URL being processed/stored
post_typestringPost classification; set to "regular"
authorobjectAuthor/profile metadata associated with the post
author.first_namestringAuthor first name (or profile identifier fallback)
author.last_namestring | nullAuthor last name (null for company/showcase-like targets)
author.headlinestringAuthor headline/description (as extracted)
author.usernamestringUsername extracted from your input URL
author.profile_urlstringNormalized author profile URL (profile/showcase/company form)
author.profile_picturestringAuthor profile picture URL (if available)
statsobjectEngagement metrics captured from the post page
stats.total_reactionsnumberTotal reactions derived from LikeAction count
stats.likenumberLike count (same value as total reactions)
stats.commentsnumberComment count derived from CommentAction count
stats.supportnumberSet to 0
stats.repostsnumberSet to 0
mediaobjectPost media information (text-only vs video vs image)
media.typestringMedia type: "text", "video", or "image"
media.urlstring | nullPrimary media URL when present
media.imagesarrayExtracted image entries with url, width, and height
error_message❌ Not present in pushed dataset outputThe pushed post records do not include an error_message field

After the run, export your dataset from Apify in JSON and/or CSV formats for analysis-ready pipelines.


How to use Linkedin Profile Posts Scraper (via Apify Console)

  1. Open Apify Console
    Visit the Apify Console: console.apify.com and sign in.

  2. Find the actor
    Search for Linkedin Profile Posts Scraper and open its actor page.

  3. Go to the Input panel
    Paste your url (LinkedIn profile, showcase, or company) and optionally set limit to control how many posts to extract.

  4. Set your target URL
    In the url field, enter a full LinkedIn URL (for example, a profile like /in/..., or a showcase/company URL).

  5. Tune the extraction size
    Set limit to the maximum number of posts you want scraped for that URL. Default is 20.

  6. Run the actor
    Click Run. While it runs, watch the logs to see progress and processing of each post URL.

  7. Review dataset output
    After completion, open the Dataset tab and preview the records being pushed (one JSON object per successfully processed post).

  8. Export for downstream use
    Export the dataset as JSON or CSV and use it in dashboards, spreadsheets, or your data analysis workflows.

No coding required — get accurate results in minutes with this Linkedin Profile Posts Scraper.


Advanced features & SEO optimization

  • 🧠 Engineered for “LinkedIn post analytics scraper” workflows: Produces consistent fields (author, text, posted_at, stats, media) for aggregation and reporting
  • 🔄 Built-in resilience for LinkedIn content scraper runs: Includes retries and uses proxy support to reduce disruptions when access is restricted
  • 🔍 Input normalization for “LinkedIn profile posts export”: Extracts the username from the provided URL and builds a normalized author profile URL in output
  • 📌 Designed for “LinkedIn lead scraper posts” use cases: Captures author + engagement signals alongside post text for richer outreach targeting

Best use cases

  • 📈 Lead generation teams building prospect content profiles: Batch-scrape public LinkedIn post data to support targeting and research
  • 🧑‍💼 Recruiters tracking employer thought leadership: Analyze showcase or company post activity for hiring signals and culture research
  • 🧪 Market researchers comparing content themes over time: Export structured LinkedIn content scraper data for qualitative coding and trend analysis
  • 📊 Marketing analysts measuring engagement patterns: Use extracted stats and timestamps to correlate topics with reactions and comments
  • 💻 Data engineers automating ETL pipelines: Feed the dataset into downstream systems for dashboards and monitoring
  • 🧠 Brand intelligence analysts monitoring competitors: Maintain a repeatable “scrape LinkedIn posts” workflow for consistent dataset snapshots
  • ✍️ Content strategists auditing formats and media usage: Leverage media detection (video vs image) to evaluate content performance

Technical specifications

Supported Input Formats

  • url: The LinkedIn profile, showcase, or company URL to scrape posts from
  • limit: Integer, minimum 1, default 20

Proxy Support

  • ✅ Built-in proxy support for more reliable scraping runs (with fallback behavior)

Retry Mechanism

  • ✅ Fetch requests include retry logic (up to 3 attempts per URL fetch)

Dataset Structure

  • ✅ One dataset record per successfully processed post pushed via Actor.push_data(..., charged_event_name="result")

Rate Limits & Performance

  • ✅ Designed for controlled batch runs using limit
  • ✅ Includes delays between post requests to improve stability

Limitations

  • ❌ If no posts can be found for the provided URL, the actor logs an error and continues to the next target (if any)
  • ❌ Some posts may fail to download or parse; only successfully processed posts are pushed to the dataset

FAQ

Can I scrape posts from a LinkedIn profile as well as a showcase or company?

✅ Yes. The url input accepts a LinkedIn profile, showcase, or company URL, and the actor extracts author metadata and post URLs accordingly.

What does the limit parameter do?

limit controls the maximum number of posts processed for the provided url. Default is 20, and the minimum allowed value is 1.

What exactly does the output contain?

The actor saves one JSON object per successfully processed post. Each record includes author information, post text, timestamps (posted_at), engagement stats (stats), and media details (media).

Does it require coding?

❌ Not required. You can run it directly from Apify Console by providing url (and optionally limit) in the input form.

Is there any proxy support for reliability?

✅ Yes. The actor supports proxy usage and includes retry logic for fetching pages to improve resilience when access is inconsistent.

Do you provide an error field like error_message in dataset results?

❌ No. The pushed dataset output (per processed post) does not include an error_message field.

Can I export the results as CSV?

Yes. After the run, you can export the Apify dataset in common formats like JSON and CSV from the Dataset tab.

Do you extract data from private or logged-in pages?

❌ No. The actor is intended for scraping data from publicly available sources.


Support & feature requests

If you’re using this Linkedin Profile Posts Scraper for your team and want improvements, we’d love to hear from you.

  • 💡 Feature Requests: Ideas like exporting additional fields, improving output formatting for “LinkedIn posts extraction tool” workflows, or adding new media/stat interpretations are welcome.
  • 📧 Contact: Reach out at dataforleads@gmail.com.

User feedback helps shape the roadmap for future versions of this LinkedIn post analytics scraper.


Closing CTA / Final thoughts

Turn public LinkedIn profile content into structured datasets with this SEO-optimized Linkedin Profile Posts Scraper—built for scale, exports, and real analysis.


Disclaimer

This tool accesses publicly accessible sources only. It does not access private profiles, authenticated content, or password-protected pages. You are responsible for ensuring your use complies with applicable laws (including GDPR and CCPA), spam regulations, and the platform’s Terms of Service.

For data removal requests, contact dataforleads@gmail.com. Use this tool responsibly, ethically, and for legitimate purposes only.