Skip to main content

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.

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

Platform support

PlatformTranscriptMetadataURL formats
YouTubeYesYesyoutube.com/watch?v=, youtu.be/
TikTokYesYestiktok.com/@user/video/, vm.tiktok.com/, tiktok.com/t/
InstagramYesYesinstagram.com/reel/, instagram.com/p/
X/TwitterYesYesx.com/.../status/, twitter.com/.../status/, t.co/
FacebookYesYesfacebook.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
# 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:
ModeBehavior
nativeFetch existing captions only. Fails if none exist.
auto (default)Try native captions first, fall back to AI speech-to-text.
generateAlways use AI speech-to-text.
# 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"