Maton

LinkedIn Community Management

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 -g to 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:

FieldDescriptionRequired
authorOrganization or Person URN (URL-encoded)Yes
qMust be authorYes
countNumber of results (max 100, default 10)No
startOffset for pagination (default 0)No
sortByLAST_MODIFIED or CREATEDNo

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"

Resources

On this page