🔎 Search by name
Find a podcast quickly by title and let PodFetch resolve its feed automatically.
Rust CLI • Podcast Syncing
PodFetch helps you find podcasts, resolve their RSS feeds, and download new episodes from the terminal with metadata and cover art baked in.
Pull podcasts into a structured folder, tag the audio for your media stack, and skip already-downloaded episodes.
podfetch "Darknet Diaries"
podfetch https://example.com/podcast.xml
What PodFetch does
Built around the real workflow of podcast fans who want something simple and dependable from the terminal.
Find a podcast quickly by title and let PodFetch resolve its feed automatically.
Use either a podcast name or a known RSS feed URL, depending on what you already have.
Only downloads episodes that have not already been recorded, keeping repeat runs lightweight.
Tags downloaded files and writes metadata and cover images for media-server workflows.
Use templates like {podcast_name} and {podcast_author} to build your preferred folder layout.
Increase throughput with configurable concurrency for a faster sync pass when you want it.
Navigate podcasts and track downloads with a modern terminal interface built on ratatui.
Interactive guided workflow for selecting podcasts and configuring download settings without CLI args.
Real-time download UI with scrollable active downloads, progress bar, and full history.
Install it your way
Available on Linux, Windows, Arch, and macOS (via Rust/cargo).
Install from crates.io on any Rust-enabled system.
cargo install podfetch
Install PodFetch on Arch Linux with package-manager support.
yay -S podfetch
Run a self-contained binary on Linux desktops without extra setup.
./podfetch-*.AppImage
Use the cross-compiled Windows build from the release artifacts.
podfetch.exe
Interactive experience
PodFetch features an interactive Terminal User Interface (TUI) that guides you through setup and provides real-time download tracking.
On first run (without CLI args), you'll be guided through podcast input, search confirmation, result selection, output path, and final review.
Keyboard: Enter, ↑↓ arrows, Y/N/B quick keys, Ctrl-Q to exit
Real-time interface shows active downloads with individual progress bars, an overall progress bar, and a scrollable history of completed and failed downloads.
Keyboard: Tab to switch focus, ↑↓ to scroll, Ctrl-Q to cancel
Full keyboard navigation and shortcuts for efficient workflows without reaching for the mouse.
Provide all required arguments (podcast name/URL, search flag, optional output path and job count) to skip the wizard and start downloading immediately.
Quick start
Start with just a podcast name, or provide full arguments to skip the wizard.
Just provide a podcast name and let the wizard guide you through discovery, confirmation, and configuration.
podfetch "Darknet Diaries"
Start with a direct feed URL to skip searching.
podfetch https://example.com/podcast.xml
Provide everything upfront and start downloading immediately without prompts.
podfetch --search "The Joe Rogan Experience" -j 10
Use -o with placeholders like {podcast_name} or {podcast_author} to customize folder structure.
podfetch -o "~/Music/{podcast_name}" "My Podcast"