LinkedIn Posts Search API avatar

LinkedIn Posts Search API

Pricing

from $2.50 / 1,000 results

Go to Apify Store
LinkedIn Posts Search API

LinkedIn Posts Search API

Search and filter LinkedIn posts by keyword, country, hiring intent, links, engagement, and freshness. Built for job discovery, lead generation, market research, and content monitoring.

Pricing

from $2.50 / 1,000 results

Rating

5.0

(1)

Developer

Alex SandHive

Alex SandHive

Maintained by Community

Actor stats

3

Bookmarked

85

Total users

22

Monthly active users

5 days ago

Last modified

Share

LinkedIn Posts Parser

Apify Actor for searching a hosted LinkedIn posts dataset. The Actor calls the API, forwards the selected filters, and saves each returned post as one dataset item.

Use it to find hiring posts, monitor niche keywords with LinkedIn boolean search, export posts with links, discover fresh low-competition discussions, filter by parse time, or search inside parsed comments.

Core Use Cases

Use AND / OR / NOT, quotes, and parentheses inside each query string (same idea as LinkedIn boolean search).

{
"query": [
"\"strategy and operations\" AND hiring AND (Chennai OR Kolkata OR Jaipur OR India)"
],
"sortBy": "newest",
"limit": 25
}

Bulk OR Queries

Multiple query entries are OR'd. Each entry may itself use boolean syntax.

{
"query": ["machine learning", "deep learning", "ai OR ml"],
"sortBy": "newest"
}

Hiring Post Discovery

Find posts that look like job openings or active hiring announcements.

{
"query": ["software engineer"],
"isHiring": "true",
"country": ["us", "gb", "de"],
"sortBy": "newest"
}

Fresh Low-Competition Posts

Find recent posts with few comments so you can engage early.

{
"query": ["product strategy"],
"maxComments": 5,
"postedWithinHours": 24,
"sortBy": "newest"
}

Recently Parsed Posts

Filter by when the post HTML was ingested/parsed (parseTimestamp), not only when it was published.

{
"query": ["hiring"],
"parsedWithinHours": 24,
"sortBy": "newest"
}

Custom parse window:

{
"parsedAfter": "2026-09-01T00:00:00Z",
"parsedBefore": "2026-09-02T00:00:00Z",
"sortBy": "newest",
"limit": 25
}

Hashtag And Comment Monitoring

Search by hashtags and parsed comments.

{
"hashtags": ["hiring", "ai"],
"commentQuery": "interested",
"hasComments": "true",
"sortBy": "hot"
}

High-Engagement Research

Find top-performing posts in a niche.

{
"query": ["startup fundraising"],
"minLikes": 50,
"sortBy": "top"
}

Dataset Export

Use limit and offset to export filtered pages into your own workflows.

{
"query": ["product manager"],
"limit": 100,
"offset": 100
}

Input Filters

Empty fields are ignored. The API combines provided filters with AND logic, except query list items and hashtags / country lists, which are OR'd within that field.

ParameterTypeDefaultDescription
querystring | string[]-Keyword / LinkedIn boolean search. A list ORs sub-queries; each string supports AND, OR, NOT, quotes, and parentheses.
excludeWordsstring-Exclude posts containing any of these indexed word tokens.
countrystring | string[]-ISO-2 LinkedIn country/subdomain code(s), OR'd.
hashtagsstring[]-Match posts containing any listed hashtag. #ai and ai both work.
contentTypestring-Stored LinkedIn content type, for example POST.
commentQuerystring-Case-insensitive text search inside parsed comments.
commentAuthorstring-Case-insensitive search by parsed comment author name.
hasComments"", "true", "false"""Any, only posts with parsed comments, or only posts without parsed comments.
isHiring"", "true", "false"""Any, hiring posts, or non-hiring posts.
hasLink"", "true", "false"""Any, posts with external links, or posts without external links.
minLikes / maxLikesinteger-Minimum or maximum likes.
minComments / maxCommentsinteger-Minimum or maximum comment count.
minLikesPerHour / maxLikesPerHournumber-Minimum or maximum likes/hour velocity.
minCommentsPerHour / maxCommentsPerHournumber-Minimum or maximum comments/hour velocity.
postedWithinHoursinteger-Only posts from the last N hours, max 8760. API default is 216 h when query/excludeWords is set; pass 0 to disable. Ignored when postedAfter/postedBefore is set.
timeRelevanceany, lastHour, last24h, lastWeek, lastMonth-Relative publication recency. Overridden by postedWithinHours / custom posted range.
postedAfter / postedBeforestring (ISO 8601)-Custom publication timestamp range. Disables the default recency window.
parsedWithinHoursinteger-Only posts parsed in the last N hours. Also derives a publication window; skips implicit posted defaults.
parsedAfter / parsedBeforestring (ISO 8601)-Custom parseTimestamp range. Disables parsedWithinHours.
authorTypeany, person, companyanyFilter by inferred author type.
sortBynewest, top, hotnewestSort by publication time, likes, or engagement velocity.
limitinteger25Number of posts to return, from 1 to 100.
offsetinteger0Pagination offset, max 10000.

Boolean filters are strings in the Actor input schema so users can keep the filter unset with "" / Any. The Actor converts "true" and "false" to booleans before sending the API request. Legacy inputs that pass query or country as a single string still work.

Output Dataset Format

Each dataset item is one post returned from the API.

FieldTypeDescription
postKeystringUnique LinkedIn post identifier.
textstring | nullFull post text.
hashtagsstring[]Hashtags parsed from the post text.
contentTypestringStored LinkedIn content type, usually POST.
authorstring | nullAuthor display name.
authorUrlstring | nullLinkedIn profile, company, or showcase URL.
authorTypeperson | companyInferred from authorUrl.
createdAtstring | nullISO 8601 publication timestamp.
geostring | nullStored geo code or label.
likesinteger | nullNumber of likes/reactions.
commentsCountinteger | nullNumber of comments.
commentsobject[]Parsed comments, if available.
hasLinkbooleanWhether the post contains an external link.
isHiringbooleanWhether the post appears to be a hiring/job post.
postUrlstring | nullDirect LinkedIn post URL.
likesPerHournumberLikes divided by post age in hours.
commentsPerHournumberComments divided by post age in hours.

Parsed comment objects can contain:

FieldTypeDescription
urnstring | nullLinkedIn comment URN.
authorstring | nullComment author display name.
authorUrlstring | nullLinkedIn URL of the comment author.
textstring | nullComment text.
timeTextstring | nullOriginal relative time text.
datePublishedstring | nullPublished date if available.
likesintegerNumber of likes on the comment.

Example Input

{
"query": [
"\"strategy and operations\" AND hiring AND (Chennai OR Kolkata OR India)"
],
"excludeWords": "course webinar",
"country": ["us", "in"],
"hashtags": ["hiring", "productmanagement"],
"isHiring": "true",
"hasLink": "true",
"hasComments": "true",
"minLikes": 3,
"maxComments": 10,
"parsedWithinHours": 48,
"authorType": "company",
"sortBy": "newest",
"limit": 50
}

Example Output Item

{
"postKey": "7180000000000000000",
"text": "We're hiring a Senior Product Manager to join our platform team...",
"hashtags": ["hiring", "productmanagement"],
"contentType": "POST",
"author": "Acme Corp",
"authorUrl": "https://www.linkedin.com/company/acme-corp",
"authorType": "company",
"createdAt": "2026-03-30T14:22:00+00:00",
"geo": "us",
"likes": 47,
"commentsCount": 6,
"comments": [
{
"urn": "urn:li:comment:(activity:7180000000000000000,7190000000000000000)",
"author": "Jane Doe",
"authorUrl": "https://www.linkedin.com/in/jane-doe",
"text": "Interested, thanks for sharing.",
"timeText": "2h",
"datePublished": "2026-03-30T16:10:00Z",
"likes": 1
}
],
"hasLink": true,
"isHiring": true,
"postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180000000000000000",
"likesPerHour": 2.35,
"commentsPerHour": 0.3
}