LinkedIn API

LinkedIn Group posts API

List the posts in a LinkedIn group by group URL, newest first: full text, canonical link, publish date, author, engagement counts with a per-reaction breakdown, and attached media. One call returns a page of about 100 posts; pass page to go further back.

POST/v1/run/linkedin.group_posts
Uptime
100.00%
30d · 1 call
Requests
1
30d
Response
2.7s
median · 30d

Pricing

LinkedIn Group posts API pricing

Providers
Hedgehog1 served100.00% uptime2620ms p50$2.60/1k reqflat
You pay
$26.00
$2.60/1k req, only for what you use. No monthly plan.
Your first 38 requests are free with the $0.10 starting balance.

Try it

Get LinkedIn group posts in one request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.
{
  "data": {
    "items": [
      {
        "articleDescription": "A short example description of this item.",
        "articleImage": "https://example.com/image.jpg",
        "articleLinkLabel": "https://example.com/page",
        "articleSubtitle": "Example title",
        "articleTitle": "Example title",
        "articleUrl": "https://example.com/page",
        "author": {
          "groupAdmin": true,
          "handle": "alex_rivera",
          "headline": "Example title",
          "id": "a1b2c3d4",
          "image": "https://example.com/image.jpg",
          "linkedinUrl": "https://example.com/page",
          "name": "Example title",
          "type": "general",
          "website": "https://example.com/page"
        },
        "contentAttributes": [
          {}
        ],
        "createdUtc": 12.5,
        "documentImage": "https://example.com/image.jpg",
        "documentPageCount": 12500,
        "documentTitle": "Example title",
        "documentUrl": "https://example.com/page",
        "edited": true,
        "engagement": {
          "comments": 12500,
          "likes": 12500,
          "reactions": [
            {
              "count": null,
              "type": null
            }
          ],
          "shares": 13
        },
        "id": "a1b2c3d4",
        "newsletterTitle": "Example title",
        "newsletterUrl": "https://example.com/page",
        "pinned": true,
        "pollClosed": false,
        "pollOptions": [
          {
            "text": "A short example description of this item.",
            "votes": 42
          }
        ],
        "pollQuestion": "example",
        "pollTotalVotes": 12500,
        "postImages": [
          {}
        ],
        "postVideo": {},
        "repostArticleDescription": "A short example description of this item.",
        "repostArticleImage": "https://example.com/image.jpg",
        "repostArticleLinkLabel": "https://example.com/page",
        "repostArticleSubtitle": "Example title",
        "repostArticleTitle": "Example title",
        "repostArticleUrl": "https://example.com/page",
        "repostAuthorHandle": "alex_rivera",
        "repostAuthorHeadline": "Alex Rivera",
        "repostAuthorId": "Alex Rivera",
        "repostAuthorImage": "https://example.com/image.jpg",
        "repostAuthorName": "Alex Rivera",
        "repostAuthorType": "Alex Rivera",
        "repostAuthorUniversalName": "Alex Rivera",
        "repostAuthorUrl": "https://example.com/page",
        "repostCreatedUtc": 248,
        "repostEngagement": {
          "comments": 12500,
          "likes": 12500,
          "shares": 13
        },
        "repostId": "a1b2c3d4",
        "repostImages": [
          {
            "height": 42,
            "url": "https://example.com/page",
            "width": 1024
          }
        ],
        "repostText": "A short example description of this item.",
        "repostUrl": "https://example.com/page",
        "repostVideoThumbnail": "https://example.com/image.jpg",
        "repostVideoUrl": "https://example.com/page",
        "shareUrl": "https://example.com/page",
        "text": "A short example description of this item.",
        "url": "https://example.com/page"
      }
    ]
  },
  "found": true,
  "reason": "not_found"
}

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-23 · uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • urlstring

    https://www.linkedin.com/groups/1898033

    Full LinkedIn group URL (e.g. https://www.linkedin.com/groups/1898033).

  • pageinteger

    Which page of about 100 posts to return, starting at 1 (default 1). Page 2 continues where page 1 ended, going further back in time. Each page is billed as one request.

  • postedLimitenum

    Only return posts published within this window (default any). The window is applied to the page, so a page can come back with fewer posts or none.

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

each itemdata.items[]

Posts in the group, newest first. A post the group admins pinned can come first on page 1. Populated whenever the provider has data for the entity.

  • articleDescriptionstring

    Description excerpt of the attached article, when present.

  • articleImagestring

    Cover image URL of the attached article. The query string is a signed token, so keep the URL intact.

  • articleLinkLabelstring

    Accessible link label LinkedIn renders for the attached article.

  • articleSubtitlestring

    Subtitle or source domain of the attached article.

  • articleTitlestring

    Title of the article attached to the post.

  • articleUrlstring

    Destination URL of the attached article.

  • contentAttributesobject[]

    Inline links, mentions and entity references in the post text, each with its character offset.

  • createdUtcnumber

    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.

  • documentImagestring

    Cover image URL of the attached document's first page, when present. The query string is a signed token, so keep the URL intact.

  • documentPageCountinteger

    Number of pages in the attached document, when present.

  • documentTitlestring

    Title of the document (PDF carousel) attached to the post, when present.

  • documentUrlstring

    Download URL of the attached document as a PDF, when present. The query string is a signed token that expires, so keep the URL intact.

  • editedboolean

    Whether the post was edited after it was published.

  • idstring

    Unique identifier of the post. Populated whenever the provider has data for the entity.

  • newsletterTitlestring

    Title of the LinkedIn newsletter associated with the post, when present.

  • newsletterUrlstring

    Canonical URL of the LinkedIn newsletter associated with the post, when present.

  • pinnedboolean

    Whether the group admins pinned the post to the top of the group.

  • pollClosedboolean

    Whether the attached poll is closed.

  • pollQuestionstring

    Question asked by an attached LinkedIn poll.

  • pollTotalVotesinteger

    Total votes recorded by the attached poll.

  • postImagesobject[]

    Images attached to the post.

  • postVideoobject

    Video attached to the post, or null when absent.

  • repostArticleDescriptionstring

    Description excerpt of the reposted post's article, when present.

  • repostArticleImagestring

    Image URL of the reposted post's article, when present.

  • repostArticleLinkLabelstring

    Accessible display label for the reposted post's article link, when present.

  • repostArticleSubtitlestring

    Subtitle or publisher label of the reposted post's article, when present.

  • repostArticleTitlestring

    Title of the article attached to the reposted post, when present.

  • repostArticleUrlstring

    Canonical URL of the reposted post's article, when present.

  • repostAuthorHandlestring

    Public LinkedIn profile handle of the reposted post's author, when present.

  • repostAuthorHeadlinestring

    Headline or follower summary of the reposted post's author, when present.

  • repostAuthorIdstring

    Stable LinkedIn identifier of the reposted post's author, when present.

  • repostAuthorImagestring

    Image URL of the reposted post's author, when present.

  • repostAuthorNamestring

    Display name of the reposted post's author, when present.

  • repostAuthorTypestring

    Author kind for the reposted post, when present.

  • repostAuthorUniversalNamestring

    Universal LinkedIn name of the reposted post's company author, when present.

  • repostAuthorUrlstring

    Canonical LinkedIn URL of the reposted post's author, when present.

  • repostCreatedUtcnumber

    UTC epoch timestamp in seconds (Unix time) when the reposted post was published. Multiply by 1000 for a JS Date in milliseconds.

  • repostIdstring

    Unique identifier of the reposted post, when present.

  • repostTextstring

    Text content of the reposted post, when present.

  • repostUrlstring

    Canonical URL of the reposted post, when present.

  • repostVideoThumbnailstring

    Video thumbnail image URL of the reposted post, when present.

  • repostVideoUrlstring

    Video stream URL of the reposted post, when present. The query string is a signed token, so keep the URL intact.

  • shareUrlstring

    Shareable LinkedIn URL for the post.

  • textstring

    Full text content of the post. Empty for a repost shared without added text. Populated whenever the provider has data for the entity.

  • urlstring

    Canonical URL of the post. Populated whenever the provider has data for the entity.

authordata.items[].author

The member who posted in the group.

  • groupAdminboolean

    Whether LinkedIn labels the author as an admin of this group.

  • handlestring

    Public identifier (vanity handle) of the author.

  • headlinestring

    Profile headline of the author (the tagline under the name).

  • idstring

    LinkedIn identifier of the author.

  • imagestring

    Author profile picture URL. The query string is a signed token, so keep the URL intact.

  • linkedinUrlstring

    LinkedIn profile URL of the author, with tracking query params stripped. Populated whenever the provider has data for the entity.

  • namestring

    Display name of the author. Populated whenever the provider has data for the entity.

  • typestring

    Author kind, e.g. profile.

  • websitestring

    Website URL the author shows on their profile, when present.

engagementdata.items[].engagement

Engagement metrics for the post.

  • commentsinteger

    Number of comments on the post.

  • likesinteger

    Total reaction count on the post. Populated whenever the provider has data for the entity.

  • sharesinteger

    Number of shares/reposts of the post.

each reactiondata.items[].engagement.reactions[]

Per-reaction-type breakdown of the reaction total.

  • countinteger

    Number of reactions of this type.

  • typestring

    Reaction type, e.g. LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION.

each pollOptiondata.items[].pollOptions[]

Options and public vote counts for an attached poll.

  • textstring

    Poll option text.

  • votesinteger

    Votes recorded for this option.

repostEngagementdata.items[].repostEngagement

Engagement metrics for the reposted post, when present.

  • commentsinteger

    Number of comments on the reposted post.

  • likesinteger

    Total reaction count on the reposted post.

  • sharesinteger

    Number of shares/reposts of the reposted post.

each repostImagedata.items[].repostImages[]

Images attached to the reposted post.

  • heightinteger

    Height of the reposted image in pixels.

  • urlstring

    URL of an image attached to the reposted post.

  • widthinteger

    Width of the reposted image in pixels.

top level
  • foundboolean

    Whether the group returned any posts.

  • 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.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the LinkedIn Group posts API

The AnyAPI LinkedIn Group posts API returns LinkedIn group posts data as normalized JSON from one POST call to /v1/run/linkedin.group_posts. List the posts in a LinkedIn group by group URL, newest first: full text, canonical link, publish date, author, engagement counts with a per-reaction breakdown, and attached media. One call returns a page of about 100 posts; pass page to go further back. AnyAPI returns one normalized schema whichever source serves it. It costs from $2.60 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of LinkedIn group posts calls through AnyAPI succeeded, with a median response time of 2.7 seconds across 1 measured calls.

It costs from $2.60 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

List the posts in a LinkedIn group by group URL, newest first: full text, canonical link, publish date, author, engagement counts with a per-reaction breakdown, and attached media. One call returns a page of about 100 posts; pass page to go further back. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 100.0% of LinkedIn group posts calls through AnyAPI succeeded, with a median response time of 2.7 seconds across 1 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers 38 LinkedIn Group posts calls at $0.0026 each.

Send a POST request to https://api.getanyapi.com/v1/run/linkedin.group_posts with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.