LinkedIn API

LinkedIn Profile posts full API

Fetch recent public LinkedIn profile posts with enriched author, engagement, article, newsletter, media, annotation, repost, and social activity details.

$5.00/1k req, pay per request, no subscription.

What the API returneditems[0]
{
"id": "urn:li:activity:7481009887654321098",
"url": "https://www.linkedin.com/posts/williamhgates_malaria-eradication-progress-activity-7481009887654321098-pT4n",
"text": "New case data out of Mozambique this week: districts that switched to the dual active ingredient bed nets two years ago are reporting a 42% drop in confirmed cases.",
"createdUtc": 1758384000,
"type": "ORIGINAL",
"author": {...},
"publicationUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7481009887654321098",
"engagement": {...},
... 36 more fields
}
Uptime
99.99%
30d · 12,574 calls
Requests
12,575
30d · weekly, last 12 wks
Response
2.5s
median · 30d

Pricing and providers

LinkedIn Profile posts full API pricing: one API, 3 interchangeable providers

The cheapest provider serves first. If it fails, the next one takes over in the same call.

You pay
$50.00
$5.00/1k req, only for what you use. No monthly plan.
Your first 20 requests are free with the $0.10 starting balance.

Try it

Get LinkedIn profile posts full in one request

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 `nextCursor`, 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 profile that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. On a paginated walk it applies to the first page only; later pages stay with the source that page chose, at the price it was quoted.
Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.

This sample shows 51 of 98 fields. See every field

{
  "found": true,
  "data": {
    "items": [
      {
        "id": "urn:li:activity:7481009887654321098",
        "url": "https://www.linkedin.com/posts/williamhgates_malaria-eradication-progress-activity-7481009887654321098-pT4n",
        "text": "New case data out of Mozambique this week: districts that switched to the dual active ingredient bed nets two years ago are reporting a 42% drop in confirmed cases.",
        "createdUtc": 1758384000,
        "type": "ORIGINAL",
        "author": {
          "id": "ACoAAAC8x1nRkWpJ2tYq7vLh3oB5mC9zEjKfA0d",
          "handle": "williamhgates",
          "type": "profile",
          "name": "Bill Gates",
          "profileUrl": "https://www.linkedin.com/in/williamhgates/",
          "headline": "Co-chair, Bill & Melinda Gates Foundation",
          "image": "https://media.licdn.com/dms/image/v2/D4E03AQEz9pWkLm2vTr/profile-displayphoto-shrink_400_400/bill-gates.jpg",
          "imageWidth": 400,
          "imageHeight": 400
        },
        "publicationUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7481009887654321098",
        "engagement": {
          "reactions": 9840,
          "comments": 288,
          "reposts": 155,
          "breakdown": [
            {
              "type": "LIKE",
              "count": 7600
            },
            {
              "type": "APPRECIATION",
              "count": 1800
            },
            {
              "type": "INTEREST",
              "count": 440
            }
          ]
        },
        "socialContent": {
          "hideCommentsCount": false,
          "hideReactionsCount": false,
          "hideSocialActivityCounts": false,
          "hideShareAction": false,
          "hideSendAction": false,
          "hideRepostsCount": false,
          "hideViewsCount": false,
          "hideReactAction": false,
          "hideCommentAction": false,
          "showContributionExperience": false,
          "showSocialDetail": true,
          "shareUrl": "https://www.linkedin.com/posts/williamhgates_malaria-eradication-progress-activity-7481009887654321098-pT4n"
        }
      },
      {
        "id": "urn:li:activity:7482310098765432101",
        "url": "https://www.linkedin.com/posts/williamhgates_the-next-decade-of-clean-energy-activity-7482310098765432101-qR9m",
        "text": "The next decade of clean energy will be decided by how fast we can get long duration storage to cost parity with gas peaker plants. Breakthrough Energy is backing three new companies working on exactly that problem.",
        "createdUtc": 1758556800,
        "type": "SHARE",
        "author": {
          "id": "ACoAAAC8x1nRkWpJ2tYq7vLh3oB5mC9zEjKfA0d",
          "handle": "williamhgates",
          "type": "profile",
          "name": "Bill Gates",
          "profileUrl": "https://www.linkedin.com/in/williamhgates/",
          "headline": "Co-chair, Bill & Melinda Gates Foundation",
          "image": "https://media.licdn.com/dms/image/v2/D4E03AQEz9pWkLm2vTr/profile-displayphoto-shrink_400_400/bill-gates.jpg",
          "imageWidth": 400,
          "imageHeight": 400
        },
        "publicationUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7482310098765432101",
        "engagement": {
          "reactions": 18420,
          "comments": 612,
          "reposts": 340,
          "breakdown": [
            {
              "type": "LIKE",
              "count": 14100
            },
            {
              "type": "PRAISE",
              "count": 3200
            },
            {
              "type": "INTEREST",
              "count": 1120
            }
          ]
        },
        "articleTitle": "Long duration storage just crossed a cost threshold that matters",
        "articleSubtitle": "gatesnotes.com",
        "articleUrl": "https://www.gatesnotes.com/energy/long-duration-storage-cost-threshold",
        "articleDescription": "Three portfolio companies are now shipping iron air and thermal batteries under $20 per kilowatt hour.",
        "articleLinkLabel": "gatesnotes.com",
        "articleImage": "https://media.licdn.com/dms/image/v2/D4E10AQGp8xRkWnLpVz/article-cover/long-duration-storage.jpg",
        "articleImageWidth": 1200,
        "articleImageHeight": 627,
        "images": [
          {
            "url": "https://media.licdn.com/dms/image/v2/D4E10AQGp8xRkWnLpVz/article-cover/long-duration-storage.jpg",
            "width": 1200,
            "height": 627
          }
        ],
        "socialContent": {
          "hideCommentsCount": false,
          "hideReactionsCount": false,
          "hideSocialActivityCounts": false,
          "hideShareAction": false,
          "hideSendAction": false,
          "hideRepostsCount": false,
          "hideViewsCount": false,
          "hideReactAction": false,
          "hideCommentAction": false,
          "showContributionExperience": false,
          "showSocialDetail": true,
          "shareUrl": "https://www.linkedin.com/posts/williamhgates_the-next-decade-of-clean-energy-activity-7482310098765432101-qR9m"
        }
      }
    ]
  }
}

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

Request body

JSON, posted to this endpoint.

  • urlstring

    https://www.linkedin.com/in/williamhgates/

    Full URL of the public LinkedIn profile whose posts should be returned.

  • contextCountryenum

    Regional LinkedIn context used when retrieving posts.

  • cursorstring

    Pagination cursor from a previous response's nextCursor.

  • includeQuotePostsboolean

    Whether to include quote posts that add commentary to shared content.

  • includeRepostsboolean

    Whether to include reposts that share content without added commentary.

  • limitinteger

    10

    Most posts to return (1-100, default 10). Ignored on sources that page: each call returns one full page of 50 posts; follow nextCursor for more. Sources that cannot page return up to `limit` posts in one call with no nextCursor.

  • postedLimitenum

    Only return posts published within this relative time window.

  • postedLimitDatestring

    Only return posts published on or after this date or timestamp, using a JavaScript-compatible date-time string.

  • 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 `nextCursor`, 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 profile that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. On a paginated walk it applies to the first page only; later pages stay with the source that page chose, at the price it was quoted.

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[]

Recent enriched posts published by the profile. Populated whenever the provider has data for the entity.

  • articleDescriptionstring

    Description excerpt of the attached article, when present.

  • articleImagestring

    Image URL of the attached article, when present.

  • articleImageHeightinteger

    Height of the attached article image in pixels.

  • articleImageWidthinteger

    Width of the attached article image in pixels.

  • articleLinkLabelstring

    Accessible display label for the attached article link, when present.

  • articleSubtitlestring

    Subtitle or publisher label of the attached article, when present.

  • articleTitlestring

    Title of the attached article, when present.

  • articleUrlstring

    Canonical URL of the attached article, when present.

  • createdUtcnumber

    1758384000

    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.

  • idstring

    urn:li:activity:7481009887654321098

    Unique identifier of the LinkedIn 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.

  • publicationUrlstring

    https://www.linkedin.com/feed/update/urn:li:activity:7481009887654321098

    Canonical LinkedIn feed publication URL for the post. Populated whenever the provider has data for the entity.

  • repostArticleDescriptionstring

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

  • repostArticleImagestring

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

  • repostArticleImageHeightinteger

    Height of the reposted post's article image in pixels.

  • repostArticleImageWidthinteger

    Width of the reposted post's article image in pixels.

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

  • textstring

    New case data out of Mozambique this week: districts that switched to the dual active ingredient bed nets two years ago are reporting a 42% drop in confirmed cases.

    Text content of the post. Populated whenever the provider has data for the entity.

  • typestring

    ORIGINAL

    LinkedIn record type reported for the post.

  • urlstring

    https://www.linkedin.com/posts/williamhgates_malaria-eradication-progress-activity-7481009887654321098-pT4n

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

  • videoThumbnailstring

    Thumbnail URL of the attached video, when present.

  • videoUrlstring

    URL of the attached video, when present.

authordata.items[].author

Detailed identity and publication information for the post author. Populated whenever the provider has data for the entity.

  • handlestring

    williamhgates

    Public LinkedIn profile handle of the author. Populated whenever the provider has data for the entity.

  • headlinestring

    Co-chair, Bill & Melinda Gates Foundation

    Professional headline or follower summary displayed for the author. Populated whenever the provider has data for the entity.

  • idstring

    ACoAAAC8x1nRkWpJ2tYq7vLh3oB5mC9zEjKfA0d

    Stable LinkedIn identifier of the author. Populated whenever the provider has data for the entity.

  • imagestring

    https://media.licdn.com/dms/image/v2/D4E03AQEz9pWkLm2vTr/profile-displayphoto-shrink_400_400/bill-gates.jpg

    Profile or company image URL of the author. Populated whenever the provider has data for the entity.

  • imageHeightinteger

    400

    Height of the author image in pixels.

  • imageWidthinteger

    400

    Width of the author image in pixels.

  • namestring

    Bill Gates

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

  • profileUrlstring

    https://www.linkedin.com/in/williamhgates/

    Canonical LinkedIn profile or company URL of the author. Populated whenever the provider has data for the entity.

  • typestring

    profile

    Author kind, such as profile or company. Populated whenever the provider has data for the entity.

  • universalNamestring

    Universal LinkedIn name used for company authors, when present.

  • websitestring

    Publication or website URL displayed by the author.

  • websiteLabelstring

    Display label for the author's publication or website link.

each contentAnnotationdata.items[].contentAnnotations[]

Structured mentions and links embedded in the post text.

  • companyIdstring

    LinkedIn identifier of a mentioned company, when present.

  • companyNamestring

    Display name of a mentioned company, when present.

  • companyUrlstring

    Canonical LinkedIn URL of a mentioned company, when present.

  • hyperlinkstring

    Canonical hyperlink attached to the annotation, when present.

  • lengthinteger

    Length of the annotated text span.

  • profileFirstNamestring

    First name of a mentioned profile, when present.

  • profileHandlestring

    Public LinkedIn handle of a mentioned profile, when present.

  • profileIdstring

    LinkedIn identifier of a mentioned profile, when present.

  • profileLastNamestring

    Last name of a mentioned profile, when present.

  • profileUrlstring

    Canonical LinkedIn URL of a mentioned profile, when present.

  • startinteger

    Zero-based start offset of the annotation in the post text.

  • textLinkstring

    Canonical text link attached to the annotation, when present.

  • typestring

    Kind of content annotation.

each breakdowndata.items[].engagement.breakdown[]

Counts grouped by LinkedIn reaction type.

  • countinteger

    7600

    Number of reactions of this type.

  • typestring

    LIKE

    LinkedIn reaction type.

engagementdata.items[].engagement

Engagement totals and reaction breakdown for the post. Populated whenever the provider has data for the entity.

  • commentsinteger

    288

    Total number of comments on the post. Populated whenever the provider has data for the entity.

  • reactionsinteger

    9840

    Total number of reactions on the post. Populated whenever the provider has data for the entity.

  • repostsinteger

    155

    Total number of reposts or shares of the post. Populated whenever the provider has data for the entity.

each imagedata.items[].images[]

Images attached to the post.

  • heightinteger

    Height of the image in pixels.

  • urlstring

    URL of the attached image.

  • widthinteger

    Width of the image in pixels.

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.

socialContentdata.items[].socialContent

LinkedIn visibility and action flags for the post.

  • hideCommentActionboolean

    false

    Whether LinkedIn hides the comment action.

  • hideCommentsCountboolean

    false

    Whether LinkedIn hides the comment count.

  • hideReactActionboolean

    false

    Whether LinkedIn hides the react action.

  • hideReactionsCountboolean

    false

    Whether LinkedIn hides the reaction count.

  • hideRepostsCountboolean

    false

    Whether LinkedIn hides the repost count.

  • hideSendActionboolean

    false

    Whether LinkedIn hides the send action.

  • hideShareActionboolean

    false

    Whether LinkedIn hides the share action.

  • hideSocialActivityCountsboolean

    false

    Whether LinkedIn hides social activity counts.

  • hideViewsCountboolean

    false

    Whether LinkedIn hides the view count.

  • shareUrlstring

    https://www.linkedin.com/posts/williamhgates_malaria-eradication-progress-activity-7481009887654321098-pT4n

    Canonical LinkedIn share URL for the post.

  • showContributionExperienceboolean

    false

    Whether LinkedIn enables the contribution experience.

  • showSocialDetailboolean

    true

    Whether LinkedIn shows social detail.

datadata

The enriched profile posts result, or null when no posts were found.

  • nextCursorstringcan require

    Opaque cursor for the next page of posts, or null when there are no more. Pass it back as cursor to continue.

top level
  • foundboolean

    true

    Whether profile posts 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.

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

FAQ

About the LinkedIn Profile posts full API

The AnyAPI LinkedIn Profile posts full API returns LinkedIn profile posts full data as normalized JSON from one POST call to /v1/run/linkedin.profile_posts_full. Fetch recent public LinkedIn profile posts with enriched author, engagement, article, newsletter, media, annotation, repost, and social activity details. AnyAPI routes each request across 3 sources and falls back automatically when one fails. It costs from $5 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of LinkedIn profile posts full calls through AnyAPI succeeded, with a median response time of 2.5 seconds across 12,574 measured calls.

It costs from $5 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.

Fetch recent public LinkedIn profile posts with enriched author, engagement, article, newsletter, media, annotation, repost, and social activity details. 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 profile posts full calls through AnyAPI succeeded, with a median response time of 2.5 seconds across 12,574 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 20 LinkedIn Profile posts full calls at $0.005 each.

AnyAPI asks the next of its 3 sources in the same request, cheapest first, so one source going down does not fail your call.

Send a POST request to https://api.getanyapi.com/v1/run/linkedin.profile_posts_full 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.