Skip to main content

What is Yattee Server

Yattee Server is a self-hosted API server powered by yt-dlp. It manages data extraction from YouTube and 1000+ other video sites, and is designed to back the Yattee app on iOS, macOS, and tvOS.

Running your own server gives you control over extraction, caching, and credentials, and removes reliance on third-party public instances.

Key Features

Extraction

  • yt-dlp powered -- YouTube plus any site supported by yt-dlp (Twitch, Vimeo, BiliBili, and many more)
  • Per-site credentials -- cookies and API keys configured per site
  • Stream proxy -- fast parallel downloading with streaming delivery

Search and Browsing

  • YouTube search with filters for sort, date, duration, and type
  • Full channel browsing -- videos, playlists, shorts, streams, and channel search
  • Comments, captions, thumbnails, and avatars

Feeds

  • Background feed fetcher for channel subscriptions with automatic refresh
  • Watched channels view in the admin panel with manual refresh trigger

Invidious Compatibility

  • Invidious-compatible API -- drop-in replacement for Invidious endpoints
  • Optional backing Invidious instance for trending and popular feeds

Admin Panel

  • Setup wizard -- first-run account creation and optional Invidious connection
  • Settings -- cache TTLs, yt-dlp config, Invidious proxy, feed fetcher, rate limiting
  • Sites, users, and watched channels management
  • In-browser watch page -- play any video URL directly from the admin UI

Security

  • HTTP Basic Auth across the API and admin panel
  • HMAC-signed stream URLs -- pass stream URLs to players without exposing credentials
  • Rate limiting on failed authentication attempts
  • SSRF protection on all user-supplied URLs
  • Credential encryption at rest using Fernet (AES-128-CBC + HMAC-SHA256)

For the full security model, see Security & Privacy.

Caching

  • Configurable TTL caching for videos, search results, channels, avatars, and extractions

Deployment

  • Docker Compose ready with auto-provisioning for automated deployments
  • amd64 and arm64 images available on Docker Hub

Requirements

ComponentVersion
Python3.12+
yt-dlplatest
denorequired by yt-dlp for YouTube JS challenge solving
ffmpegrequired for media processing
tip

The official Docker image bundles all required dependencies. For most deployments, Docker is the recommended installation method.

Next Steps