Decoding the Instagram Export: What the Data Shows (and What Advanced Insights Can Reveal)
By the Don’t Follow Back editorial team ·
Most people request an Instagram export because they want one answer:
Who follows me, who do I follow, and who does not follow me back?
That is only the first layer.
An Instagram export is a structured archive of the information Instagram makes available for download. Depending on the categories you select, the ZIP can include relationship lists, profile history, comments, saved items, viewed content, searches, advertising signals, locations, historical creator metrics, and more.
It is not a live connection to Instagram. It is a snapshot of what Instagram included when the export was generated.
This is the part most people miss: data that looks like a collection of unrelated JSON files can become a readable account audit when the files are grouped by purpose.
The Basic Follower Report Is Only the Starting Point
The lightweight export is useful when you only need relationship lists. The important file paths usually live under:
connections/followers_and_following/
A follower record can look conceptually like this:
[
{
"title": "@user123",
"string_list_data": [
{
"href": "https://www.instagram.com/_u/user123",
"timestamp": 1710000000
}
]
}
]
The username is the account label. The timestamp is the relationship record Instagram supplied. The file name tells the importer what the relationship means: followers, following, pending requests, recently unfollowed profiles, or another supported list.
That lets a Follower Report calculate:
- Followers
- Following
- Mutuals
- Fans
- Accounts that do not follow you back
- Pending or recently unfollowed relationships when those files are present
It does not prove what is happening in the Instagram app right now. Accounts can be renamed, deactivated, deleted, suspended, or represented by a stale export row. The report can only compare the records in the file.
To see who unfollowed you between two points in time, you also need a saved Snapshot and a newer export. One export can show a current relationship picture; it cannot recreate a history that was never saved.
What “Included with Advanced Insights” Actually Means
When a fuller export is requested, the report can organize many more categories into focused surfaces. A coverage list may include entries such as:
| Export category | What the category can contain | What it can help explain |
|---|---|---|
| Followers & following | Relationship lists and timestamps | Your current relationship picture |
| Profile information | Username, name, bio, website, and profile facts | What Instagram recorded about your profile |
| Profile change history | Previous and new values with change dates | How your profile changed over time |
| Likes | Liked posts or comments | Where your visible attention went |
| Comments | Comments and the accounts they were left on | Conversation patterns and top commented accounts |
| Saved posts | Saved post records and links when available | The content you kept for later |
| Saved music | Saved audio titles and links when available | The audio library Instagram included |
| Stories viewed | Viewed story records, owners, timestamps, and links when present | Which accounts appeared in your viewing activity |
| Posts, reels & stories | Published content metadata and timestamps | Publishing rhythm and format mix |
| Advertiser matches | Advertiser labels associated with a matching mechanism | The businesses Instagram included in an audience-match export |
| Targeting categories | Audience categories supplied by the ads export | The kinds of audience segments associated with the profile |
| Locations of interest | Location values and inferred profile location | Location signals associated with the account |
| Recent searches | Profile searches and word or phrase searches | What you looked for recently |
| Link history | Links opened or recorded by Instagram | A history of link activity when supplied |
| Ads & posts viewed | Viewed ad, post, and video records | More of the content and advertising activity in the export |
| Apps & websites | Connected or expired app activity | Services Instagram recorded outside its own surface |
| Preferences | Settings and topic preferences | How the account was configured |
| Business account insights | Historical creator or business metrics | Audience, content, and interaction measurements when available |
The count beside a category is a count of records or normalized values that the report could read for that surface. It is not automatically a count of people, unique businesses, or every action you have ever taken.
Why the File Names Matter
Instagram uses folders and file names to separate different kinds of data. A fuller export may contain paths such as:
your_instagram_activity/comments/post_comments_1.json
your_instagram_activity/saved/saved_posts.json
your_instagram_activity/saved/saved_music.json
your_instagram_activity/story_interactions/stories_viewed.json
your_instagram_activity/likes/liked_posts.json
logged_information/recent_searches/profile_searches.json
logged_information/link_history/link_history.json
personal_information/personal_information/profile_changes.json
ads_information/instagram_ads_and_businesses/advertisers_using_your_activity_or_information.json
The shape is not identical across every file. That is why a reliable parser should normalize the records before rendering them. A list record, a grouped object, and a label_values record can all represent useful information, but they should not be treated as the same raw array.
Three Common JSON Shapes
1. Relationship lists
Relationship files commonly use a title and a string_list_data array:
{
"title": "@user123",
"string_list_data": [
{
"href": "https://www.instagram.com/_u/user123",
"timestamp": 1710000000
}
]
}
The importer turns this into a relationship record with a username, optional URL, timestamp, platform, and report identity. A view should not need to know which nested key Instagram used to store the username.
2. Activity records with labels
Likes, story views, saved items, ads, links, and several other datasets often use a record like this:
{
"timestamp": 1710000000,
"label_values": [
{
"label": "URL",
"value": "https://www.instagram.com/p/EXAMPLE/",
"href": "https://www.instagram.com/p/EXAMPLE/"
},
{
"label": "Caption",
"value": "Example caption"
}
],
"fbid": "opaque-record-id"
}
The useful interpretation is usually simple: a date, a link, an account or owner, and a short description. A polished report can show the icon, account, date, and link without dumping a full caption or every raw field into the page.
3. Comments and map-style records
Comments commonly use string_map_data:
{
"media_list_data": [],
"string_map_data": {
"Comment": {
"value": "Example comment text"
},
"Media Owner": {
"value": "@user123"
},
"Time": {
"timestamp": 1710000000
}
}
}
This is why comments can support a Comment Explorer with phrase search, account filters, date ranges, mention and hashtag filters, and deterministic sorting.
Comment records are not private messages. Direct-message folders are a separate export area, and DFB does not read or analyze message bodies.
Previous Bios and Profile Changes Are Not Lost
One of the most useful discoveries in a full export is profile history.
Profile information can contain the current profile fields. Profile change history can contain a changed field, its previous value, its new value, and the date Instagram recorded the change. A simplified shape looks like this:
{
"profile_profile_change": [
{
"string_map_data": {
"Changed": { "value": "Profile Bio Text" },
"Previous Value": { "value": "Previous bio text" },
"New Value": { "value": "Current bio text" },
"Change Date": { "value": "2026-01-15" }
}
}
]
}
Looking to see your previous bio, profile name, or website? That history is available in Advanced Insights when Instagram included the profile change dataset in the export.
The same caveat applies here as everywhere else: the report displays what Instagram included. It does not guarantee that every historical edit exists in one export.
Locations of Interest Are Sensitive Signals
Location records can contain several types of signals, including a list of locations Instagram associates with the account and a profile-based location. A generic example might display:
Locations of interest
San Francisco, CA
Profile based in
San Francisco, CA
That should not be read as proof of where someone is physically located. An export may contain inferred, outdated, broad, or user-provided information. A city can be an association, not a live location.
Because location is sensitive, it belongs behind the report’s privacy controls and should be presented with restrained language. Advanced Insights can help you review what Instagram associated with the profile; it does not independently verify those associations.
To review the account settings behind these records, open Instagram -> Settings -> Accounts Center -> Your information and permissions.
Advertiser Matches and Targeting Categories Are Different Things
The ads section can contain more than one kind of signal.
Advertiser matches
An advertiser-match file may contain a label and a vector of advertiser names:
{
"label_values": [
{
"label": "Advertisers that matched your profile",
"vec": [
{ "value": "Example Brand" },
{ "value": "Example Marketplace" }
]
}
]
}
An Advertiser Explorer can turn that vector into searchable, paginated records. If the interface says 9,694 of 9,694 rows match, that means 9,694 normalized rows satisfy the current explorer filters. It does not automatically mean 9,694 unique companies, people, ad campaigns, or purchases. A row count and a distinct-name count are different metrics and should be labeled separately.
Targeting categories
Targeting categories are audience labels, not a list of advertisers. They may look like:
{
"label_values": [
{
"label": "Targeting categories",
"vec": [
{ "value": "Frequent Travelers" },
{ "value": "Engaged Shoppers" },
{ "value": "Example audience segment" }
]
}
]
}
These labels describe categories Instagram included in the ads export. They are not proof that a person intentionally selected a category, fits it perfectly, or saw a particular advertisement. They are useful for understanding the audience signals associated with the export, not for making a definitive claim about identity.
Business Insights Can Add Time-Based Context
Some full exports include historical creator or business insight records under a past-insights area. The data can use a grouped object such as:
{
"organic_insights_audience": [
{
"string_map_data": {
"Date Range": { "value": "Example date range" },
"Followers": { "value": "Example count" },
"Follower Delta": { "value": "Example change" },
"Follows": { "value": "Example count" },
"Unfollows": { "value": "Example count" }
}
}
]
}
This can support a visual audience movement surface with current and previous periods, net change, growth rate, follows, and unfollows when the export includes those fields.
It is still a historical export, not a real-time analytics connection. A chart can show the periods Instagram supplied; it cannot fill in months or dates that were not exported.
What Advanced Insights Can Derive Across Categories
The value is not only in displaying individual files. Some of the most useful surfaces come from joining compatible normalized records:
- Relationship timestamps can provide a time window for following activity.
- Comments, likes, saves, and story views can be grouped by account to show where attention went.
- Published post timestamps can reveal posting rhythm, format mix, and long gaps.
- Profile change records can turn a sequence of edits into a readable history.
- Advertiser matches and targeting categories can be kept separate while still being reviewed under Privacy & Ads.
- Search, link, and viewed-content records can form an Attention & Activity view without exposing message bodies.
- Business insight periods can be compared with available relationship and content records to add context, without pretending that the export contains a perfect timeline.
These are derived interpretations. They are calculated from the supported records in the ZIP, not retrieved from Instagram after upload.
What the Export May Not Include
An export is not guaranteed to contain every category or every historical record. Common reasons a surface may be empty or unavailable include:
- The category was not selected when the export was requested.
- Instagram did not include that category for the account or date range.
- The file was empty, malformed, or in an unsupported format.
- The record exists in a different export variant than the parser currently supports.
- A date range or account setting limited what Instagram returned.
That is why a trustworthy report should show coverage honestly. “Not included” is different from “zero activity,” and “zero records” is different from “the parser failed.”
Why Media Should Be Left Out
Deselect media. Photos and videos are not required for the report’s JSON-based insights. Including media can make an export hundreds of megabytes, take much longer to upload, and cause the upload to exceed the application’s file or archive limits.
DFB does not process media bytes for Advanced Insights. Request the supported JSON categories and leave photos, videos, and other media unchecked. The report can still use the metadata and links Instagram supplied without receiving the media itself.
Private message bodies are also outside the Advanced Insights path. Message folders may be recognized for coverage, but DFB does not read or analyze their contents.
How to Request the Export
For the basic Follower Report, request a JSON export with Connections -> Followers and Following.
For Advanced Insights, request a fuller JSON export with the activity, saved items, ads, profile history, logged information, and other supported categories you want to review. Leave media unchecked.
If you are exporting Threads data, choose the Threads profile or Threads option when the official export flow presents it, and keep that export separate from Instagram.
The step-by-step guide explains the choices screen by screen:
How to Export Your Instagram or Threads Data
The Practical Takeaway
Your Instagram export is more than a follower list. It is a structured record of the categories Instagram made available for download at a particular time.
You may be able to review:
- Who follows you and who does not
- Previous bios, names, websites, and profile changes
- Where your likes, comments, saves, and views went
- Saved music and saved posts
- Search and link history
- Posts, reels, stories, and publishing gaps
- Advertiser matches and targeting categories
- Sensitive profile associations such as locations
- Historical audience and business metrics
Some of that information is easy to overlook when it is spread across dozens of folders. Advanced Insights gives those supported records a readable home, shows what was actually available, and keeps the interpretation tied to the export rather than inventing live account access.
If you are curious about what Instagram already provides in your download, request the right JSON categories, leave media out, and upload the export you control.