Download Instagram Photos Fast. Smart. Beautiful.

Scrape entire Instagram profiles with concurrent downloads, smart rate limiting, and zero duplicates.

Quick Start

# Install with Homebrew
brew tap marcusziade/tap
brew install igscraper

# Run
igscraper username
igscraper --tui
╭──────────────────────────────────────────────╮
   v2.0.0                      
╰──────────────────────────────────────────────╯

▸ Scraping: @marcusziade
▸ Profile:  1,337 photosPublic

Progress
╔══════════════════════════════════════════╗
║████████████████████████████████░░░░░░░░░░║
╚══════════════════════════════════════════╝ 78%

┌─────────────────┬─────────────────────────┐
│  Downloaded   │ 1044/1,337 photos     │
│  Speed        │ 25.1 photos/min      │
│  Time left    │ 11m 41s              │
│  Workers      │ 5 concurrent         │
│  Size         │ 2.61 GB              │
└─────────────────┴─────────────────────────┘

Status: ● Downloading high quality originals...
3x Faster
95% Test Coverage
0 Duplicates

Why IGScraper?

Built for nerds who need reliable Instagram data extraction

🚀

Concurrent Downloads

3-5x faster with configurable worker pools

🛡️

Smart Rate Limiting

Avoid bans with intelligent request throttling

📁

Resume Support

Checkpoint system for interrupted downloads

How It Works

1

Get Credentials

Extract your Instagram session cookies from browser DevTools

IGSCRAPER_SESSION_ID="your_session"
IGSCRAPER_CSRF_TOKEN="your_token"
2

Configure

Set up via .env, YAML, or command line flags

download:
  concurrent: 5
  timeout: 30s
3

Run

Download with style using the TUI or simple progress bar

igscraper --tui username
# or quiet mode
igscraper -q username

Installation

📦 Arch Linux (AUR) Recommended for Arch

# Using yay
yay -S igscraper

# For development version
yay -S igscraper-git

🍺 Homebrew

brew tap marcusziade/tap
brew install igscraper

📦 Download Binary

# Intel Mac
curl -L https://github.com/marcusziade/igscraper/releases/latest/download/igscraper_Darwin_x86_64.tar.gz | tar xz
# Apple Silicon
curl -L https://github.com/marcusziade/igscraper/releases/latest/download/igscraper_Darwin_arm64.tar.gz | tar xz
sudo mv igscraper /usr/local/bin/

🛠️ Build from Source

git clone https://github.com/marcusziade/igscraper
cd igscraper
go build -o igscraper ./cmd/igscraper
sudo mv igscraper /usr/local/bin/

🐳 Docker

# Run with Docker
docker run --rm -v $(pwd)/downloads:/downloads \
  -e IGSCRAPER_SESSION_ID="your_session" \
  -e IGSCRAPER_CSRF_TOKEN="your_token" \
  ghcr.io/marcusziade/igscraper username

Configuration

Multiple ways to configure:

CLI Flags
Environment
YAML Config
# .igscraper.yaml
download:
  concurrent_downloads: 5
rate_limit:
  requests_per_minute: 60