What’s in your Instagram data download
Updated
When you request your data from Instagram, you get a zip file named something like
instagram-yourname-2026-10-30-AbCdEf.zip. Inside are folders of JSON files: plain text in a structured
format that programs can read. Here’s what each part means, and which parts FollowBackCheck.app uses. Everything below is read
in your browser; your file is processed on your device and never uploaded to our servers.
The folder layout
The exact folders depend on what you ticked when you made the request. A download with “Followers and following” and
“Messages” looks roughly like this. Older downloads put messages/ at the top level instead of under
your_instagram_activity/, and some zips wrap everything in one more folder; FollowBackCheck.app finds the files
wherever they are.
instagram-yourname-2026-10-30-AbCdEf.zip
├── connections/
│ └── followers_and_following/
│ ├── followers_1.json people who follow you
│ ├── followers_2.json (big accounts: more parts)
│ ├── following.json people you follow
│ ├── close_friends.json
│ ├── pending_follow_requests.json
│ ├── recent_follow_requests.json
│ ├── recently_unfollowed_profiles.json
│ ├── blocked_profiles.json
│ ├── removed_suggestions.json
│ ├── restricted_profiles.json
│ └── following_hashtags.json
├── your_instagram_activity/
│ └── messages/
│ └── inbox/
│ └── anaexample_1234567890/
│ ├── message_1.json newest messages
│ ├── message_2.json older messages (long chats)
│ ├── photos/
│ ├── videos/
│ └── audio/
├── personal_information/
└── ... (more folders for whatever else you selected) followers_1.json: who follows you
A list of everyone following you at the moment the download was made. Each entry has a link to the profile, the
username and a timestamp: the moment they started following you, written as a Unix timestamp
(seconds since 1 January 1970). Accounts with many followers get several files, followers_1.json,
followers_2.json and so on, which need to be read together.
[
{
"title": "",
"media_list_data": [],
"string_list_data": [
{
"href": "https://www.instagram.com/someone.example",
"value": "someone.example",
"timestamp": 1714568400
}
]
}
] following.json: who you follow
The accounts you follow, wrapped in a relationships_following list. The timestamp is when you
followed them, which is why FollowBackCheck.app can show “you followed them on…” next to each account that doesn’t follow you
back. Instagram has changed this file over time: older downloads put the username in value, newer ones put
it in title and use links like instagram.com/_u/username. We read all three.
{
"relationships_following": [
{
"title": "someone.example",
"string_list_data": [
{
"href": "https://www.instagram.com/_u/someone.example",
"timestamp": 1714568400
}
]
}
]
} The other files in followers_and_following
| File | What it lists |
|---|---|
close_friends.json | Your Close Friends list for stories. |
pending_follow_requests.json | Requests you sent to private accounts that haven’t accepted yet. |
recent_follow_requests.json | Follow requests you sent recently, accepted or not. |
recently_unfollowed_profiles.json | Accounts you unfollowed recently (not people who unfollowed you). |
blocked_profiles.json | Accounts you blocked, with the date. |
removed_suggestions.json | “Suggested for you” accounts you dismissed. |
restricted_profiles.json, hide_story_from.json, following_hashtags.json | Restricted accounts, people hidden from your stories, hashtags you follow. Not used by the tool. |
Note what’s not there: there is no list of people who unfollowed you. Instagram only gives the current state. To find unfollowers you need two downloads from different dates; see who unfollowed me.
messages/inbox: your DMs
Each conversation gets its own folder, named after the other person or group plus a number. Inside,
message_1.json holds the newest messages; long chats continue in message_2.json,
message_3.json and so on. Photos, videos and voice messages sit next to them in photos/,
videos/ and audio/, and each message points at its file with a uri.
- participants: the names of everyone in the chat. Groups have three or more.
- sender_name and timestamp_ms: who sent each message and when, in milliseconds.
- content: the text. Shared posts appear as a
sharewith a link; calls ascall_duration. - reactions: emoji reactions and who left them.
- “Instagram User”: the name shown for accounts that have since been deleted or deactivated.
{
"participants": [{ "name": "Ana Example" }, { "name": "You" }],
"messages": [
{
"sender_name": "Ana Example",
"timestamp_ms": 1714568400000,
"content": "Bun\u00c4\u0083! \u00f0\u009f\u0098\u0082",
"reactions": [{ "reaction": "\u00e2\u009d\u00a4", "actor": "You" }]
}
],
"title": "Ana Example",
"thread_path": "inbox/anaexample_1234567890"
} Why emoji and accents look garbled
Look at the content above: “Bună! 😂” is stored as BunÄ\u0083! ð\u009f\u0098\u0082.
Meta writes each byte of the UTF-8 text as a separate character, so opening the file in a text editor shows things like
“Bună! 😂”. FollowBackCheck.app reverses this, so names, messages and reactions show correctly, including emoji and
letters like ă, â, î, ș and ț.
Is it safe to share this file?
Treat it like your phone: it contains your private messages and your contacts’ names. Don’t upload it to websites that send it to a server. FollowBackCheck.app is built so the file never leaves your device: the page reads it with your browser’s own file access and does the work in a background thread on your computer or phone.