How to Scrape LinkedIn Video Transcripts for a Messaging Review
For a review of company video messaging, the post caption is only part of the source. The spoken explanation can contain product claims, examples, and qualifications that never appear in the caption.
The LinkedIn Video Transcript Scraper collects public posts and transcribes video audio into text with timestamped paragraphs. I maintain this Apify Actor. It accepts company or member pages for recent discovery, or specific post URLs when you already know the clips you need.

Choose discovery or a fixed set of posts
Use profileUrls to discover recent posts from member or company pages. Use postUrls for selected posts, accepting /posts/ links, /feed/update/ links, or bare activity IDs. Direct links give you a more reproducible review set than a feed that changes between runs.
The documented workflow needs no LinkedIn account or cookies. Proxy support is enabled by default and recommended for larger runs because LinkedIn limits requests from one IP.
Discovery is limited. The README describes roughly ten recent accessible posts per profile or company page and additional older posts for member profiles. includeOlderPosts applies only to member profiles. Increasing maxResults does not turn a company page into a complete video archive.
Transcribe a small recent sample
Open the Actor on Apify, select Input, switch to JSON, and paste:
{
"profileUrls": [
"https://www.linkedin.com/company/ted-conferences/"
],
"maxResults": 3,
"onlyVideoPosts": true,
"includeOlderPosts": false,
"includeComments": false,
"language": "auto",
"proxyConfiguration": {"useApifyProxy": true}
}
This is a discovery example, not a promise that three accessible videos will be available. maxResults caps posts across the whole run, with a documented range of one to 1,000. Newest posts are returned first.
Click Start, then inspect the output dataset and log. Keep onlyVideoPosts true for this task so text-only posts are skipped. Setting it false returns those posts too, without transcripts, and they still count as returned posts.
language: "auto" lets the service detect the spoken language. Select a supported language explicitly only when you know the audio and automatic detection is wrong. This option is not a translation request.
Budget for duration, not just post count
Pricing as of September 6, 2026 is $0.010 per returned post, $0.020 per transcribed video, and $0.025 per started minute of transcribed audio. Optional comments add $0.005 per post. The start event is $0.00005 per GB of allocated memory, minimum one event.
For an illustrative 61-second video with successful transcription and comments disabled, the events total $0.010 + $0.020 + two minutes × $0.025 = $0.080, before the start charge and any separate usage. A video up to sixty seconds would have one minute event, giving $0.055 on the same assumptions.
The README says speechless videos do not incur transcription events. Inspect the charge breakdown for what actually occurred rather than multiplying every discovered post by the same assumed duration. Check current pricing before scheduling longer videos or many accounts.
Keep the transcript attached to its evidence
Useful output fields include activityId, postUrl, postedAt, discoveredVia, authorName, authorUrl, text, likeCount, and commentCount. Video fields include hasVideo, durationSeconds, videoUrl, and thumbnailUrl.
The spoken content is in transcript. transcriptParagraphs contains segment objects with text, start, end, and speaker. transcriptLanguage records the detected language and transcriptConfidence provides a model confidence signal.
A speaker value such as 0 is a segment label, not a verified person's identity. The account posting the video is not necessarily the person speaking. Keep that distinction when attributing a statement.

The screenshot is retained from the earlier guide to show the output layout; it does not document a new run. Transcripts are model outputs, and high confidence does not guarantee accurate brand names, numbers, or technical terms.
Make a messaging evidence sheet
Export JSON to preserve paragraphs and timestamps. Create one review row per relevant segment, copying the activity ID, post URL, author, publication date, segment start/end, and text. Add columns for topic, claim, intended audience, and verification status.
Search the transcript for the product or topic under review, then read the surrounding paragraphs. A matching word alone may come from a criticism, hypothetical example, or quoted third party. Classify the actual claim in context instead of treating every keyword occurrence as endorsement.
Listen to the source around any segment you intend to quote. Correct transcription errors in a separate reviewed-text column while retaining the original. Mark who verified the segment and when. If you use a summarization tool, require it to preserve the source post and segment time so a reviewer can check the evidence.
For engagement comparisons, keep post age and collection time in view. Likes on an older post are not directly comparable to likes collected shortly after publication. authorFollowers is contextual audience data, not the number of people who watched the video.
Refresh a small archive carefully
Save selected post URLs after discovery and deduplicate the archive by activityId. A recurring recent-post run can gradually add accessible new videos, but gaps between runs can still leave gaps in coverage. Keep a list of requested posts that failed or returned no transcript.
For missing output, check public availability, whether the post has supported video, and whether the audio contains speech. For an unexpectedly short feed result, review the discovery limitations before increasing the cap. Comments add a different kind of content and cost; enable them only if your review actually needs audience discussion.
The LinkedIn video Node.js example supports a later archive integration. For account context, see LinkedIn company data and decision-maker research. The X video transcript guide and news and social media guide cover related research sources.
Frequently asked questions
Can I backfill a company page’s entire video history?
No. Discovery is limited to accessible recent posts. includeOlderPosts applies to member profiles only and does not provide a complete historical archive.
Does language translate the video?
No. It selects the spoken language for transcription. The output is a transcript of the audio, not a documented translation workflow.
Can I publish a quote based only on transcriptConfidence?
No. A confidence score does not verify a particular name, number, or sentence. Listen to the source segment before quoting it.
