Instagram Reel Downloader
pendingby Christen Blom-Dahl
Download Instagram reels directly into your vault and embed them in your notes.
Instagram Reel Downloader
Download Instagram reels directly into your Obsidian vault and embed them in your notes.
If you find this plugin useful, please consider supporting my work. Your support helps me continue developing and improving this plugin and future projects.
Features
- One-click download: Place your cursor on an Instagram reel URL and download it instantly
- Automatic embedding: Replaces the URL with an Obsidian video link (
![[filename.mp4]]) - Customizable storage: Configure where downloaded reels are saved in your vault
- Smart URL detection: Automatically detects Instagram reel URLs at your cursor position
Prerequisites
This plugin requires yt-dlp to be installed on your system. The plugin is desktop-only and will not work on mobile devices.
Installing yt-dlp
macOS:
brew install yt-dlp
Linux:
sudo pip install yt-dlp
Windows:
pip install yt-dlp
After installing yt-dlp, you may need to restart Obsidian for the plugin to detect it.
Installation
From Obsidian Community Plugins
- Open Settings → Community plugins
- Click Browse and search for "Instagram Reel Downloader"
- Click Install, then Enable
Manual Installation
- Download the latest release from GitHub
- Extract the plugin folder to your vault's
.obsidian/plugins/directory:<Vault>/.obsidian/plugins/instagram-reel-downloader/ - Place
main.js,manifest.json, andstyles.css(if present) in the plugin folder - Reload Obsidian
- Enable the plugin in Settings → Community plugins
How to Use
-
Paste an Instagram reel URL into your note (e.g.,
https://www.instagram.com/reel/ABC123xyz/) -
Place your cursor anywhere on the URL
-
Run the command:
- Open the command palette (
Cmd/Ctrl + P) - Type "Download instagram reel at cursor"
- Press Enter
- Open the command palette (
-
The plugin will:
- Download the reel video to your configured folder
- Replace the URL with an embedded video link:
![[filename.mp4]]
The video will now be embedded in your note and playable directly in Obsidian.
Configuration
Configure the plugin in Settings → Instagram Reel Downloader:
- Download folder: Set the folder path (relative to vault root) where reels will be saved. Default is
Instagram Reels.
Troubleshooting
"yt-dlp is not installed or not found in PATH"
- Make sure yt-dlp is installed (see Prerequisites above)
- Verify installation by running
yt-dlp --versionin your terminal - Restart Obsidian after installing yt-dlp
- On macOS, ensure Homebrew paths are accessible to Obsidian
"No instagram reel URL found at cursor position"
- Make sure your cursor is positioned directly on the Instagram URL
- The URL must be a valid Instagram reel or post URL format
- Try selecting the entire URL if detection fails
"This reel is private and cannot be downloaded"
- Private reels require authentication and cannot be downloaded
- Try downloading public reels instead
"Download timed out"
- Check your internet connection
- The reel might be very large or the connection slow
- Try again after a moment
Video not playing in Obsidian
- Ensure the file was downloaded successfully (check the download folder)
- Verify the markdown link format is correct:
![[filename.mp4]] - Some video formats may not be supported by Obsidian's built-in player
Development
Building from Source
- Clone this repository
- Install dependencies:
npm install - Build the plugin:
npm run build - For development with watch mode:
npm run dev
Project Structure
src/
main.ts # Plugin entry point and lifecycle
settings.ts # Settings interface and UI
utils/
downloader.ts # yt-dlp integration and download logic
fileUtils.ts # File system utilities
License
See LICENSE file for details.
Support
If you encounter issues or have feature requests, please open an issue on GitHub.
Credits
Created by @christen_bc
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.