Reddit Archive

v1.3.0

Download and archive Reddit posts including images, GIFs, and videos from specified users or subreddits with filtering and sorting options.

0· 679·0 current·0 all-time
byTerry Ellison@terellison
Security findings were reviewed by staff and cleared for public use.
latestvk9702yss1fe9ybqt3cx2hpp8ns81k09j
679downloads
0stars
8versions
Updated 5h ago
v1.3.0
MIT-0

SKILL.md — Reddit Archive

Download and archive Reddit posts (images, GIFs, videos) from users or subreddits.

Auto-Installation

This script automatically checks for and installs its dependencies on first run:

  • requests — Python HTTP library
  • yt-dlp — video downloader

If missing, it will attempt to install them via pip install --user. You can also:

  • Pre-install: pip3 install requests yt-dlp
  • Override yt-dlp path: export YTDLP_PATH=/your/custom/path/yt-dlp

When to Use

You want to archive content from Reddit — either from a specific user (u/username) or a subreddit (r/subname).

Usage

python3 ~/path/to/reddit_archive.py [options]

Options

FlagDescriptionDefault
-u, --userReddit username (either this OR --subreddit required)
-s, --subredditSubreddit name (either this OR --user required)
-o, --outputOutput directory~/temp/.reddit_<target>
--sortSort order: hot, new, rising, top, controversialhot
--timeTime filter for top/controversial: hour, day, week, month, year, all
--afterStart date (YYYY-MM-DD)No filter
--beforeEnd date (YYYY-MM-DD)No filter
--limitMax posts to fetch (0 = unlimited)0
--imagesDownload images (jpg, png, webp)
--gifsDownload GIFs/videos (gfycat, redgifs, imgur)
--skip-existingSkip already-downloaded files
--workersParallel download workers4

Examples

# All posts from a user
python3 reddit_archive.py -u someuser

# Subreddit with date range
python3 reddit_archive.py -s orlando --after 2025-01-01 --before 2025-12-31

# Top 10 most upvoted posts of all time from a subreddit
python3 reddit_archive.py -s funny --sort top --time all --limit 10

# New posts only
python3 reddit_archive.py -s orlando --sort new

# GIFs only, specific user
python3 reddit_archive.py -u someguy --gifs

# Custom output dir
python3 reddit_archive.py -u someuser -o ~/Downloads/reddit_archive

Output

Downloads are saved to the output directory with the following structure:

output_directory/
├── Pictures/
│   ├── {target}_{post_id}.jpg
│   ├── {target}_{post_id}.png
│   └── ...
└── Videos/
    ├── {target}_{post_id}.mp4
    └── ...

File Organization

The skill is organized as:

reddit-archive/
├── SKILL.md              ← This file
└── scripts/
    ├── reddit_archive.py ← Main downloader script
    └── requirements.txt  ← Python dependencies

Rate Limiting

  • Pauses 0.8s between Reddit API calls to avoid 403s
  • Uses requests with proper User-Agent header
  • Run one instance at a time — parallel runs trigger rate limits

Technical Notes

  • Uses Reddit's JSON API (/user/{name}/submitted.json or /r/{name}/hot.json)
  • For galleries, extracts all images from media_metadata
  • GIF/video downloads use yt-dlp
  • Date filtering is done client-side after fetching (filters by Reddit's created_utc)

Comments

Loading comments...