Access the LinkedIn Community Management API with managed OAuth authentication. Manage organization pages, create and manage posts, comments, reactions, and retrieve analytics.
Reference
Get Current Member
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/me" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Response:
{
"localizedLastName": "Smith",
"localizedFirstName": "John",
"id": "abc123XYZ",
"vanityName": "john-smith",
"localizedHeadline": "Software Engineer at Acme Corp"
}Get Person by ID
Look up a LinkedIn member's profile by their person ID. The person ID can be obtained from /rest/me, organizationAcls, post authors, or comment actors.
curl -s -g -X GET "https://api.maton.ai/linkedin-community-management/rest/people/(id:{personId})" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Response:
{
"localizedLastName": "Smith",
"profilePicture": {
"displayImage": "urn:li:digitalmediaAsset:C5603AQFWsrW4dwGzmg"
},
"vanityName": "john-smith",
"lastName": {
"localized": {"en_US": "Smith"},
"preferredLocale": {"country": "US", "language": "en"}
},
"firstName": {
"localized": {"en_US": "John"},
"preferredLocale": {"country": "US", "language": "en"}
},
"localizedHeadline": "Software Engineer at Acme Corp",
"id": "abc123XYZ",
"headline": {
"localized": {"en_US": "Software Engineer at Acme Corp"},
"preferredLocale": {"country": "US", "language": "en"}
},
"localizedFirstName": "John"
}Available fields: id, firstName, lastName, vanityName, localizedFirstName, localizedLastName, localizedHeadline, headline, profilePicture
You can request a single field with the fields query parameter:
curl -s -g -X GET "https://api.maton.ai/linkedin-community-management/rest/people/(id:{personId})?fields=localizedHeadline" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Notes:
- The
(id:{personId})syntax uses Rest.li composite key format — parentheses are required - Use
curl -gto prevent shell glob expansion of parentheses - Non-connected members may return
{"id": "private"}with limited data - The person ID comes from URNs like
urn:li:person:{personId}found in org ACLs, post authors, and comment actors
Find Organization by Vanity Name
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizations?q=vanityName&vanityName={vanityName}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Get Organization by ID (Admin Required)
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizations/{organizationId}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Get Organization Follower Count
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/networkSizes/urn%3Ali%3Aorganization%3A{orgId}?edgeType=COMPANY_FOLLOWED_BY_MEMBER" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Response:
{
"firstDegreeSize": 33634367
}Find Administered Organizations
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizationAcls?q=roleAssignee&role=ADMINISTRATOR&state=APPROVED" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Find Child Organizations (Brands)
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizations?q=parentOrganization&parent=urn%3Ali%3Aorganization%3A{orgId}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Create a Post
curl -s -X POST "https://api.maton.ai/linkedin-community-management/rest/posts" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "Content-Type: application/json" \
-d '{
"author": "urn:li:organization:{orgId}",
"commentary": "Your post text here",
"visibility": "PUBLIC",
"distribution": {
"feedDistribution": "MAIN_FEED",
"targetEntities": [],
"thirdPartyDistributionChannels": []
},
"lifecycleState": "PUBLISHED",
"isReshareDisabledByAuthor": false
}'Returns 201 with x-restli-id header containing the post URN (e.g., urn:li:share:123456).
Author can be urn:li:person:{personId} for member posts or urn:li:organization:{orgId} for organization posts.
Create a Post with Media
curl -s -X POST "https://api.maton.ai/linkedin-community-management/rest/posts" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "Content-Type: application/json" \
-d '{
"author": "urn:li:organization:{orgId}",
"commentary": "Check out this video!",
"visibility": "PUBLIC",
"distribution": {
"feedDistribution": "MAIN_FEED",
"targetEntities": [],
"thirdPartyDistributionChannels": []
},
"content": {
"media": {
"title": "Video title",
"id": "urn:li:video:{videoId}"
}
},
"lifecycleState": "PUBLISHED",
"isReshareDisabledByAuthor": false
}'Create an Article Post
curl -s -X POST "https://api.maton.ai/linkedin-community-management/rest/posts" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "Content-Type: application/json" \
-d '{
"author": "urn:li:organization:{orgId}",
"commentary": "Great article on AI",
"visibility": "PUBLIC",
"distribution": {
"feedDistribution": "MAIN_FEED",
"targetEntities": [],
"thirdPartyDistributionChannels": []
},
"content": {
"article": {
"source": "https://example.com/article",
"thumbnail": "urn:li:image:{imageId}",
"title": "Article Title",
"description": "Article description"
}
},
"lifecycleState": "PUBLISHED",
"isReshareDisabledByAuthor": false
}'Get Post by URN
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/posts/{encoded_postUrn}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"URNs must be URL-encoded: urn:li:share:123 becomes urn%3Ali%3Ashare%3A123.
Find Posts by Author (Organization)
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/posts?author=urn%3Ali%3Aorganization%3A{orgId}&q=author&count=10&sortBy=LAST_MODIFIED" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "X-RestLi-Method: FINDER"Parameters:
| Field | Description | Required |
|---|---|---|
| author | Organization or Person URN (URL-encoded) | Yes |
| q | Must be author | Yes |
| count | Number of results (max 100, default 10) | No |
| start | Offset for pagination (default 0) | No |
| sortBy | LAST_MODIFIED or CREATED | No |
Update a Post
curl -s -X POST "https://api.maton.ai/linkedin-community-management/rest/posts/{encoded_postUrn}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "X-RestLi-Method: PARTIAL_UPDATE" \
-H "Content-Type: application/json" \
-d '{
"patch": {
"$set": {
"commentary": "Updated post text"
}
}
}'Returns 204 on success. Only commentary, contentCallToActionLabel, contentLandingPage, and lifecycleState can be updated.
Delete a Post
curl -s -X DELETE "https://api.maton.ai/linkedin-community-management/rest/posts/{encoded_postUrn}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "X-RestLi-Method: DELETE"Returns 204 on success.
Reshare a Post
curl -s -X POST "https://api.maton.ai/linkedin-community-management/rest/posts" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "Content-Type: application/json" \
-d '{
"author": "urn:li:organization:{orgId}",
"commentary": "Great insights!",
"visibility": "PUBLIC",
"distribution": {
"feedDistribution": "MAIN_FEED",
"targetEntities": [],
"thirdPartyDistributionChannels": []
},
"lifecycleState": "PUBLISHED",
"isReshareDisabledByAuthor": false,
"reshareContext": {
"parent": "urn:li:share:{originalPostId}"
}
}'Get Comments on a Post
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/socialActions/{encoded_postUrn}/comments" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Get a Specific Comment
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/socialActions/{encoded_postUrn}/comments/{commentId}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Create a Comment
curl -s -X POST "https://api.maton.ai/linkedin-community-management/rest/socialActions/{encoded_postUrn}/comments" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "Content-Type: application/json" \
-d '{
"actor": "urn:li:organization:{orgId}",
"object": "urn:li:activity:{activityId}",
"message": {
"text": "Your comment text"
}
}'Returns 201 with x-restli-id header containing the comment ID.
Create a Nested Comment (Reply)
curl -s -X POST "https://api.maton.ai/linkedin-community-management/rest/socialActions/{encoded_commentUrn}/comments" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "Content-Type: application/json" \
-d '{
"actor": "urn:li:organization:{orgId}",
"object": "urn:li:share:{shareId}",
"message": {
"text": "Reply to comment"
},
"parentComment": "urn:li:comment:(urn:li:activity:{activityId},{commentId})"
}'Edit a Comment
curl -s -X POST "https://api.maton.ai/linkedin-community-management/rest/socialActions/{encoded_postUrn}/comments/{commentId}?actor=urn%3Ali%3Aorganization%3A{orgId}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "X-RestLi-Method: PARTIAL_UPDATE" \
-H "Content-Type: application/json" \
-d '{
"patch": {
"message": {
"$set": {
"text": "Updated comment text"
}
}
}
}'Delete a Comment
curl -s -X DELETE "https://api.maton.ai/linkedin-community-management/rest/socialActions/{encoded_postUrn}/comments/{commentId}?actor=urn%3Ali%3Aorganization%3A{orgId}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Create a Reaction
curl -s -X POST "https://api.maton.ai/linkedin-community-management/rest/reactions?actor=urn%3Ali%3Aorganization%3A{orgId}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0" \
-H "Content-Type: application/json" \
-d '{
"root": "urn:li:activity:{activityId}",
"reactionType": "LIKE"
}'Reaction types: LIKE, PRAISE (Celebrate), EMPATHY (Love), INTEREST (Insightful), APPRECIATION (Support), ENTERTAINMENT (Funny).
Get Reactions on a Post
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/reactions/(entity:{encoded_entityUrn})?q=entity" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Delete a Reaction
curl -s -X DELETE "https://api.maton.ai/linkedin-community-management/rest/reactions/(actor:urn%3Ali%3Aperson%3A{personId},entity:{encoded_entityUrn})" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Returns 204 on success.
Organization Follower Statistics (Lifetime)
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizationalEntityFollowerStatistics?q=organizationalEntity&organizationalEntity=urn%3Ali%3Aorganization%3A{orgId}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Returns follower counts segmented by geo, function, industry, seniority, and staff count range.
Organization Follower Statistics (Time-Bound)
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizationalEntityFollowerStatistics?q=organizationalEntity&organizationalEntity=urn%3Ali%3Aorganization%3A{orgId}&timeIntervals.timeGranularityType=DAY&timeIntervals.timeRange.start={startMs}&timeIntervals.timeRange.end={endMs}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"timeGranularityType can be DAY, WEEK, or MONTH. Timestamps are milliseconds since epoch.
Organization Page Statistics (Lifetime)
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizationPageStatistics?q=organization&organization=urn%3Ali%3Aorganization%3A{orgId}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Organization Page Statistics (Time-Bound)
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizationPageStatistics?q=organization&organization=urn%3Ali%3Aorganization%3A{orgId}&timeIntervals.timeGranularityType=DAY&timeIntervals.timeRange.start={startMs}&timeIntervals.timeRange.end={endMs}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Organization Share Statistics (Lifetime)
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizationalEntityShareStatistics?q=organizationalEntity&organizationalEntity=urn%3Ali%3Aorganization%3A{orgId}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Response:
{
"elements": [{
"totalShareStatistics": {
"uniqueImpressionsCount": 36430528,
"shareCount": 0,
"engagement": 0.029,
"clickCount": 1999920,
"likeCount": 0,
"impressionCount": 67703905,
"commentCount": 0
},
"organizationalEntity": "urn:li:organization:1337"
}]
}Organization Share Statistics (Time-Bound)
curl -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizationalEntityShareStatistics?q=organizationalEntity&organizationalEntity=urn%3Ali%3Aorganization%3A{orgId}&timeIntervals.timeGranularityType=DAY&timeIntervals.timeRange.start={startMs}&timeIntervals.timeRange.end={endMs}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"Share Statistics for Specific Posts
curl -g -s -X GET "https://api.maton.ai/linkedin-community-management/rest/organizationalEntityShareStatistics?q=organizationalEntity&organizationalEntity=urn%3Ali%3Aorganization%3A{orgId}&shares=List(urn%3Ali%3Ashare%3A{shareId1},urn%3Ali%3Ashare%3A{shareId2})" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Linkedin-Version: 202605" \
-H "X-Restli-Protocol-Version: 2.0.0"