Activity - what you did and what you saw in your Instagram export
The activity folder is the biggest and least obvious. Likes, comments, searches, story interactions, poll/Q&A answers, saved items, reposts, link history, ads, posts you viewed/interested in, note interactions and watch history are all separate files. This is what they map to in the archive and the rule that matters: watch history is consumption, not "your activity" in the same sense as actions you took.
The activity folder is not one list. Different actions live in different files (likes, comments, searches, story interactions, polls/questions, saves, reposts, link history, ads, posts viewed/interested, notes, watch history). They are collected separately so they never get conflated with each other.
What the activity parser collects
The JSON path collects: likedPosts, likedComments, comments, reelsComments, savedPosts, storiesViewed/storyLikes/storySticker (combined into storyInteractions), pollResponses, questionAnswers, savedMusic, reposts, linkHistory, adsClicked, adsViewed, postsViewed, postsInterested, noteInteractions, watchedReels, plus search buckets (profileSearches, tagSearches, keywordSearches, recentSearches, legacySearches) merged into searches. HTML fallback maps a smaller but consistent set.
The key file name patterns (what to look for)
- Likes:
liked_posts.json,liked_comments.json - Comments:
post_comments*.json,reels_comments.json - Searches:
logged_information/recent_searches/profile_searches.json,tag_searches.json,word_or_phrase_searches.json,recent_searches.json, and legacysearches.json. Also HTMLsearch_history.html/recent_searches.html. - Story interactions:
stories_viewed.json,story_likes.json,story_sticker_interactions/*(JSON/HTML). Collected asstoryInteractions;withRecoveredOwnersattempts to recover media owners where present. - Polls/questions:
polls.jsonunder relevant paths,questions.json. - Saved/reposts:
saved_posts.json,saved/saved_music.json,media/reposts.json. - Link history:
logged_information/link_history/link_history.json - Ads and views:
ads_information/ads_and_topics/ads_clicked.json,ads_viewed.json,posts_viewed.json; alsoposts_you_*interested*.json - Notes:
note_and_repost_interactions.json - Watch history (consumption):
watch_history.json,watched_videos.json,viewed_reels.json,videos_watched.json(JSON and HTML variants). This feedswatchedReels/watch history. It is viewed/consumed content, not an action you took on others in the same "engagement" bucket.
HTML notes
HTML parsing is narrower but consistent: liked posts/comments, comments, searches (search_history/recent_searches), saved posts, story sticker interactions, watched videos/watch history/viewed reels/videos watched. This is sufficient for the UI fallbacks.
Honest reading rules
- Watch history is NOT "activity you did". It records what you saw (consumption). It should never be blended with actions you took (likes/comments/saves/reposts/searches/answers) when asking "who did I reach".
- Ads are not "ads you were shown". The files that appear here are interaction records (e.g.
ads_clicked.json,ads_viewed.json,posts_viewed.json) - names vary by export; treat them as recorded interactions, not an exhaustive ad impression log. - Searches have multiple shapes. Profile/tag/keyword/recent and legacy searches all come from different files. The parser merges them into a single
searchesbucket rather than inventing one file. - String map vs label_values. Different activity files use different JSON shapes (
string_map_data,string_list_data,label_values). The parser uses shape-specific extractors; do not assume a single uniform schema. - Story interactions are grouped. Viewed, liked and sticker interactions are collected separately and combined to
storyInteractions, with owner recovery where possible.
Is watch history part of 'my activity' the same way likes are?
No. Watch history records consumption (what you viewed). For questions about who you reached by acting (DMs, likes, saves, searches), treat watch history as a separate "what I consumed" view, not the same as actions taken.
Are the ads files a complete log of ads I saw?
Not necessarily. The export contains recorded interaction files like ads clicked/viewed and posts viewed; it is not a complete ad impression feed. Read them as what is recorded, not what was shown to you.
Why are there so many different search files?
Instagram records different kinds of searches in different places (profile searches, tag searches, keyword/phrase searches, recent searches). They are merged into a single searches bucket.
What is included in story interactions?
storiesViewed, storyLikes and storySticker interactions are collected separately and combined into storyInteractions. Where the data includes media owner, the parser attempts to recover it.
Sources of truth
packages/shared/src/parsers/activity.ts- path predicates, shape-specific extractors (label_values,string_map_data,string_list_data), search merging, story interactions grouping withwithRecoveredOwners, HTML fallback set.packages/shared/src/types/activity.ts-ActivityData,ActivityRecordshapes (referenced via types/index).