LinkedIn Profile comments API
List the comments a LinkedIn member has left on other people's posts - the comment text, its permalink and timestamp, plus the post it was left on and that post's author and engagement.
$2.90/1k req, pay per request, no subscription.
{"id":ย "urn:li:comment:(urn:li:activity:7481203945521098752,7481204988612345601)","commentary":ย "This matches what we are seeing across our portfolio too. The teams that treat AI adoption as a workflow redesign problem, not a tooling purchase, are the ones pulling ahead.","url":ย "https://www.linkedin.com/feed/update/urn:li:activity:7481203945521098752?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7481203945521098752%2C7481204988612345601%29","createdUtc":ย 1758470400,"edited":ย false,"isAuthor":ย false,"actor":ย {...},"engagement":ย {...},... 1 more field}
Pricing and providers
LinkedIn Profile comments API pricing: one API, 2 interchangeable providers
The cheapest provider serves first. If it fails, the next one takes over in the same call.
Try it
Get LinkedIn profile comments in one request
This sample shows 35 of 36 fields. See every field
{
"found": true,
"data": {
"items": [
{
"id": "urn:li:comment:(urn:li:activity:7481203945521098752,7481204988612345601)",
"commentary": "This matches what we are seeing across our portfolio too. The teams that treat AI adoption as a workflow redesign problem, not a tooling purchase, are the ones pulling ahead.",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:7481203945521098752?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7481203945521098752%2C7481204988612345601%29",
"createdUtc": 1758470400,
"edited": false,
"isAuthor": false,
"actor": {
"id": "ACoAAB1kQnRp8sTwYxV4mL2oZ7cN3bE9dJrK6fA",
"name": "Jeff Weiner",
"type": "profile",
"linkedinUrl": "https://www.linkedin.com/in/jeffweiner08",
"position": "Executive Chairman at LinkedIn",
"image": "https://media.licdn.com/dms/image/v2/D4E03AQCz9nRk2wLpXm/profile-displayphoto-shrink_400_400/jeff-weiner.jpg"
},
"engagement": {
"likes": 214,
"comments": 6,
"shares": 0
},
"post": {
"id": "urn:li:activity:7481203945521098752",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:7481203945521098752",
"text": "New data from our workplace learning survey: companies that redesigned at least one core workflow around AI this year saw 3x the productivity lift of those that only added a chat assistant on top of existing processes.",
"postedUtc": 1758440400,
"author": {
"name": "Aisha Kapoor",
"headline": "VP of Learning and Development at Meridian Health",
"profileUrl": "https://www.linkedin.com/in/aisha-kapoor-ld",
"publicIdentifier": "aisha-kapoor-ld",
"image": "https://media.licdn.com/dms/image/v2/D4E03AQFp7nWkRz2xTd/profile-displayphoto-shrink_400_400/aisha-kapoor.jpg"
},
"engagement": {
"reactions": 3820,
"comments": 142,
"reposts": 96
}
}
},
{
"id": "urn:li:comment:(urn:li:activity:7480117620987654321,7480118872341987602)",
"commentary": "Congrats on the launch. Curious how you are handling attribution when a candidate applies through both the careers page and a referral link in the same week.",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:7480117620987654321?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7480117620987654321%2C7480118872341987602%29",
"createdUtc": 1758300000,
"edited": true,
"isAuthor": false,
"actor": {
"id": "ACoAAB1kQnRp8sTwYxV4mL2oZ7cN3bE9dJrK6fA",
"name": "Jeff Weiner",
"type": "profile",
"linkedinUrl": "https://www.linkedin.com/in/jeffweiner08",
"position": "Executive Chairman at LinkedIn",
"image": "https://media.licdn.com/dms/image/v2/D4E03AQCz9nRk2wLpXm/profile-displayphoto-shrink_400_400/jeff-weiner.jpg"
},
"engagement": {
"likes": 38,
"comments": 2,
"shares": 0
},
"post": {
"id": "urn:li:activity:7480117620987654321",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:7480117620987654321",
"text": "We just shipped referral tracking that follows a candidate across every entry point, from a shared job link to an inbound application, so recruiters see one unified timeline.",
"postedUtc": 1758280800,
"author": {
"name": "Marcus Oyelaran",
"headline": "Head of Product, Talent Solutions at Brightloop",
"profileUrl": "https://www.linkedin.com/in/marcus-oyelaran",
"publicIdentifier": "marcus-oyelaran",
"image": "https://media.licdn.com/dms/image/v2/D4E03AQJt2mWkLp8vRz/profile-displayphoto-shrink_400_400/marcus-oyelaran.jpg"
},
"engagement": {
"reactions": 512,
"comments": 34,
"reposts": 11
}
}
}
]
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-28 ยท uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- urlstring
https://www.linkedin.com/in/jeffweiner08
Full URL of the LinkedIn member profile whose comments on other people's posts should be listed.
- limitinteger
10
Maximum number of comments to return.
- postedLimitenum
Only return comments posted within this window (default any).
- requireFieldsarray
Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `edited` or `isAuthor`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a comment that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge.
Response
JSON, one example value per field.
The member who left the comment (a profile or a company).
- idstring
ACoAAB1kQnRp8sTwYxV4mL2oZ7cN3bE9dJrK6fA
LinkedIn identifier of the commenter.
- imagestring
https://media.licdn.com/dms/image/v2/D4E03AQCz9nRk2wLpXm/profile-displayphoto-shrink_400_400/jeff-weiner.jpg
Profile picture URL of the commenter. Populated whenever the provider has data for the entity.
- linkedinUrlstring
https://www.linkedin.com/in/jeffweiner08
Canonical LinkedIn URL of the commenter. Populated whenever the provider has data for the entity.
- namestring
Jeff Weiner
Display name of the commenter. Populated whenever the provider has data for the entity.
- positionstring
Executive Chairman at LinkedIn
Commenter's headline or job title as displayed. Populated whenever the provider has data for the entity.
- typestring
profile
Commenter kind, e.g. 'profile' or 'company'.
Comments this member left on other people's posts, newest first, each with the post it was left on. Populated whenever the provider has data for the entity.
- commentarystring
This matches what we are seeing across our portfolio too. The teams that treat AI adoption as a workflow redesign problem, not a tooling purchase, are the ones pulling ahead.
Full text of the comment the member left. Populated whenever the provider has data for the entity.
- createdUtcnumber
1758470400
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Populated whenever the provider has data for the entity.
- editedbooleancan require
false
Whether the comment has been edited. Null when the serving source does not report it.
- idstring
urn:li:comment:(urn:li:activity:7481203945521098752,7481204988612345601)
Unique identifier of the comment. Populated whenever the provider has data for the entity.
- isAuthorbooleancan require
false
Whether the commenter is also the author of the post. Null when the serving source does not report it.
- urlstring
https://www.linkedin.com/feed/update/urn:li:activity:7481203945521098752?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7481203945521098752%2C7481204988612345601%29
Canonical permalink URL of the comment. Populated whenever the provider has data for the entity.
Engagement metrics for the comment.
- commentsinteger
6
Number of replies to the comment.
- likesinteger
214
Number of likes on the comment.
- sharesinteger
0
Number of shares of the comment.
Author of the post that was commented on.
- headlinestring
VP of Learning and Development at Meridian Health
Public headline or company follower summary for the post author.
- imagestring
https://media.licdn.com/dms/image/v2/D4E03AQFp7nWkRz2xTd/profile-displayphoto-shrink_400_400/aisha-kapoor.jpg
Profile or company image URL of the post author. Populated whenever the provider has data for the entity.
- namestring
Aisha Kapoor
Display name of the post author. Populated whenever the provider has data for the entity.
- profileUrlstring
https://www.linkedin.com/in/aisha-kapoor-ld
Canonical LinkedIn profile or company URL of the post author. Populated whenever the provider has data for the entity.
- publicIdentifierstring
aisha-kapoor-ld
LinkedIn public identifier (vanity slug) of the post author, for example "williamhgates". Stable across lanes, unlike the raw id.
Public engagement totals on the post that was commented on.
- commentsinteger
142
Total comment count on the post.
- reactionsinteger
3820
Total reaction count on the post.
- repostsinteger
96
Total repost or share count on the post.
The post the comment was left on, so the comment can be read in context. Populated whenever the provider has data for the entity.
- idstring
urn:li:activity:7481203945521098752
Unique identifier of the LinkedIn post that was commented on.
- postedUtcnumber
1758440400
UTC epoch timestamp in seconds (Unix time) when the post was published. Multiply by 1000 for a JS Date in milliseconds. Populated whenever the provider has data for the entity.
- textstring
New data from our workplace learning survey: companies that redesigned at least one core workflow around AI this year saw 3x the productivity lift of those that only added a chat assistant on top of existing processes.
Text content of the post that was commented on. Empty when the post carries no commentary of its own, such as a bare reshare or an image-only post. Populated whenever the provider has data for the entity.
- urlstring
https://www.linkedin.com/feed/update/urn:li:activity:7481203945521098752
Canonical LinkedIn URL of the post that was commented on. Populated whenever the provider has data for the entity.
- foundboolean
true
Whether comments by this member were found.
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the LinkedIn Profile comments API
The AnyAPI LinkedIn Profile comments API returns LinkedIn profile comments data as normalized JSON from one POST call to /v1/run/linkedin.profile_comments. List the comments a LinkedIn member has left on other people's posts - the comment text, its permalink and timestamp, plus the post it was left on and that post's author and engagement. AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $2.90 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of LinkedIn profile comments calls through AnyAPI succeeded, with a median response time of 3.1 seconds across 2,133 measured calls.