How to Read the followers_1.json File From Your Instagram Data Download
Key takeaways
- Your followers are in connections/followers_and_following/followers_1.json. The accounts you follow are in following.json in the same folder.
- Large accounts are split. followers_1.json, followers_2.json, followers_3.json — you have to combine them for a full list.
- The username is the "value" field. Each entry is an object under string_list_data with href (profile link), value (the username), and timestamp (when they followed).
- The timestamp is a Unix seconds value. Divide by 86400 and add to the 1970 epoch, or use a spreadsheet formula, to get a real date.
- Request JSON, not HTML. The HTML version is for browsing and can't be parsed cleanly. Ask Instagram for JSON and All time.
Instagram's Download Your Information gives you a complete, first-party copy of your followers and following — and then hands it to you as JSON files that are close to unreadable without help. Here's how to actually use them.
Where the files are
Inside the ZIP Instagram emails you:
connections/
followers_and_following/
followers_1.json
following.json
followers_1.json— accounts that follow youfollowing.json— accounts you follow
If you have a large account, the followers list is split: followers_1.json, followers_2.json, followers_3.json, each holding a slice. You need all of them for a complete list.
One thing to get right at the source: when you request the download, choose JSON, not HTML. The HTML version is formatted for reading in a browser and won't parse into a clean list. And set the range to All time.
What's inside
followers_1.json looks roughly like this:
{
"relationships_followers": [
{
"title": "",
"media_list_data": [],
"string_list_data": [
{
"href": "https://www.instagram.com/someusername",
"value": "someusername",
"timestamp": 1725302400
}
]
}
]
}
For each follower:
value— the username. This is the field you want.href— the profile link (just the username in a URL).timestamp— a Unix timestamp in seconds: the moment that account followed you.
following.json uses the same shape under a relationships_following key.
Convert the timestamp to a date
1725302400 isn't a date anyone can read. In a spreadsheet, once the value is in cell A2:
=(A2/86400) + DATE(1970,1,1)
Format the result as a date. Now you can sort your followers by when they followed you — useful for seeing growth around a specific post.
Turn it into a spreadsheet
Three options, fastest first:
A JSON-to-CSV tool. Paste the file contents, tell it to flatten relationships_followers > string_list_data, download CSV. Works, but you're pasting your follower list into a website.
A few lines of script. If you're comfortable with it:
const data = require('./followers_1.json');
const rows = data.relationships_followers.map(f => {
const d = f.string_list_data[0];
return `${d.value},${new Date(d.timestamp * 1000).toISOString()}`;
});
console.log('username,followed_at\n' + rows.join('\n'));
Run that against each followers_*.json and concatenate the output.
Skip it entirely. If the reason you wanted the data download was just "I need my follower list as a spreadsheet," a browser extension like ListLift gives you exactly that — username, full name, user ID, profile URL, private/verified — as a CSV in minutes, with no ZIP, no split files, and no JSON to wrangle. The data download is the right tool when you want a permanent first-party archive; it's the wrong one when you just want a working list today.
Merging the split files
If you have followers_1/2/3.json, each is a separate slice with the same structure. Convert each to CSV as above, then stack them — every row is unique, so a plain concatenation gives you the full list. In a spreadsheet, import each file's CSV to its own sheet and copy the rows together; with the script, just run it per file and combine the output.
Questions this comes up with
Skip the manual work — use ListLift
Follower & Following Exporter — see the real count before you export.