linkedin-posts-api

Collect public LinkedIn posts from profile URLs or specific post URLs, with text, reactions, comments, shares, media, and author details. Apify-backed n8n community node, pay-per-result, and usable as an AI agent tool.

Package Information

Released: this month
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.2
Author: John Cole

Documentation

n8n-nodes-linkedin-posts-api

An n8n community node that collects public LinkedIn posts as structured items: text, reactions, comments, shares, media, hashtags, and author details. It is backed by the LinkedIn Posts API on Apify and bills per post, so there are no subscriptions and no minimums.

Installation · Credentials · Operations · Output · Example workflows · Pricing · Resources

What it does

Give the node one or more profile URLs to discover their recent posts, or specific post URLs to fetch directly. It returns one item per post with the body text, engagement counts, media, hashtags, and author information. It also works as an AI Agent tool, so an agent can pull LinkedIn posts on demand.

  • Discover recent posts from one or more profile URLs
  • Fetch specific post URLs directly
  • Bound discovery volume per profile, and filter by date range
  • Choose how much data to return per post: Simplified, Raw, or Selected Fields

Installation

Follow the n8n community nodes installation guide:

  1. In n8n, open Settings > Community Nodes.
  2. Select Install.
  3. Enter n8n-nodes-linkedin-posts-api as the npm package name.
  4. Agree to the risks of using community nodes, then select Install.

After it installs, the LinkedIn Posts node appears in the nodes panel.

n8n Cloud only allows verified community nodes. Until this node is verified, install it on a self-hosted n8n instance.

Credentials

You need a free Apify account and an API token.

  1. Sign in to the Apify Console.
  2. Open Settings > Integrations and copy your Personal API token.
  3. In n8n, create a new Apify API credential and paste the token.
  4. Use the credential's Test button to confirm it works.

The node also supports Apify OAuth2 if you prefer to connect that way.

Operations

Post > Discover returns recent posts from one or more profile URLs.

Parameter Description
Profile URLs One or more profile URLs to discover posts from. Up to 25 per run.
Max Posts per Profile How many posts to return for each profile URL.
Start Date / End Date Optional YYYY-MM-DD range for discovery.
Output How much data to return: Simplified, Raw, or Selected Fields.

Post > Get fetches specific post URLs.

Parameter Description
Post URLs One or more specific post URLs. Each returns one item. Up to 1000 per run.
Output How much data to return: Simplified, Raw, or Selected Fields.

Output

Each post is returned as its own n8n item. The API returns more than ten fields per post, so the Output parameter lets you choose how much to return:

  • Simplified (default): a compact object with result_type, postUrl, postType, authorName, authorHeadline, text, numLikes, numComments, numShares, datePosted, and summary. This mode is also used automatically when the node runs as an AI Agent tool, to keep responses small.
  • Raw: every field the API returns for each post, using the original field names below.
  • Selected Fields: pick exactly which fields to include.

Rows carry a result_type of either post (a collected post) or error (a validation or collection issue for one source URL), so you can branch on it downstream.

Fields (Raw and Selected Fields)

Field Type Description
result_type string Either post or error
postId string The post's identifier
postUrl string The public URL of the post
postType string The kind of post (post, article, repost)
datePosted string When the post was published
title string The post or article title, when present
text string The post body text
hashtags array Hashtags used in the post
authorName string The author's name or handle
authorHeadline string The author's headline
authorUrl string The author's public profile URL
authorFollowers integer Follower count of the author, when available
authorType string Whether the author is a person or an organization
numLikes integer Number of reactions on the post
numComments integer Number of comments on the post
numShares integer Number of shares or reposts
images array Image URLs attached to the post
videos array Video attachments on the post
embeddedLinks array External links referenced in the post
taggedCompanies array Companies tagged in the post
taggedPeople array People tagged in the post
topComments array A sample of the most visible comments
summary string Plain-language one-line interpretation of the post
sourceUrl string The profile or post URL this row was produced from
fetched_at string Timestamp of when this row was produced
error_message string Human-readable error description (error rows only)
error_type string Machine-readable error category (error rows only)

Example workflows

1. Track a set of profiles into a sheet

  1. Schedule Trigger.
  2. LinkedIn Posts: Discover, Profile URLs set to the accounts you follow, Output Simplified.
  3. Google Sheets / Airtable: append authorName, text, numLikes, and postUrl.

2. Enrich specific posts

  1. Manual Trigger.
  2. LinkedIn Posts: Get, Post URLs pasted in, Output Selected Fields with text, numLikes, numComments, numShares.
  3. Set: keep the engagement fields for reporting.

3. Let an AI Agent pull posts

  1. AI Agent node.
  2. Attach LinkedIn Posts as a tool.
  3. Ask "What has this profile posted recently?" The agent calls the node (in Simplified mode) and returns the posts.

Pricing

This node calls the LinkedIn Posts API on Apify, which is billed pay-per-result (about $0.004 per post returned), with no subscription and no minimums. Apify also includes a free monthly usage tier that covers typical volumes. See the Actor page for current rates.

Resources

License

MIT

Discussion