Facebook Video Transcript API
Get the captions of a video or reel as timed lines and full text, when it has captions.
- 1 credit per call
- Failed calls are free
- Updated
- facebook.video-transcript.get
{ "text": "Explore America's Premier Spaceport at MAX POWER NASA Kennedy Space Center November 7-8 MAX POWER NASA Kennedy Space Center November 7-8, n…", "available": true, "locale": "en_US", "video_id": "2173770173351606", "segments": [ { "text": "Explore America's Premier Spaceport at MAX POWER NASA Kennedy Space Center November 7-8", "end_ms": 1534, "start_ms": 0 }, { "text": "MAX POWER NASA Kennedy Space Center November 7-8, nasa.gov/maxpower", "end_ms": 30030, "start_ms": 24557 } ]}
| # | Text | End ms | Start ms |
|---|---|---|---|
| 1 | Explore America's Premier Spaceport at MAX POWER NASA Kennedy S… | 1534 | 0 |
| 2 | MAX POWER NASA Kennedy Space Center November 7-8, nasa.gov/maxp… | 30,030 | 24,557 |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| url | string | yes | Public Facebook video or Reel URL Default: https://www.facebook.com/NASA/videos/2173770173351606/. |
https://www.facebook.com/NASA/videos/2173770173… |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| segments[].text | string | What is said in this part. | Explore America's Premier Spaceport at MAX POWER NASA Kennedy S… |
| segments[].end_ms | integer | When this part ends, in milliseconds from the start. | 1534 |
| segments[].start_ms | integer | When this part starts, in milliseconds from the start. | 0 |
| text | string | The full transcript text. | Explore America's Premier Spaceport at MAX POWER NASA Kennedy S… |
| available | boolean | Whether the video has captions. | true |
| locale | string | The captions' language. | en_US |
| segments | array | The transcript, part by part with timings. | 2 records |
| video_id | string | Facebook's ID for the video. | 2173770173351606 |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "facebook.video-transcript.get", "input": { "url": "https://www.facebook.com/NASA/videos/2173770173351606/" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "facebook.video-transcript.get", "input": { "url": "https://www.facebook.com/NASA/videos/2173770173351606/" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "facebook.video-transcript.get", "input": { "url": "https://www.facebook.com/NASA/videos/2173770173351606/" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
With Upscrape, get the Facebook video transcript for https://www.facebook.com/NASA/videos/2173770173351606/. Tell me what it costs before you run it, then show the results as a table.
More from the Facebook API
- Facebook Page API1 credit
- Facebook Page Posts API1 credit
- Facebook Post API1 credit
- Facebook Post Comments API1 credit
- Facebook Comment Replies API1 credit
- Facebook Ads Library Search API1 credit
- Facebook Page Videos API1 credit
- Facebook Page Reels API1 credit
- Facebook Video API1 credit
- Facebook Reel API1 credit
- Facebook Page About Information API1 credit
- Facebook Page Photos API1 credit
- Facebook Photo API1 credit
- Facebook Page Events API1 credit
- Facebook Event API1 credit
- Facebook Group API1 credit
The same data from other platforms
Facebook Video Transcript API FAQ
The short answers. The docs have the long ones.
How much does the Facebook Video Transcript API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send url. The input fields below list every option with its type and limits.
Do I need a Facebook login?
No. It reads public Facebook data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds facebook.video-transcript.get, checks its price and runs it with the same credits as the REST API.
Your first Facebook call is free.
Up to 100 free credits to start, no card needed.