Instagram OSINT Framework · v4.0 · Open Source

InstaGrep
v4.0

A professional-grade Instagram OSINT tool with a graphical interface. Extract profile data, analyze posting patterns, visualize behavior, and generate comprehensive reports — all from publicly available information.

Python 3.9+ CustomTkinter GUI 3000+ Lines MIT License 8 Export Formats 4 Charts
InstaGrep — Profile Analysis v4.0
Profile
Contact
Locations
Posts
Activity
Downloads
Export
Raw Data
📷
@target_user
✓ Verified · Public · Business
Engagement Rate: 4.2% ▲ Excellent
0
Followers
0
Following
0
Posts
01 — Live Data Extraction

Fetching Everything

Point InstaGrep at any public Instagram profile. It extracts everything — profile metadata, post history, contact intel, location patterns, behavioral analytics — all from publicly visible data.

instagrep.py — extracting profile data ● RUNNING
Username
@target_user
User ID
1234567890
Account Type
Business · Public
Followers
284,312
Following
1,204
Posts Scraped
50 posts
Emails Found
contact@domain.com
Peak Hour
19:00–20:00
Peak Day
Wednesday
Engagement Rate
4.2% · Excellent
Top Hashtag
#photography (34×)
Locations
Mumbai · Delhi · NYC
02 — Features

8 Tabs, One Interface

Every tab serves a distinct intelligence function. From raw profile data to behavioral pattern analysis to full media downloads — organized, structured, and exportable.

🖼️
Profile Picture
HD avatar with neon ring and gradient glow effect. Neon ring uses gradient animation cycling cyan → purple → pink.
📊
Animated Stats
Follower, following, and post counts animate with count-up effect on load. Engagement rate calculated and graded (Poor / Average / Good / Excellent).
✅
Account Intelligence
Account type (Public/Private/Business), verification badge, business category, external URL, full biography with auto-extracted emails, phones, and @mentions.
💡
Bio Intelligence
Regex-powered extraction from biography text: email addresses, phone numbers, URLs, @mentions, hashtags — all highlighted and clickable.
📧
Email Extraction
Business email from profile API + regex scan of all 50 post captions. Deduplicates and lists all unique emails found.
📞
Phone Numbers
Business phone from profile data + pattern matching across post captions. Handles international formats.
📍
Physical Address
Business address extracted from Instagram's business profile API. Shown only for accounts with public business information.
🔗
URL & Mentions
All external URLs from bio and posts collected. @mentions catalogued. Builds a network map of connected accounts.
⏰
Posting Time Analysis
Peak posting hour (0-23) with annotation. Peak posting day (Mon-Sun). Average posts per day calculated from timestamp history.
📈
Engagement Metrics
Average likes and comments per post. Engagement rate vs followers. Trend analysis over last 50 posts — is engagement growing or declining?
#️⃣
Hashtag Intelligence
Top 20 hashtags ranked by frequency. Shows exactly which tags get the most engagement. Horizontal bar chart with unique colors per hashtag.
📡
Live Status
Active stories indicator. Live broadcast status. Last post timestamp. Last story timestamp. Real-time presence detection.
🖼️
Profile Picture HD
Downloads the full-resolution profile picture. Saved to downloads/[username]/Profile/profile_pic.jpg.
📦
Bulk Post Download
Downloads all images and videos from the last 50 posts. Organized by post ID. Captions saved as caption.txt alongside media files.
⏱️
Progress Tracking
Live progress bar with percentage. Per-file status log. Cancel button to stop mid-download. File size and completion status shown.
📁
Organized Structure
downloads/[username]/Profile/ and Posts/post_[id]/ folder hierarchy created automatically. Clean, navigable output.
📄
JSON Export
Complete raw data dump for developers. All fields, all posts, all extracted intel in a single structured JSON file.
📊
Excel Workbook
Multi-sheet workbook: Profile, Posts, Hashtags, Locations. Styled with headers, alternating rows, and column formatting via openpyxl.
🌐
HTML Dashboard
Interactive dark-themed HTML report. Standalone file — open in any browser. Charts embedded, fully formatted, shareable.
📋
PDF Report
Professional PDF with embedded charts, profile summary, post table, and executive-style formatting via reportlab.
03 — Data Visualization

4 Charts, Full Behavioral Map

Every chart tells a different story. Together they map exactly when, how, and what a profile posts — behavioral fingerprinting through publicly available data.

Most Active Hours
24 bars (0–23). Peak hour highlighted in neon cyan. Average line with annotation. Shows the exact hour when the target is most active online.
Most Active Days
7 bars (Mon–Sun). Peak day highlighted in neon purple. Gradient fill from dark to bright. Identifies weekly posting rhythm and schedule patterns.
Top Hashtags
Horizontal bar chart showing top 15 hashtags. Each hashtag gets a unique color. Background track for visual comparison. Frequency counts labeled.
Engagement Over Time
Line chart with likes and comments across last 50 posts. Gradient fill under likes curve. Peak marker with annotation. Shows engagement trends clearly.
04 — Tech Stack

Built With 10 Libraries

Every library chosen for a specific purpose. No unnecessary dependencies — each one earns its place in requirements.txt.

🐍
Python
3.9+
Core language. All 3000+ lines.
🎨
CustomTkinter
5.2.0+
Modern dark theme GUI framework
📸
instagrapi
2.0.0+
Instagram API wrapper
📊
matplotlib
3.7.0+
4-chart visualization engine
🖼️
Pillow
10.0.0+
Image processing, avatar, banner
🌐
requests
2.31.0+
HTTP for media downloads
🍪
browser-cookie3
0.19.1+
Auto-extract browser cookies
📋
openpyxl
3.1.0+
Excel workbook generation
📄
reportlab
4.0.0+
Professional PDF generation
🔢
numpy
1.24.0+
Numerical chart computations
05 — Development Journey

Built in One Day

From concept to published GitHub repository. 3000+ lines written, 7 bugs fixed, 4 charts built, and 4 export formats implemented — all on March 4, 2026.

Phase 1 — Planning
Concept & Feature Definition
Decided the core goal: Instagram OSINT with GUI, no password required. Identified 8 core modules — profile, contact, locations, posts, activity, downloads, export, raw data. Chose cookie-based authentication as the only way to bypass Instagram's bot detection reliably.
Phase 2 — Environment
Kali Linux Setup
Created ~/projects/Instagrep, set up Python virtual environment, installed all 10 libraries. Configured .gitignore to exclude cookies.json and the downloads folder from version control.
Phase 3 — Core GUI
CustomTkinter Interface
Built the full 8-tab GUI with dark theme. Designed the 40+ color palette (deep space background, neon cyan accents, cyber green). Added glass-morphism card effects. Built the neon ring avatar with gradient animation and the animated stat counters.
Phase 4 — Data Engine
instagrapi Integration
Implemented cookie-based session management using browser-cookie3 to auto-extract cookies from Chrome, Firefox, Edge, and Brave. Built the retry engine with exponential backoff for 429 rate limit handling. Extracted 30+ data fields per profile.
Phase 5 — Charts
matplotlib Visualization Engine
Built 4 professional charts: hourly activity (24 bars), weekly activity (7 bars), top hashtags (horizontal), engagement over time (line with fill). Added peak annotations, average lines, gradient fills, and dual Y-axis for the engagement chart.
Phase 6 — Export
4 Export Formats
JSON raw dump, Excel multi-sheet workbook with styling, standalone HTML dashboard, and PDF report with embedded charts. Each format handles its own ANSI stripping, image embedding, and file naming.
Phase 7 — Debugging
7 Bugs Fixed
Fixed ImageTk import for canvas images, hex colors with alpha channels (not supported in tkinter), cookie_dict setter issue in instagrapi, 429 rate limit handling with backoff, LoginRequired session refresh, git push rejection, and README merge conflict resolution.
Phase 8 — Published
GitHub Release
Initialized git repository, created instagrep.py, README.md, requirements.txt, .gitignore, LICENSE (MIT). Force-pushed to handle existing README from GitHub repo creation. Project live at github.com/Jishnuec/InstaGrep.
06 — Bugs Fixed

7 Real Errors Solved

ErrorCauseFix
image doesn't existMissing ImageTk import for canvas image handlingAdded from PIL import ImageTk — required separately from PIL
invalid color nameHex colors with alpha (#rrggbbaa) not supported in tkinterSwitched all colors to RGB without alpha, used rgba() only in matplotlib
cookie_dict has no setterDirect assignment to instagrapi's cookie_dict propertyUsed cl.set_cookies() method instead of direct property assignment
429 Too Many RequestsInstagram rate limiting concurrent API callsExponential backoff retry engine — 4 attempts with 1.5× delay increase per attempt
LoginRequiredSession cookies expired between requestsImplemented session persistence with automatic re-auth and cookie refresh
git push rejectedGitHub created README causing diverged historygit push -f origin main to force-overwrite with local version
merge conflictREADME had unresolved ======= markersManually edited file, removed conflict markers, recommitted cleanly
07 — Export Formats

4 Ways to Share Results

{ }
JSON
Complete raw data dump. Every field, every post, every extracted email. For developers and integration into other tools.
📊
Excel
Multi-sheet workbook: Profile, Posts, Hashtags, Locations. Styled with headers and alternating row colors via openpyxl.
🌐
HTML
Standalone interactive dark-themed dashboard. Open in any browser. Charts embedded, fully formatted, ready to share.
📋
PDF
Professional report with embedded charts, profile summary, and post table. Generated via reportlab for clean formatting.