> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bestvideotranscriptapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Supported links

> Every kind of link the url parameter accepts.

Pass any of these as `url`, copied from the browser or the app's share button. The video must be public.

| Platform | Link shapes |
| - | - |
| YouTube | `youtube.com/watch?v=`, `youtu.be/`, `/shorts/`, `/embed/`, `/live/`, or the 11-character video ID. |
| Instagram | `instagram.com/reel/…`, `/reels/…`, `/p/…` (reels and video posts). |
| Facebook | `facebook.com/reel/…`, `/watch/?v=…`, `/<page>/videos/…`, `/share/r/…`, `/share/v/…`, `fb.watch/…`. |
| X | `x.com/<user>/status/<id>`, plus `/video/<n>` for the post's nth video. Also `twitter.com`, `t.co`, `fxtwitter.com`, `vxtwitter.com`, `fixupx.com`. |
| LinkedIn | `linkedin.com/posts/…`, `/feed/update/urn:li:activity:…` (also `ugcPost` and `share` URNs), `/feed/?updateEntityUrn=…`, `/embed/…`, `/video/live/…`, `lnkd.in/…`. |
| Files | Any public `http(s)` link straight to an audio or video file (mp3, m4a, wav, mp4, mov, webm and more), up to 2 GB. |

For a file on your computer, [upload it first](https://docs.bestvideotranscriptapi.com/concepts/uploads.md).

## What doesn't work

| Link | Error |
| - | - |
| Private, removed, age-restricted or region-locked video | `VIDEO_UNAVAILABLE` |
| Stories, photos, carousels, text-only posts | `NOT_A_VIDEO` |
| X Spaces and broadcasts, LinkedIn events and articles | `NOT_A_VIDEO` |
| Live streams and upcoming premieres | `LIVE_STREAM` |
| Vimeo, TikTok, Dailymotion, Loom and other sites | `UNSUPPORTED_PLATFORM` |
| A web page instead of a file | `MEDIA_NOT_FOUND` |

A live stream works once it has ended.

Need a site we don't support yet? Email [aitijya@bestvideotranscriptapi.com](mailto:aitijya@bestvideotranscriptapi.com) and tell us which one.

## Posts with several videos

An X post can hold more than one video. Without `/video/<n>` you get the first, and the response includes a `note` saying how many there are. A number past the last video returns `NOT_A_VIDEO` with the valid range.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.