ScriptsApr 14, 2026·3 min read

Invidious — Alternative Privacy-First Frontend for YouTube

Invidious lets you watch YouTube without ads, tracking, or a Google account. It proxies video content and strips all tracking — a self-hostable frontend for YouTube that respects your privacy.

TL;DR
Invidious proxies YouTube content and strips all tracking, letting you watch videos without ads, a Google account, or invasive telemetry.
§01

What it is

Invidious is an open-source alternative frontend for YouTube that proxies video content and strips all Google tracking. It runs as a self-hosted web application written in Crystal, serving YouTube videos without ads, without JavaScript requirements, and without Google account dependencies.

Privacy-conscious users, self-hosters, and organizations that want to provide YouTube access without exposing users to Google telemetry use Invidious. Public instances are also available for users who do not want to self-host.

§02

How it saves time or tokens

Invidious eliminates ad watching time and reduces page load times by stripping heavy JavaScript bundles from YouTube. For developers and researchers who scrape or process YouTube content, Invidious provides a cleaner API for accessing video metadata, captions, and comments without dealing with YouTube's obfuscated frontend code.

§03

How to use

  1. Use a public instance or self-host:
# Self-host with Docker
git clone https://github.com/iv-org/invidious.git
cd invidious
cp docker-compose.yml docker-compose.override.yml
docker compose up -d
  1. Open http://localhost:3000 in your browser.
  2. Search for videos, subscribe to channels (stored locally), and watch without Google tracking.
§04

Example

# Access Invidious API for video metadata
curl 'http://localhost:3000/api/v1/videos/dQw4w9WgXcQ' | python3 -m json.tool

# Get video captions
curl 'http://localhost:3000/api/v1/captions/dQw4w9WgXcQ'

# Search videos via API
curl 'http://localhost:3000/api/v1/search?q=linux+terminal+tools'
§05

Related on TokRepo

§06

Common pitfalls

  • Public instances frequently go down or get rate-limited by YouTube. For reliable access, self-host your own instance.
  • Invidious depends on reverse-engineering YouTube's internal API, which YouTube changes regularly. Keep your instance updated to avoid breakage.
  • Some YouTube features (live chat, community posts, premieres) are not supported or have limited functionality in Invidious.

Frequently Asked Questions

Is Invidious legal to use?+

Invidious is open-source software that accesses publicly available YouTube content. Its legality depends on your jurisdiction and how you use it. It does not bypass DRM or download protected content by default. Check your local laws regarding alternative frontends.

Can I subscribe to channels on Invidious?+

Yes. Invidious stores subscriptions locally in its database (not through a Google account). You can import and export subscription lists in OPML format. Subscriptions work without logging into Google.

Does Invidious support video downloads?+

Invidious provides direct video stream URLs that can be used with tools like yt-dlp. The web interface does not have a download button by default, but the API exposes stream URLs for each quality level.

How often does Invidious break due to YouTube changes?+

YouTube regularly changes its internal APIs, which can break Invidious functionality. The maintainers typically release fixes within days. Self-hosted instances should pull updates frequently. Using the Docker image with automatic updates reduces downtime.

What language is Invidious written in?+

Invidious is written in Crystal, a compiled language with Ruby-like syntax. The choice of Crystal provides good performance for proxying video content while keeping the codebase readable. PostgreSQL is used for data storage.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets