Skip to content

insta-dl

Async command-line downloader for Instagram. Profiles, posts, reels, stories, highlights, hashtags, and comments — saved to disk with original timestamps preserved.

pip install instagram-dl

export HIKERAPI_TOKEN=your_token
insta-dl instagram

What it does

  • Downloads profiles, hashtags, single posts, reels, stories, highlights, and comments.
  • Preserves the original taken_at timestamp as file mtime so Photos/Finder sort correctly.
  • Writes a JSON metadata sidecar next to every post (caption, like count, location, owner).
  • Supports incremental updates with --fast-update and --latest-stamps.
  • Accepts profile names, #hashtag, post shortcodes, and full instagram.com URLs.
  • Ships two interchangeable backends so you can pick how you authenticate.

Pick a backend

hiker (default) aiograpi (in development)
Auth API token Instagram login + 2FA
Cost Paid per request, 100 free requests to start Free
Account ban risk None Real
Stability High Brittle

Full breakdown on the Backends page.

Where to next

  • Installation — set up Python, install the package, get a token.
  • Basic usage — common workflows: download a profile, keep an archive in sync, grab a single post.
  • CLI reference — every flag, every target form.
  • Python API — use insta-dl as a library.
  • Troubleshooting — auth errors, rate limits, schema drift.

Status

Alpha. Hiker backend is functional end-to-end (198 tests, 95% coverage). aiograpi backend is stubbed pending an upstream sync.

License & disclaimer

MIT-licensed. Not affiliated with Instagram or Meta. Use at your own risk and respect content creators.