Operated by Sourcelane✓ verified
Get the full transcript of any public Facebook video or reel as text, timestamped segments, SRT and VTT subtitles, plus views, likes, comments and language.
A Facebook-focused transcription and subtitle generation connector that converts Facebook videos and reels into full spoken-text transcripts, timestamped segments, and ready-to-use subtitle files (SRT and VTT); it detects spoken language, chooses between native Facebook captions and speech-to-text transcription, extracts video engagement and publishing metadata, captures author/page metadata, and provides per-video processing status and error information. Technical capabilities include automatic language detection, speech recognition, use of native captions when available, generation of timestamped segments suitable for translation/localization workflows, subtitle formatting (SRT/VTT), assembly of long-video transcriptions processed in parts, and reporting of view/like/comment/share counts, duration, publish date and author details.
Verified Oct 25, 10:11 PM
$0.05
per video
Up to 20 per call. Only pay for results returned; failed calls are refunded.
Subtitles and accessibility
Produce SRT/VTT caption files for Facebook videos and reels.
Content repurposing
Turn Facebook video audio into blog posts, newsletters, social threads, and show notes.
Competitor and brand monitoring
Transcribe recent reels from a page on a schedule and search spoken content.
Market and trend research
Extract claims, product names and topical talking points from niche video content.
Translation and localisation prep
Generate timestamped segments and subtitle files ready for translation workflows.
Facebook video, reel or watch links, one per line.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"facebook-video-transcript-scraper","params":{"videoUrls":["https://www.facebook.com/reel/3674460262701047"],"maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
videoUrls | array | optional | Facebook video, reel or watch links, one per line. Works with facebook.com/reel/..., /watch/?v=..., /PAGE/videos/..., /share/v/..., /share/r/... and fb.watch links. |
pageUrls | array | optional | Public Facebook page or profile links (or just the page name, e.g. natgeo). The connector transcribes each page's newest reels, up to 'Max videos per page'. |
maxVideosPerPage | integer | optional | How many of the newest reels to transcribe for each page or profile. |
transcriptSource | string | optional | 'Auto' uses the video's own Facebook captions when they exist (fast, same timestamps viewers see) and transcribes the audio otherwise. 'Always transcribe audio' ignores Facebook captions and runs speech recognition on every video. |
language | string | optional | Spoken language hint: 'auto' or a 2-letter ISO code (en, es, pt, de...). With a code set, captions in a different language are skipped and the audio is transcribed instead. |
includeSegments | boolean | optional | Add a segments array (start, end, text in seconds) to every row. The full transcript, SRT and VTT are always included. |
maxVideoMinutes | integer | optional | Skip videos longer than this many minutes (they are listed with status 'too_long' and not charged). 0 = no limit. |
maxItems | integer | optional | Safety cap on the total number of videos processed in this run. 0 = no cap (up to 1,000). Capped at 20 per call. |
Each result contains
| Field | Type | Description |
|---|---|---|
status | string | Status |
error | null | Error |
source | string | — |
url | string | Video |
videoId | string | — |
postId | string | — |
authorName | string | Author |
authorHandle | string | — |
authorId | string | — |
authorUrl | string | — |
authorVerified | boolean | — |
caption | string | Caption |
publishedAt | string | Published |
durationSeconds | number | Duration (s) |
viewCount | integer | Views |
likeCount | integer | Likes |
commentCount | integer | Comments |
shareCount | integer | — |
thumbnailUrl | string | — |
audioTitle | string | — |
language | string | Language |
transcriptSource | string | Transcript source |
timestampsApproximate | boolean | — |
transcript | string | Transcript |
wordCount | integer | Words |
segments | array | — |
srt | string | — |
vtt | string | — |
minutesTranscribed | integer | — |
scrapedAt | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Pull the last 30 posts from the Nike page and chart engagement by post type.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"facebook-video-transcript-scraper","params":{"videoUrls":["https://www.facebook.com/reel/3674460262701047"],"maxItems":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "facebook-video-transcript-scraper",
"params": {"videoUrls":["https://www.facebook.com/reel/3674460262701047"],"maxItems":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…