LinkedIn hub

LinkedIn company posts API

Page through a public LinkedIn company feed by vanity URL and get structured JSON — post id, permalink, text, and publish time — without scraping the company timeline yourself.

GET /v1/linkedin/companies/posts

1 credit per successful request.

About this endpoint

Competitive monitoring and content archives usually need the company feed after the page card is already resolved. You have a `/company/{slug}` URL, you want recent posts with stable ids and permalinks, and you need to walk further pages when the first response is not enough. Fetching that HTML yourself means login walls and feed markup that LinkedIn changes without warning.

`GET /v1/linkedin/companies/posts` takes a company `url` query param (full `/company/{slug}` URL, bare slug, `company/{slug}`, or `@slug`) and an optional `page` (1-based, max 7). Branch on `data.lookupStatus` before you write — `found` vs `not_found`. When found, `data.posts` is an array of items with `id`, `url`, `text`, and `publishedAt` when LinkedIn exposes them. `data.page` carries `currentPage`, `nextPage`, `hasMore`, and `maxPage` (always 7). An empty `posts` array with `lookupStatus: found` means that page had nothing public to return, not a hard miss on the company.

This route is the paginated company feed. The company identity card is `GET /v1/linkedin/companies` (it may include a small `recentPosts` sample only). A single post or article permalink is `GET /v1/linkedin/posts`. Keyword discovery is `GET /v1/linkedin/posts/search`. Schools and organization-guest pages belong on `GET /v1/linkedin/organizations`, not here. Pricing is 1 credit per successful request; each page is a separate charge — trust `meta.creditsCharged`.

LinkedIn company posts API FAQ

How do I list LinkedIn company posts via API?

Call `GET /v1/linkedin/companies/posts` with your Social Fetch API key (`x-api-key`), a company `url` query param, and optional `page`. Read `data.lookupStatus`, `data.posts`, and `data.page` in the JSON response. Full parameters are in the API docs.

How much does the LinkedIn company posts endpoint cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.

How does pagination work on LinkedIn company posts?

Pagination is page-based, not cursor-based. Pass `page` as a 1-based integer up to 7. When `data.page.hasMore` is true, request `data.page.nextPage` on the next call. `data.page.maxPage` is always 7 for this operation.

What fields are in each LinkedIn company post?

Each item can include a stable activity `id`, canonical public `url`, full `text` body when available, and `publishedAt` as an ISO-8601 timestamp when LinkedIn exposes it. Coverage follows what is publicly visible on that company page.

Company posts vs company page vs single post lookup?

Use this route to page a company feed. Use `GET /v1/linkedin/companies` for the company card (name, metrics, optional small recent-post sample). Use `GET /v1/linkedin/posts` when you already have a post or article permalink.

What URL format does the LinkedIn company posts endpoint accept?

Pass a public `/company/{slug}` URL, the vanity slug alone, `company/{slug}`, or `@slug`. Numeric company ids are rejected. Person `/in/…` URLs, schools, and organization-guest pages belong on other LinkedIn routes.

What happens when a LinkedIn company page is not found?

The call returns a typed `lookupStatus` of `not_found` with no feed to upsert. Keep `meta.requestId` if you need to retry or escalate that row. An empty `posts` array with `lookupStatus: found` is a resolved company on a page with no public posts, not a miss.