A lightweight, high-performance background utility to download and archive active Instagram stories (both seen and unseen), highlight stories, and feed posts.
- Scala 3.3 & Java 21: Modern, functional codebase using pure Java NIO streaming.
- GraalVM Native Image: Pre-compiled standalone binary for Linux ARM64 (ARMv8-A) with zero external dependencies (no JRE required).
- Deep I/O & Memory Optimization: 64 KB streaming buffers, low-overhead direct file transfer, and bounded heap.
- Session Cookie Authentication: Bypasses bot verification via browser
sessionidandcsrftoken.
Grab the latest release artifacts from the Releases page:
- instastorysaver.jar (Universal Fat JAR for Java 21+)
- instastorysaver-linux-arm64.zip (Standalone Native Bundle for Linux ARM64)
java -jar instastorysaver.jar \
--username "your_username" \
--session-id "YOUR_SESSION_ID" \
--csrf-token "YOUR_CSRF_TOKEN" \
--destination-folder "/path/to/stories"unzip instastorysaver-linux-arm64.zip
chmod +x instastorysaver-linux-arm64/instastorysaver instastorysaver-linux-arm64/instastorysaver-bin
./instastorysaver-linux-arm64/instastorysaver \
--username "your_username" \
--session-id "YOUR_SESSION_ID" \
--csrf-token "YOUR_CSRF_TOKEN" \
--destination-folder "/path/to/stories" \
--include-highlights \
--include-feedsTo run automatically once every 24 hours (e.g. daily at 02:00 AM):
# Add to crontab
0 2 * * * /path/to/instastorysaver --destination-folder "/path/to/stories" --username "your_username" --session-id "YOUR_SESSION_ID" --csrf-token "YOUR_CSRF_TOKEN" >> /tmp/instastorysaver.log 2>&1Alternatively, configure via environment variables or application.conf:
USERNAMESESSION_IDCSRF_TOKENDOWNLOAD_FOLDER