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/transcript1 credit when a transcript is found Free when a transcript is unavailable
About this endpoint
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. See the API docs for parameters and examples.
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 /v2/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.
Other LinkedIn endpoints
- ProfileGET /v2/linkedin/profiles
- ProfilesGET /v2/linkedin/profiles/batch
- Resolve personGET /v2/linkedin/people/resolve
- Profile postsGET /v2/linkedin/people/{entityId}/posts
- Profile commentsGET /v2/linkedin/people/{entityId}/comments
- Employment historyGET /v2/linkedin/people/{entityId}/employment-history
- RecommendationsGET /v2/linkedin/people/{entityId}/recommendations
- InterestsGET /v2/linkedin/people/{entityId}/interests