LinkedIn API

LinkedIn Search posts full API

Search public LinkedIn posts with rich author, engagement, attachment, and poll details.

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

What the API returnedposts[0]
{
"id":ย "7283456789012345678",
"url":ย "https://www.linkedin.com/feed/update/urn:li:activity:7283456789012345678",
"text":ย "We just open-sourced our evaluation harness for agentic AI systems. Three months of internal dogfooding baked in.",
"createdUtc":ย 1758931200,
"author":ย {...},
"engagement":ย {...},
"attachmentType":ย "article",
"attachmentTitle":ย "Open-sourcing our agent evaluation harness",
... 8 more fields
}
Uptime
99.91%
30d ยท 48,212 calls
Requests
49,729
30d ยท weekly, last 12 wks
Response
3.2s
median ยท 30d

Try it

Get LinkedIn search 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 `attachmentType` or `pollOptions`, 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 post that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge.
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 34 of 35 fields. See every field

{
  "found": true,
  "data": {
    "posts": [
      {
        "id": "7283456789012345678",
        "url": "https://www.linkedin.com/feed/update/urn:li:activity:7283456789012345678",
        "text": "We just open-sourced our evaluation harness for agentic AI systems. Three months of internal dogfooding baked in.",
        "createdUtc": 1758931200,
        "author": {
          "id": "ACoAAAbcdef1234",
          "name": "Priya Natarajan",
          "headline": "Head of AI Research at Solstice Labs",
          "profileUrl": "https://www.linkedin.com/in/priya-natarajan-ai",
          "image": "https://media.licdn.com/dms/image/D4E03AQPriyaProfile/profile-displayphoto-shrink_800_800/0/1701000000004?e=1735689600",
          "publicIdentifier": "priya-natarajan-ai",
          "type": "person"
        },
        "engagement": {
          "reactions": 1842,
          "comments": 96,
          "reposts": 213,
          "breakdown": [
            {
              "type": "LIKE",
              "count": 1490
            },
            {
              "type": "PRAISE",
              "count": 220
            },
            {
              "type": "INTEREST",
              "count": 132
            }
          ]
        },
        "attachmentType": "article",
        "attachmentTitle": "Open-sourcing our agent evaluation harness",
        "attachmentSubtitle": "solsticelabs.ai",
        "attachmentUrl": "https://solsticelabs.ai/blog/agent-eval-harness",
        "attachmentDescription": "A look at how we test multi-step agents before they reach production.",
        "attachmentImage": "https://media.licdn.com/dms/image/D4E0BAQSolsticeArticle/feedshare-shrink_800/0/1701000000005?e=1735689600"
      },
      {
        "id": "7283109876543210987",
        "url": "https://www.linkedin.com/feed/update/urn:li:activity:7283109876543210987",
        "text": "",
        "createdUtc": 1758758400,
        "author": {
          "id": "urn:li:organization:9182734",
          "name": "Cortex Analytics",
          "headline": "48,910 followers",
          "profileUrl": "https://www.linkedin.com/company/cortex-analytics",
          "image": "https://media.licdn.com/dms/image/D560BAQCortexLogo/company-logo_200_200/0/1701000000006?e=1735689600",
          "publicIdentifier": "cortex-analytics",
          "type": "company"
        },
        "engagement": {
          "reactions": 340,
          "comments": 12,
          "reposts": 28,
          "breakdown": [
            {
              "type": "LIKE",
              "count": 310
            },
            {
              "type": "SUPPORT",
              "count": 30
            }
          ]
        },
        "attachmentType": "poll",
        "pollQuestion": "Which part of the ML lifecycle wastes your team the most time?",
        "pollTotalVotes": 612,
        "pollClosed": false,
        "pollOptions": [
          {
            "text": "Labeling data",
            "votes": 201
          },
          {
            "text": "Feature engineering",
            "votes": 158
          },
          {
            "text": "Eval and monitoring",
            "votes": 253
          }
        ]
      }
    ]
  }
}

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-27 ยท uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • querystring

    artificial intelligence

    LinkedIn post search query, including quoted terms or Boolean operators accepted by LinkedIn search.

  • authorCompanyNamesarray

    Only return posts by people associated with these company names.

  • authorIndustryIdsarray

    Only return posts by authors associated with these LinkedIn industry IDs.

  • authorKeywordsstring

    Only return posts whose author profile headline or job title contains at least one of these keywords.

  • authorUrlsarray

    Only return posts authored by these LinkedIn profile or company URLs.

  • contentTypeenum

    Only return posts carrying this content type.

  • datePostedenum

    last-week

    Only return posts published within this relative time window. Last-hour and windows beyond one month route to the provider that supports them.

  • limitinteger

    10

    Maximum number of posts to return (1-100, default 10). The upper bound is one LinkedIn search page.

  • mentioningMemberUrlsarray

    Only return posts mentioning these LinkedIn member profile URLs.

  • 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 `attachmentType` or `pollOptions`, 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 post that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge.

  • sortenum

    relevance

    Order results by search relevance or publication date.

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

Response

JSON, one example value per field.

each postdata.posts[]

LinkedIn posts matching the search query. Populated whenever the provider has data for the entity.

  • attachmentDescriptionstringcan require

    A look at how we test multi-step agents before they reach production.

    Short description of the attached content, as LinkedIn shows it on the preview card. Best effort on article attachments: depending on the search it may be absent, so treat it as optional. To read an article's content reliably, pass attachmentUrl to the linkedin.article endpoint.

  • attachmentImagestringcan require

    https://media.licdn.com/dms/image/D4E0BAQSolsticeArticle/feedshare-shrink_800/0/1701000000005?e=1735689600

    Image URL associated with the attachment.

  • attachmentSubtitlestringcan require

    solsticelabs.ai

    Subtitle of the attached structured content.

  • attachmentTitlestringcan require

    Open-sourcing our agent evaluation harness

    Title of the attached article, job, or other structured content.

  • attachmentTypestringcan require

    article

    Kind of structured content attached to the post, such as article, job, poll, video, or document.

  • attachmentUrlstringcan require

    https://solsticelabs.ai/blog/agent-eval-harness

    Destination URL of the attachment with tracking parameters removed; a video keeps the signed query it needs to play, and a YouTube link keeps its video id. When attachmentType is article, pass this URL to the linkedin.article endpoint to read the article's full body text.

  • createdUtcnumber

    1758931200

    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

    7283456789012345678

    Stable LinkedIn activity identifier for the post. Populated whenever the provider has data for the entity.

  • pollClosedbooleancan require

    Whether the attached poll is closed.

  • pollQuestionstringcan require

    Question asked by an attached LinkedIn poll.

  • pollTotalVotesintegercan require

    Total votes recorded by the attached poll.

  • textstring

    We just open-sourced our evaluation harness for agentic AI systems. Three months of internal dogfooding baked in.

    Text content of the post. Empty string when the post carries no commentary of its own, such as a bare article share or an image-only post. Populated whenever the provider has data for the entity.

  • urlstring

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

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

authordata.posts[].author

Public author identity attached to the post. Populated whenever the provider has data for the entity.

  • headlinestring

    Head of AI Research at Solstice Labs

    Public headline or company follower summary for the author.

  • idstring

    ACoAAAbcdef1234

    LinkedIn identifier for the author.

  • imagestring

    https://media.licdn.com/dms/image/D4E03AQPriyaProfile/profile-displayphoto-shrink_800_800/0/1701000000004?e=1735689600

    Public profile or company image URL for the author.

  • namestring

    Priya Natarajan

    Display name of the author.

  • profileUrlstring

    https://www.linkedin.com/in/priya-natarajan-ai

    Canonical LinkedIn profile or company URL for the author.

  • publicIdentifierstring

    priya-natarajan-ai

    LinkedIn public identifier (vanity slug) for the author, for example "williamhgates". Stable across lanes, unlike the raw id.

  • type"person" | "company" | "showcase"

    person

    Kind of LinkedIn entity that authored the post, derived from the author URL.

each breakdowndata.posts[].engagement.breakdown[]

Reaction counts grouped by LinkedIn reaction type.

  • countinteger

    1490

    Number of reactions of this type.

  • typestring

    LIKE

    LinkedIn reaction type.

engagementdata.posts[].engagement

Public engagement totals attached to the post. Populated whenever the provider has data for the entity.

  • commentsinteger

    96

    Total comment count.

  • reactionsinteger

    1842

    Total reaction count.

  • repostsinteger

    213

    Total repost or share count.

each pollOptiondata.posts[].pollOptions[]

Options and public vote counts for an attached poll.

  • textstring

    Poll option text.

  • votesinteger

    Votes recorded for this option.

top level
  • foundboolean

    true

    Whether matching LinkedIn 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.

Selling this API? See the full schema your endpoint must return.

FAQ

About the LinkedIn Search posts full API

The AnyAPI LinkedIn Search posts full API returns LinkedIn search posts full data as normalized JSON from one POST call to /v1/run/linkedin.search_posts_full. Search public LinkedIn posts with rich author, engagement, attachment, and poll details. AnyAPI routes each request across 4 sources and falls back automatically when one fails. It costs from $4 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 99.9% of LinkedIn search posts full calls through AnyAPI succeeded, with a median response time of 3.2 seconds across 48,212 measured calls.

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

Search public LinkedIn posts with rich author, engagement, attachment, and poll 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, 99.9% of LinkedIn search posts full calls through AnyAPI succeeded, with a median response time of 3.2 seconds across 48,212 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 25 LinkedIn Search posts full calls at $0.004 each.

AnyAPI asks the next of its 4 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.search_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.