LinkedIn hub

LinkedIn transcript API

Transcribe spoken audio from a public LinkedIn post video — billed only when a non-empty transcript comes back.

GET /v1/linkedin/posts/transcript

1 credit when a transcript is found; no charge when a transcript is unavailable.

About this endpoint

Competitor and thought-leadership monitors often need the spoken pitch from a LinkedIn video post, not the reaction count or article preview. LinkedIn does not offer a documented public caption export for arbitrary competitor clips, and HTML players behind login walls are a poor batch target.

`GET /v1/linkedin/posts/transcript` takes a public post `url`. On a completed 200, branch on `data.lookupStatus` (`found` / `not_found` / `lookup_failed`). Unlike Instagram or X, `found` here means a non-empty plain string in `data.transcript` plus `data.post.url`. When speech is missing, the API returns `not_found` with `transcript: null` (and may still echo `post.url`) — that outcome charges 0 credits.

Videos over the supported transcription length return HTTP 400 `video_too_long_for_transcription` instead of a null string on 200. There is no `useAiFallback` and no timed-segment payload. Pricing is 1 credit when a transcript is found, 0 when unavailable; confirm with `meta.creditsCharged`.

LinkedIn transcript API FAQ

How do I get a LinkedIn post video transcript via API?

Call `GET /v1/linkedin/posts/transcript` with your Social Fetch API key (`x-api-key`) and a public LinkedIn post `url`. Read `data.lookupStatus`, then `data.post` and `data.transcript`. Full parameters and examples are in the API docs.

How much does the LinkedIn transcript endpoint cost?

1 credit when a transcript is found; 0 credits when a transcript is unavailable, as documented on this page. Confirm every response with meta.creditsCharged — that field is the billing source of truth.

What URL formats does the LinkedIn transcript API accept?

A public LinkedIn post permalink whose video you want transcribed. Pass the full link as `url`. Person `/in/…` pages belong on `GET /v1/linkedin/profiles`. Company pages belong on `GET /v1/linkedin/companies`.

What format is the LinkedIn transcript response?

When status is `found`, `data.transcript` is a non-empty plain string and `data.post` includes the requested URL. This is not WebVTT and not timed segments. Always check `data.lookupStatus` before assuming text is present.

How does LinkedIn define found vs no transcript?

`found` means a non-empty transcript was returned. When speech is unavailable, the API returns `not_found` (or `lookup_failed`) with `transcript: null` and charges 0 credits — even if `post.url` is still present. Persist `meta.requestId` when you need to debug a miss.

What happens if a LinkedIn video is too long to transcribe?

The API returns HTTP 400 with `video_too_long_for_transcription`. That is not the same as a 200 with `transcript: null`. Persist `meta.requestId` / `error.requestId` if you need support on a rejected clip.

LinkedIn transcript vs LinkedIn post detail?

Use `GET /v1/linkedin/posts/transcript` for spoken text from post video. Use `GET /v1/linkedin/posts` for post or article metadata, author, and engagement. They are different paths on the LinkedIn hub.