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

# Supported Platforms

> Video platforms supported for transcript and metadata extraction.

urltodata extracts transcripts and metadata from all major video platforms through a consistent API.

## Platform support

| Platform  | Transcript | Metadata | URL formats                                                   |
| --------- | ---------- | -------- | ------------------------------------------------------------- |
| YouTube   | Yes        | Yes      | `youtube.com/watch?v=`, `youtu.be/`                           |
| TikTok    | Yes        | Yes      | `tiktok.com/@user/video/`, `vm.tiktok.com/`, `tiktok.com/t/`  |
| Instagram | Yes        | Yes      | `instagram.com/reel/`, `instagram.com/p/`                     |
| X/Twitter | Yes        | Yes      | `x.com/.../status/`, `twitter.com/.../status/`, `t.co/`       |
| Facebook  | Yes        | Yes      | `facebook.com/watch`, `facebook.com/.../videos/`, `fb.watch/` |

## YouTube

YouTube has the deepest support with dedicated endpoints for:

* **Video metadata** — title, description, duration, channel, tags, thumbnails, view/like counts
* **Channel metadata** — name, handle, description, subscriber count, banner
* **Playlist metadata** — title, video count, view count, last updated
* **Channel/playlist video listing** — enumerate video IDs with type filtering (video/short/live)
* **Search** — search videos, channels, and playlists with filters
* **Transcripts** — native captions in any available language
* **Translated transcripts** — auto-translated to a target language
* **Batch operations** — process multiple videos in a single async job
* **Comments** — retrieve video comments

## Other platforms

For all other platforms, use the universal endpoints:

* **`GET /v1/transcript`** — get a transcript from any supported URL
* **`GET /v1/metadata`** — get normalized metadata in a consistent format

```bash theme={null}
# TikTok transcript
curl -H "Authorization: Bearer your-api-key" \
  "https://api.urltodata.ai/v1/transcript?url=https://www.tiktok.com/@user/video/123&text=true"

# Instagram metadata
curl -H "Authorization: Bearer your-api-key" \
  "https://api.urltodata.ai/v1/metadata?url=https://www.instagram.com/reel/ABC123/"
```

## Transcript modes

The universal transcript endpoint (`/v1/transcript`) supports three modes:

| Mode             | Behavior                                                   |
| ---------------- | ---------------------------------------------------------- |
| `native`         | Fetch existing captions only. Fails if none exist.         |
| `auto` (default) | Try native captions first, fall back to AI speech-to-text. |
| `generate`       | Always use AI speech-to-text.                              |

```bash theme={null}
# Native captions only
curl -H "Authorization: Bearer your-api-key" \
  "https://api.urltodata.ai/v1/transcript?url=...&mode=native"

# AI-generated transcript
curl -H "Authorization: Bearer your-api-key" \
  "https://api.urltodata.ai/v1/transcript?url=...&mode=generate"
```
