LinkedIn
GET /v1/linkedin/company-posts

LinkedIn Company Posts API

Company posts with engagement{likes,comments,reposts} — cursor pages up to 100.

~16 credits (0.8/result) per request
TL;DR
Company posts with engagement{likes,comments,reposts} — cursor pages up to 100. The LinkedIn Company Posts API (LinkedIn) is a single authenticated GET request to /v1/linkedin/company-posts that responds with clean JSON and costs ~16 credits (0.8/result). Pass cache=true for a free 24h cache hit; default is always fresh. Start with 100 free credits — no credit card.

What is the LinkedIn Company Posts API?

Pass a LinkedIn company URL and get recent public posts as clean JSON. Each row always includes id, url, text, publishedAt, author{name,url}, and engagement{likes,comments,reposts} (null only when LinkedIn omits that metric — never invented zeros). Homepage JSON-LD often ships text without counts; we hydrate each permalink for reaction/comment totals so analytics and competitor content scoring work. Cursor pagination via nextCursor + hasMore (numeric offset); a null nextCursor means the end of the list (max 100 posts). Native path bills 1 credit; Apify deepen stays ~0.8/result. Pass cache=true for the 24h shared cache.

What you get

  • engagement{likes,comments,reposts} always keyed
  • Permalink hydrate when homepage LD omits counts
  • author{name,url} + activity id
  • nextCursor + hasMore (hard max 100, documented)

Platform limits

Honest ceilings from the upstream platform surface — not Captapi bugs. Unexpected truncation here is usually the platform, not us.

  • Reaction breakdown (like/celebrate/love/…) and postType/media carousels are not on this surface yet.
  • reposts is often null on guest hydrates even when likes/comments fill.
  • A null nextCursor means the end of the list (max 100 posts).

Try it

Open in Playground

Fill in the parameters below and copy a ready-to-run request, or open the live Playground to run it against your account (no API key paste).

Parameters

Sign in to run live
curl "https://api.captapi.com/v1/linkedin/company-posts?url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fshopify" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

Edit the parameters and the code updates instantly. Switch languages and hit copy.

Example response

{
  "success": true,
  "data": {
    "company": "microsoft",
    "totalReturned": 5,
    "posts": [
      {
        "platform": "linkedin",
        "type": "post",
        "url": "https://www.linkedin.com/posts/microsoft_july-2026-activity-7487862338335801344-bBsC",
        "text": "Doctors are busy, visits can seem rushed. Many people – especially women – can feel like their doctor hasn’t really heard them.\n \nIn July's edition of The Monthly Tech-In, we explore how AI is helping clinicians spend more time listening to their patients and less time on administrative tasks. Beyond healthcare, we share stories about how farmers, researchers and executives are using AI to meet real-world challenges. \n \nLearn more about the people putting AI into practice.",
        "publishedAt": "2026-07-28T13:31:39.195Z",
        "author": {
          "name": "Microsoft",
          "url": "https://www.linkedin.com/company/microsoft"
        },
        "engagement": {
          "likes": 966,
          "comments": 76,
          "reposts": null
        },
        "id": "7487862338335801344"
      },
      {
        "platform": "linkedin",
        "type": "post",
        "url": "https://www.linkedin.com/posts/satyanadella_just-wrapped-our-earnings-call-it-was-a-activity-7488369807969370112-3kA1",
        "text": "Just wrapped our earnings call. It was a very strong close to what was a record fiscal year for Microsoft.\n  \n· Annual revenue: $331B, +18%\n· MS Cloud: $214B, + 27%\n· And Azure: $100B+, +41%\n  \nAnd even bigger opportunity ahead!\n  \nI wanted to share some more perspective on two areas of focus for us:\n  \nFirst, we are building a new model system, where the harness, context, memory, and action space are separate from any one model family, thereby moving the frontier on the cost -to-outcome curve. \n  \nAnd it’s not just about cost. It also has the added benefit of business continuity and resilience because every model is substitutable. \n  \nThis is the system we are using in our products, with great results. And we are making it available for our customers via Foundry too.\n\nYou can read more about this from Mustafa Suleyman here: https://lnkd.in/gQwfAbuc\n \nSecond, when it comes to Copilot, we are innovating rapidly, from chat to Cowork to Autopilots.\n  \nWe have also been super focused on improving the quality and performance of Copilot. Over the last three quarters, user satisfaction scor …",
        "publishedAt": "2026-07-29T23:08:09.380Z",
        "author": {
          "name": "Satya Nadella",
          "url": "https://www.linkedin.com/in/satyanadella"
        },
        "engagement": {
          "likes": 10710,
          "comments": 436,
          "reposts": null
        },
        "id": "7488369807969370112"
      }
    ],
    "nextCursor": "5",
    "hasMore": true
  }
}

Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Source. Failed requests (4xx/5xx) are never charged. See the full list of error codes in the error reference.

Response structure

A successful call returns success, cached, creditsUsed, and a data object with the following fields:

Top-level fields

  • companyCompany. Example: "microsoft".
  • totalReturnedNumber of items returned in this response.
  • nextCursorCursor to pass for the next page of results. May be null when the platform does not expose deep pagination (e.g. some Facebook Ad Library searches).
  • hasMoreWhether more results are available beyond this page. When true, pass nextCursor to fetch the next page.

Posts

Each item in posts contains:

  • platformPlatform identifier for this response (matches the endpoint's platform).
  • typeContent type of the item.
  • urlCanonical URL of the item.
  • textText content.
  • publishedAtPublish date (ISO 8601) when the platform exposes an absolute timestamp.
  • authorAuthor name or handle.
  • engagementAlways keyed {likes,comments,reposts}. Counts from permalink hydrate when homepage JSON-LD omits them; null only when LinkedIn omits that metric.
  • idStable platform ID for the item.

Parameters

NameTypeRequiredDescription
urlstringYesLinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
limitintegerNoMax items to return (default 20, max 100). Billed per result.
cursorstringNoPagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 100 posts).
cachebooleanNoSet true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits.

Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs ~16 credits (0.8/result) — billed per result, so the exact amount scales with how many items you request. Pass cache=true for a free 24h cache hit; default is always fresh (metrics refresh within ~1 hour).

Using an AI agent? This endpoint is the MCP tool linkedin_company_posts via @captapi/mcp. Set it up →

How it works

  1. 1. Sign up — get 100 free credits, no card required.
  2. 2. Create a key from your dashboard.
  3. 3. Send one request to /v1/linkedin/company-posts and parse the JSON response.

Use cases

Content Pipelines

Ingest a channel's catalog in bulk.

Monitoring

Detect new uploads automatically.

Archiving

Snapshot a creator's library — metadata plus CDN media URLs (re-fetch before mediaUrlsExpireAt).

Analytics

Aggregate performance across many videos.

Frequently asked questions

What does the LinkedIn Company Posts API do?+

The LinkedIn Company Posts API lets you list items in bulk with metadata from a public LinkedIn post using one GET request to /v1/linkedin/company-posts. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the LinkedIn Company Posts API cost?+

At the default limit this endpoint costs 16 credits (0.8 per result). Billing scales with how many results you request. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.

Do I need a LinkedIn API key or OAuth?+

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.

Is the LinkedIn Company Posts API suitable for production use?+

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

More LinkedIn APIs

Ready to use the LinkedIn Company Posts API?

Sign up, grab your key, and make your first call in 60 seconds.