LinkedIn Post Transcript API
Scrape LinkedIn Post Transcript data with one API call. Fetches the transcript from a LinkedIn post video when LinkedIn exposes one publicly. A post with no caption track, or with no video at all, answers `404 RESOURCE_NOT_FOUND` with `details.reason: "no_captions"` and a message saying retrying will return the same result, so you can tell it apart from a transient failure and stop. Credits are only deducted when a transcript is actually returned. **Reposts.** LinkedIn does not show a repost's content to logged-out viewers, so a repost URL is read from the original post it shares: the response carries a `_warnings` note naming the original post's URL (in `data._warnings`, or in `error.details._warnings` when the original has no transcript), and it costs the same as any other transcript request. A post that cannot be read logged-out and cannot be resolved to an original answers `404 RESOURCE_NOT_FOUND` with `details.reason: "post_not_public"`, at no charge.
Last updated October 2026Maintained by the SocialCrawl team
Returns the spoken text of a video in a LinkedIn post. A post with no transcript answers 404 with reason no_captions, and a repost is read from the original post it shares.
Use it to read or search what was said in a LinkedIn video; you are only charged when a transcript actually comes back.
Searching 68 platforms in parallel
What can you do with the Post Transcript API?
The Post Transcript endpoint gives you structured LinkedIn data with computed fields in a single request. No scraping infrastructure to build or maintain.
Example Request
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/linkedin/post/transcript?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fgemini-35-flash-is-a-step-forward-for-google-ugcPost-7465082215316525056-MHBd%2F"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/linkedin/post/transcript",
params={
'url': 'https://www.linkedin.com/posts/gemini-35-flash-is-a-step-forward-for-google-ugcPost-7465082215316525056-MHBd/',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/linkedin/post/transcript?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fgemini-35-flash-is-a-step-forward-for-google-ugcPost-7465082215316525056-MHBd%2F",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| url | Yes | Full URL of the LinkedIn post to transcribe. |
What does the LinkedIn Post Transcript API return?
Every response follows one unified schema. Here is a real, unmodified response body, so you can see the exact fields you get back before spending a credit.
Example response
{
"success": true,
"platform": "linkedin",
"endpoint": "/v1/linkedin/post/transcript",
"data": {
"url": "https://www.linkedin.com/posts/artificial-analysis_gemini-35-flash-is-a-step-forward-for-google-activity-7465082408409870337-4Pm-",
"transcript": "Hey, my name is Declan Jackson. I am a member of technical staff here at Artificial Analysis and I'm going to do a quick chat through the recent release of Gemini 3.5 Flash. This release is really interesting because Google have really prioritized 2 things with this release, but it has come at a bit of a cost. So with this release of Gemini 3.5 Flash, Google have focused on speed and they're focused on agent capabilities. So in terms of speed, Gemini 3.5 Flash we measured in our pre release testing at about 280. Output tokens per second, which is pretty impressive for a model of that level of intelligence. So this really puts it on the Predo frontier of speed and intelligence. Now this also is a massive jump from Gemini 3 flash speeds and also puts it ahead of a model like GPT 5.4 mini. Now on agenti capabilities, it has a massive uplift from Gemini 3 flash and even more so than Gemini 3.1 pro and agender capabilities has been a bit of a weakness for Google in the past. So it's really good to see that they've uplifted that, especially we've seen in our real world task agentic eval GDP Val, a Gemini 3.5 flash records an ELO of around 1650. So this is a head of Gemini 3.1 Pro and other models like Kimmy K 2.6, GLM 5.1. But as I mentioned this does come with a bit of a trade off. The model costs around 5X the cost to run compared to Gemini 3 flush. This is made-up of two factors #1 the actual token price is a lot higher. So the token price is 3X that of Gemini 3 Flash at 1.5 per million input and $9 per million output. We also find that it is using. Tokens on these evaluations. So it's reasoning more and it's also using more turns on our genetic evaluations, which is going to mean that it's going to cost more to run. So it's a really interesting tradeoff here. Speed and intelligence is really improved, but cost is also really increased.",
"transcriptNotAvailable": false
},
"credits_used": 0,
"request_id": "req_example000000",
"cached": true,
"credits_remaining": 9999,
"source": "captured",
"captured_at": "2026-10-02T12:52:23.813Z",
"redacted": true
}Live sample illustrating the unified response shape. Field values reflect the record you query.
How does the LinkedIn Post Transcript API work?
Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.
Method
GET
Response
JSON
How do you scrape social media data in seconds?
The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 68 platforms covering 10B+ monthly active users.
One schema, every platform
Query 68 platforms with identical response structures. Write your integration once.
Computed fields, not just scraped
When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language. Ready to use.
See your data before you code
Visual Data Explorer. Paste any URL, get rich result cards, sortable tables, CSV export.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}Have a question? We got answers
Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.
Contact usHow do I get the transcript of a LinkedIn video post?
What happens if a post has no transcript?
How much does the LinkedIn Post Transcript API cost?
Does every LinkedIn video have a transcript?
What can I do with LinkedIn video transcripts?
Do I need OAuth or a LinkedIn app for transcripts?
Ask AI about SocialCrawl
Ready to scrape LinkedIn Post Transcript data?
Get your API key and start pulling LinkedIn data in under 60 seconds.
