Skip to main content

Track Instagram users' activities, profile changes and capture content with beautiful dashboards and instant notifications

Project description

instagram_monitor

GitHub Release PyPI Version GitHub Stars Python Versions Docker Pulls License Last Commit Maintenance

Powerful, real-time OSINT suite for tracking every activity on Instagram - from story updates and bio changes to follower shifts, providing stunning dashboards and instant alerts to keep you in the loop.

instagram_monitor_web_dashboard_screenshot

🚀 Quick Install & Run

Python from PyPI (see also the video below)

pip install instagram_monitor
instagram_monitor --setup

Docker Compose

curl -fsSLO https://raw.githubusercontent.com/misiektoja/instagram_monitor/refs/heads/main/docker-compose.yml
docker compose run --rm instagram_monitor --setup
docker compose up

Docker run

docker pull misiektoja/instagram-monitor:latest
docker run --rm -it --init -v "$PWD:/data" -v instagram_monitor_session:/home/instagram/.config/instaloader -p 8000:8000 misiektoja/instagram-monitor --setup

instagram_monitor demo: install, setup wizard and run

Features

🔍 Real-time Tracking

  • Profile Activity: Monitor new posts, reels and stories in real-time.
  • Private Posts: Detects collab posts leaking from private accounts via public collaborators.
  • Audience Insights: Track changes in followings and followers.
  • Visual Changes: Detect updates to profile pictures and visibility (public/private).
  • Bio Updates: Stay informed about changes to user bio.

📥 Media Download

  • Anonymous Stories: Download story images and videos without leaving traces.
  • High-Quality Media: Save post images, reel videos and profile pictures.
  • Batch Support: Monitor and download media for multiple users simultaneously.

📱 Interactive Dashboards

  • Guided Setup: Interactive wizard writes a ready-to-run config for PyPI, script and Docker workflows.
  • Terminal Dashboard: Beautiful, live-updating CLI interface with real-time stats.
  • Web Dashboard: Modern, local web UI with activity feeds and remote controls.
  • Image Support: View profile pictures and media directly in your terminal (via imgcat).

🔔 Smart Notifications

  • Multi-Channel: Instant alerts via Email and Webhooks (Discord etc.).
  • Rich Alerts: Attached media (profile pics, stories, posts) directly in notifications.
  • Error Reporting: Be notified if the monitoring process hits a snag.

🛡️ Privacy & Detection Avoidance

  • Be Human Mode: Simulates random user actions to blend in.
  • Jitter Mode: Adds human-like delays to HTTP requests.
  • Hour-Range Checking: Limits activity to specific hours of the day.
  • Account Flexibility: Works with or without a logged-in Instagram account.
  • Browser Session Import: Reuse Firefox, Chrome, Brave or Chromium sessions with profile selection.
  • Browser TLS Impersonation: Routes traffic through curl_cffi to mimic a real browser's TLS fingerprint and dodge fingerprint-based blocks.
  • Proxy Support: Route Instagram and webhook traffic through your own proxy.
  • Privacy Substitutions: Mask or rename identities across all output, logs and notifications.
  • Block Awareness: Detects shadowbans and flagged sessions to avoid false alerts.

⚙️ Power Features

  • CSV Logging: Log all activities and profile changes with timestamps.
  • Flexible Config: Support for files, dotenv and environment variables.
  • Follower Churn: Detailed tracking of exactly who followed or unfollowed.
  • Batched Fetching: Throttle follower/following downloads into delayed batches.
  • Remote Control: Manage tracking features via signals or the web UI.
  • Docker Ready: Run via Docker Hub, Docker Compose or local image build with persisted config, dotenv and sessions.

instagram_monitor_terminal_dashboard

instagram_monitor_log_screenshot

Documentation

Full documentation is available at misiektoja.github.io/instagram_monitor:

Quick Start

🧭 New here? Run the setup wizard

The fastest way to get going (since v3.5) is the interactive setup wizard. It asks a few plain questions (who to monitor, no-login or logged-in, which interface, optional alerts), then writes a ready-to-run config for you. For local installs it can also start monitoring immediately.

Use the command that matches how you run the tool:

# PyPI install
instagram_monitor --setup

# Manual Python script
python3 instagram_monitor.py --setup

# Docker Compose (skip curl if you cloned the repo)
curl -fsSLO https://raw.githubusercontent.com/misiektoja/instagram_monitor/refs/heads/main/docker-compose.yml
docker compose run --rm instagram_monitor --setup

# Docker image
docker run --rm -it --init -v "$PWD:/data" -v instagram_monitor_session:/home/instagram/.config/instaloader -p 8000:8000 misiektoja/instagram-monitor --setup

Running the tool with no arguments from an interactive terminal offers the same wizard. It auto-detects whether you installed via pip, downloaded the script or run under Docker and shows commands that match your setup.

Not sure which mode you want?

I want to... Run this
Just try it, no login instagram_monitor <target_insta_user>
Be guided through setup Use the setup command for your install path above
Avoid the command line instagram_monitor --web-dashboard then use the browser
See stories, reels and who followed/unfollowed Log in first (browser session), then instagram_monitor -u <your_insta_user> <target_insta_user>

Manual commands

If you prefer to run it in a container, jump to 🐳 Docker Usage (Recommended).

  • Track the target_insta_user in No-login mode (no session login):
instagram_monitor <target_insta_user>

Or if you installed manually:

python3 instagram_monitor.py <target_insta_user>
  • Track the target_insta_user in Logged-in mode (with session login via your web browser):
# log in to the Instagram account (your_insta_user) in your web browser (Firefox, Chrome, Brave or Chromium)
instagram_monitor --import-browser-session --browser firefox
instagram_monitor -u <your_insta_user> <target_insta_user>
instagram_monitor <target_insta_user> --web-dashboard

To get the list of all supported command-line arguments / flags:

instagram_monitor --help

Change Log

See RELEASE_NOTES.md for details.

Maintainers

License

Licensed under GPLv3. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

instagram_monitor-3.5.tar.gz (214.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

instagram_monitor-3.5-py3-none-any.whl (177.6 kB view details)

Uploaded Python 3

File details

Details for the file instagram_monitor-3.5.tar.gz.

File metadata

  • Download URL: instagram_monitor-3.5.tar.gz
  • Upload date:
  • Size: 214.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for instagram_monitor-3.5.tar.gz
Algorithm Hash digest
SHA256 ad3696b81b2d3340a4b4ff1ff05b7b2d2f8a30f9b4bcfafa7a9af87b1d97643c
MD5 24d9257c07a4804944a79b5d47e29bc2
BLAKE2b-256 ba0c01559f38ef932abc6aec79f529b559e5d0ea5871deee8a89c58d242f6046

See more details on using hashes here.

Provenance

The following attestation bundles were made for instagram_monitor-3.5.tar.gz:

Publisher: publish.yml on misiektoja/instagram_monitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file instagram_monitor-3.5-py3-none-any.whl.

File metadata

  • Download URL: instagram_monitor-3.5-py3-none-any.whl
  • Upload date:
  • Size: 177.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for instagram_monitor-3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7155b1bad9f56c48056964e3e0794bb95cb75aac4b6070b24327b7edbe0d4ec1
MD5 dba0607927d36564806a7426f22e4d36
BLAKE2b-256 91f5f6f480631fb995887707c644f60d6852cc07a6018f4382f3eb97e7c12311

See more details on using hashes here.

Provenance

The following attestation bundles were made for instagram_monitor-3.5-py3-none-any.whl:

Publisher: publish.yml on misiektoja/instagram_monitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page