A Python toolkit for extracting and analyzing Snapchat data exports. This project processes raw Snapchat data (JSON/HTML) from multiple users and generates comprehensive cohort-level analytics.
SnapAnalysis_Extraction/
├── Snapchat_Data/
│ ├── Snapchat_donated_data/ # (Optional) Raw zip files
│ └── Extracted_Users/ # Extracted user folders (required)
│ ├── user_id_1/
│ │ └── html/
│ └── user_id_2/
│ └── html/
├── extracted_csvs/ # Output: processed CSV files
├── analysis_plots/ # Output: generated visualizations
├── extract_snapchat_data.py
├── analyze_snapchat_data.py
├── requirements.txt
└── README.md
# Create conda environment
conda create -n snap_env python=3.10 -y
conda activate snap_env
# Install dependencies
pip install -r requirements.txtPlace your Snapchat data exports in Snapchat_Data/Extracted_Users/. Each user should have their own directory containing html/ and optionally json/ folders.
python extract_snapchat_data.pyThis parses all user data and generates CSV files in extracted_csvs/:
chats.csv- Chat message metadatafriends.csv- Friend connectionsmemories.csv- Saved memories/snapsmyai.csv- My AI interactionssnap_history_log.csv- Snap send/receive historytalk_history_*.csv- Call logs
python analyze_snapchat_data.pyThis generates:
analysis_report.md- Comprehensive cohort analysisanalysis_plots/- Visualizations (trends, distributions, wordclouds)
| File | Description |
|---|---|
chats.csv |
Message metadata (sender, timestamp, type) |
friends.csv |
Friend list with timestamps |
memories.csv |
Saved snaps with location/media type |
myai.csv |
My AI conversation logs |
snap_history_log.csv |
Snap send/receive history |
| Plot | Description |
|---|---|
global_yearly_trend.png |
Total messages per year |
average_user_yearly_trend.png |
Mean messages/user per year |
seasonality_trend.png |
Activity by month of year |
global_hourly_trend.png |
Activity by hour of day |
global_weekly_trend.png |
Activity by day of week |
msg_distribution.png |
Distribution of messages per user |
friend_distribution.png |
Distribution of friends per user |
conversation_wordcloud.png |
Common words in conversations |
myai_wordcloud.png |
Common words in My AI responses |
- Python 3.10+
- pandas, matplotlib, seaborn, wordcloud, beautifulsoup4, tqdm
For educational/research purposes only.