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.30.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.30.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ytflashback-2.30.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.30.0.tar.gz
Algorithm Hash digest
SHA256 5c4a565c690e17ce5e302c0c9dadd39c8a73765f87fe34963eb5b12315937366
MD5 4f091c0720ada0b838242dccd10cbcbf
BLAKE2b-256 8028b9e6dfba8489cbeca07b07196934b42dccd9769020a2b8d687d1d5268637

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ytflashback-2.30.0-py3-none-any.whl
  • Upload date:
  • Size: 18.0 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.30.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e7161c9cb7f081d6b24302e0f57d2abc02473be242494fa153b97e083cbdc5ba
MD5 53e0c1d406fa88705e39fc6f41300380
BLAKE2b-256 8b7dd6f2980362ad9479994e63d2bdc294b5ba725d99c5555150c3c43a3bb01b

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