OSINTverse

otlite · Social media

Install Instaloader on Linux or macOS in one command

Instaloader downloads the public posts, stories, captions, and metadata of an Instagram profile into a folder. It keeps JSON sidecars per post, so timestamps and locations survive the download.

Instaloader in three lines

pipx install otlite
otlite install instaloader
otlite run instaloader -- u:jane_doe

Runs instaloader/instaloader (MIT, ★ 13k, otlite 1.2.1, catalog updated Oct 23, 2026). otlite installs and runs it at a tested version; it does not change or verify the tool itself.

What Instaloader is for

  • Preserving a public profile before it changes or disappears.
  • Pulling captions and geotags into a case file.
  • Downloading by hashtag or location with the original flags.

Typed inputs for Instaloader

otlite translates these prefixes into Instaloader's own flags. Anything else after -- is passed through unchanged, so every original flag still works.

u:
Username · otlite run instaloader -- u:jane_doe

Run every installed tool that takes the same input at once: otlite run --all u:jane_doe

Where the results go

Every run lands under ./results/instaloader/<target>/ as a timestamped output file, a .meta.json sidecar (the exact command, start and end time, exit code, and the SHA-256 of the output), and a .envelope.json with the entities found, in the same shape for every tool. List runs with otlite results, group them with --case, compare the last two with otlite diff instaloader <target>, and pull indicators out with otlite extract instaloader.

Before you run it

  • Instagram throttles anonymous downloads hard. Log in with a dedicated account for anything beyond a profile or two.
  • Private profiles need a logged-in account that follows them.

Update, remove, inspect

otlite info instaloader      # inputs, keys, an example command
otlite example instaloader   # sample output, where there is one
otlite update instaloader    # move to the next tested version
otlite remove instaloader    # delete its virtualenv

Full reference: the otlite docs, and the tool's own README on GitHub.

Pairs with

Toutatis pulls the public and semi-public fields of an Instagram account: user ID, bio, follower counts, and the obfuscated email or phone Instagram shows on password reset.
Instagram Monitor watches a public profile and records changes over time: new posts, follower count moves, bio edits, with optional notifications.
socid-extractor takes a profile URL and returns the structured fields on the page: user ID, display name, bio, follower counts, linked accounts.

FAQ

Instaloader with otlite, answered

How do I install Instaloader on Kali, Ubuntu, or macOS?

Install otlite once with pipx install otlite (or the one-line installer on the otlite page), run otlite init, then otlite install instaloader. The tool lands in its own virtualenv under ~/.otlite/, pinned to a version that was tested, so nothing touches your system Python. otlite doctor prints the command that fixes a missing git or venv module.

Which inputs does Instaloader take through otlite?

u: (username). otlite maps each prefix to Instaloader's own flag. Everything after -- that is not a typed input is passed through unchanged, so the original flags still work.

Where does otlite save Instaloader results?

Under ./results/instaloader/<target>/ in the folder you run from, as a timestamped output file plus a .meta.json sidecar (the exact command, timing, exit code, and SHA-256) and a .envelope.json with the entities found. Add --case <name> to group runs, otlite results to list them, and otlite diff instaloader <target> to compare the last two.

Does Instaloader need an API key or a login?

No key is required for the basic run. Optional keys, where the project supports them, go in with otlite keys set NAME and are passed only to tools that declare them.

Can I run Instaloader together with other tools?

Yes. otlite run --all u:jane_doe runs every installed tool that takes username input, in parallel, including Instaloader. Save the combination as a playbook to repeat it.