PullaPod
Pull it, play it, preserve it.
Discover, track, and download podcast episodes with proper naming and artwork embedding
Install Now!What is PullaPod?
PullaPod is a command line utility (CLI) that helps you discover, track, and download podcast episodes.
Search for podcasts, save your favorites, check for new episodes, and download with proper naming and artwork.
Features
Podcast Discovery
Search for podcasts using the Podcast Index API. Find feeds by keyword, title, or author with language filtering.
Episode Preview
Preview episode details before downloading. View titles, dates, durations, and descriptions to choose exactly what you want.
Favorites & Recent
Save your favorite podcasts and check for new episodes across all of them with a single command.
Flexible Filtering
Download episodes by specific date, date range, or name matching. Get exactly the episodes you need.
Artwork & Metadata
Automatically downloads episode artwork and embeds it into MP3 files with proper metadata.
Clean Organization
Creates podcast-specific folders with sanitized filenames. No more GUIDs in your file names!
Installation
Install PullaPod globally via npm to use it anywhere on your system.
Install from NPM
npm install -g pullapod-cli
Configure API Credentials (Optional)
To use search and discovery features, get free API keys from api.podcastindex.org
export PODCAST_INDEX_API_KEY="your-api-key"
export PODCAST_INDEX_API_SECRET="your-api-secret"
Requirements: Node.js 18.0.0 or higher
Usage
Available Commands
| Command | Description |
|---|---|
search <query> |
Search for podcasts by keyword, title, or author |
info <feed> |
View detailed information about a podcast |
episodes <feed> |
Preview episode details before downloading |
favorite <subcommand> |
Manage saved favorite podcasts |
recent |
Check for new episodes from saved favorites |
--feed <url> |
Download episodes from a feed |
Complete Workflow
1. Search for a podcast
pullapod search "javascript podcast" --max 5
2. Get detailed info about the podcast
pullapod info https://feeds.fireside.fm/javascriptjabber/rss
3. Save it to your favorites
pullapod favorite add https://feeds.fireside.fm/javascriptjabber/rss
4. Check recent episodes across all favorites
pullapod recent
5. Preview episodes from a specific feed
pullapod episodes https://feeds.fireside.fm/javascriptjabber/rss --max 10
6. Download a specific episode
pullapod --feed https://feeds.fireside.fm/javascriptjabber/rss --date 2024-01-15
For detailed command options and examples, see the full documentation.
File Organization
Downloads are automatically organized into podcast-specific folders:
~/Podcasts/
My Favorite Podcast/
Episode 42 - The Answer.mp3
Episode 42 - The Answer.jpg
Frequently Asked Questions
Why would someone need this? What problem does it solve?
Like all web content, your favorite podcast could vaporize tomorrow for a variety of reasons ranging from mistakes, to apathy, cost, or censorship. Pullapod lets you download podcast episodes and store them somewhere that you control.
Where can I report a bug or request a feature?
Via GitHub issues https://github.com/lwndev/pullapod-cli/issues
I want to use PullaPod, but I don't know where to find RSS Feed URLs
Use the built-in search command: pullapod search "podcast name". You can also browse podcastindex.org directly.
Can Pullapod download podcasts from YouTube, or Spotify?
PullaPod only works on non-authenticated RSS feeds.
Can I use PullaPod to access password-protected podcasts?
No. Unauthenticated only.
Can I control the quality of the podcasts that are downloaded?
No. PullaPod downloads at the default file format and bitrate indicated in the RSS feed.
Is there a GUI?
No. Desktop soon. Mobile someday. Maybe...
Does pullapod work with video podcasts?
No. Wait, maybe. Either way, not intentionally.