Skip to main content

A tool for searching YouTube videos by year, helping users find older content that might be buried by YouTube's algorithm

Project description

📹 flashback

A YouTube search tool that helps you find older content by searching videos from specific years. Available as both a Terminal User Interface (TUI - Thanks to Textual) and Command Line Interface (CLI).

Demo

TUI

https://github.com/user-attachments/assets/b87dd093-f1f1-4c66-a75f-876af2fd8d46

CLI

https://github.com/user-attachments/assets/cc1ff0cf-8b8b-48f7-8fce-ab78510ac59e

Why?

YouTube's search filters are notoriously poor, especially when trying to find older content. The algorithm heavily favors newer videos, not surprisingly so, making it nearly impossible to discover gems from years past. This tool solves that problem by allowing you to search for videos from specific years (2005-2025).

Features

  • Search by specific year - Find videos from any year (2005-2025)
  • TUI interface - Modern terminal interface with themes
  • CLI mode - Flags for power users and scripts
  • Easy API key management - Multiple ways to configure your YouTube API key
  • Multiple themes - Dark, light, gruvbox, dracula, nord, and more
  • Direct video URLs - Quick access to watch videos

Installation

pip, uv and poetry

# -- pip -- 
pip install ytflashback

# -- uv -- 
uv pip install ytflashback
# or
uv run --with ytflashback ytflashback

# -- poetry -- 
poetry add ytflashback 

From Source

git clone https://github.com/cachebag/flashback.git
cd flashback
pip install -e .

API Key Setup

You'll need a free YouTube Data API v3 key:

  1. Go to the Google Cloud Console
  2. Create a new project or select an existing one
  3. Enable the YouTube Data API v3
  4. Create credentials (API key)
  5. Copy your API key

How to Configure Your API Key

Method 1: Standalone Command

ytflashback-api-key

Method 2: CLI Flag

ytflashback-cli --update-api-key
# or short form:
ytflashback-cli --api-key

Method 3: Interactive Mode

When using the CLI interface, type api to update your key:

ytflashback-cli
# Then type: api

If using the TUI, simply press CTRL + K

Method 4: Environment Variable

export YOUTUBE_API_KEY="key-goes-here"

Usage

TUI Mode (Default)

Launch the terminal interface:

ytflashback 
  • Keyboard shortcuts:
  • Ctrl+S - Search
  • Ctrl+C - Clear search
  • Ctrl+T - Toggle theme
  • Ctrl+Shift+K - Update API key
  • Ctrl+Q - Quit
  • F1 - Help

CLI Mode

For command-line usage and scripting:

Interactive CLI

ytflashback-cli

Direct Search

ytflashback-cli -q "python tutorial" -y 2019 -m 25

CLI Options

ytflashback-cli --help

Options:
  -q, --query TEXT             # YouTube search query
  -y, --year INTEGER           # Year to search for videos
  -m, --max-results INTEGER    # Maximum number of results (default: 25)
  --update-api-key, --api-key  # Update your YouTube API key and exit
  --help                       # Show this message and exit

API Usage

  • YouTube API has a daily quota of 10,000 units
  • Each search uses ~100 units (≈100 searches/day)
  • The API is free but rate-limited

Development

Setup Development Environment

git clone https://github.com/cachebag/flashback.git
cd flashback
pip install -e .

Contributing

Feel free to submit issues and enhancement requests.

LICENSE

This project is open source and available under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytflashback-2.3.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ytflashback-2.3.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file ytflashback-2.3.0.tar.gz.

File metadata

  • Download URL: ytflashback-2.3.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ytflashback-2.3.0.tar.gz
Algorithm Hash digest
SHA256 9a371d83e3e2a58d10dad62666d423ea3b0f69c3bfb3de2c8a2e497823e1b934
MD5 896c55059806a19f3f22ec964d87590b
BLAKE2b-256 87aabb888760b0b27a4ccf65c080cbeec9c040086aa538da00d2bc0462b9df31

See more details on using hashes here.

File details

Details for the file ytflashback-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: ytflashback-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ytflashback-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 09b455ea490c2bd9ea5dea0aa35410bfda1531ca2277afa92a245de267d44d0f
MD5 0d6f55a9a66ff93b824aa9b17b5737df
BLAKE2b-256 6bd5e2ebed2c4d77f0bcb17294842b45096f7f605e5fd4b342bda4b6184f72e6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page