id = "instaloader" name = "Instaloader" homepage = "https://instaloader.github.io/" description = "A tool to download pictures and metadata from Instagram." executables = ["instaloader"] [dotfiles] # Instaloader's official CLI documentation fixes the latest-stamps file at # ~/.config/instaloader/latest-stamps.ini and the login session at # ~/.config/instaloader/session-YOUR-USERNAME. The session is a cookie-bearing # credential, while latest-stamps is ordinary download state. # https://instaloader.github.io/cli-options.html#--latest-stamps-stampsfile # https://instaloader.github.io/cli-options.html#--sessionfile-sessionfile-f paths = ["[configHome]/instaloader/latest-stamps.ini"] exclude = [] secret = ["[configHome]/instaloader/session-*"] side_effect = false [commands] format = 1 label = "Download Instagram content" description = "Download posts and optional extras from profiles or hashtags. Session handling, filename patterns and passwords are outside this form." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "help" kind = "manual" url = "https://instaloader.github.io/cli-options.html" revision = "2026-10-27" evidence = """ --no-pictures --no-videos, -V --geotags, -G --comments, -C --stories, -s --highlights --tagged --reels --igtv --fast-update, -F --post-filter filter, --only-if filter --count COUNT, -c --login YOUR-USERNAME, -l YOUR-USERNAME --quiet, -q --no-metadata-json --no-captions """ [[commands.field]] id = "targets" label = "Profiles, hashtags or posts" description = "Profile names, #hashtags, :feed, @following, -shortcode" type = "string" position = 0 multiple = true min = 1 sources = ["help"] [[commands.field]] id = "login" label = "Login username" type = "string" option = ["--login", "-l"] sources = ["help"] [[commands.field]] id = "stories" label = "Stories" type = "boolean" option = ["--stories", "-s"] sources = ["help"] [[commands.field]] id = "highlights" label = "Highlights" type = "boolean" option = ["--highlights"] sources = ["help"] [[commands.field]] id = "tagged" label = "Tagged posts" type = "boolean" option = ["--tagged"] sources = ["help"] [[commands.field]] id = "reels" label = "Reels" type = "boolean" option = ["--reels"] sources = ["help"] [[commands.field]] id = "igtv" label = "IGTV videos" type = "boolean" option = ["--igtv"] sources = ["help"] [[commands.field]] id = "fast_update" label = "Stop at first already-downloaded post" type = "boolean" option = ["--fast-update", "-F"] sources = ["help"] [[commands.field]] id = "count" label = "Max posts" type = "integer" option = ["--count", "-c"] sources = ["help"] [[commands.field]] id = "post_filter" label = "Post filter expression" type = "string" option = ["--post-filter", "--only-if"] sources = ["help"] [[commands.field]] id = "no_pictures" label = "Skip pictures" type = "boolean" option = ["--no-pictures"] sources = ["help"] [[commands.field]] id = "no_videos" label = "Skip videos" type = "boolean" option = ["--no-videos", "-V"] sources = ["help"] [[commands.field]] id = "geotags" label = "Download geotags" type = "boolean" option = ["--geotags", "-G"] sources = ["help"] [[commands.field]] id = "comments" label = "Download comments" type = "boolean" option = ["--comments", "-C"] sources = ["help"] [[commands.field]] id = "no_captions" label = "Skip captions" type = "boolean" option = ["--no-captions"] sources = ["help"] [[commands.field]] id = "quiet" label = "Quiet" type = "boolean" option = ["--quiet", "-q"] sources = ["help"] [[commands.task]] id = "profile" label = "Download a profile" fields = ["targets", "fast_update"] required = ["targets"] set = { fast_update = [true] } [[commands.task]] id = "profile_extras" label = "Profile with stories and highlights" fields = ["targets", "login", "stories", "highlights"] required = ["targets", "login"] set = { stories = [true], highlights = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["targets", "login", "stories", "highlights", "tagged", "reels"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["igtv", "fast_update", "count", "post_filter", "no_pictures", "no_videos", "geotags", "comments", "no_captions", "quiet"]