Instagram keeps your analytics for 90 days. Then they are gone.
The Junibloom team
Building the growth OS for growing creators
You opened your insights to pull six months of numbers for a brand, and the months you needed were not there. You did not do anything wrong and nothing is broken. Instagram runs two different clocks on your data, and the one that matters for a media kit is the short one.
Account-level metrics, the reach and profile-view trend that describes you rather than any single post, are kept for 90 days. Meta's Instagram Platform documentation states it in one line: "User Metrics data is stored for up to 90 days." An individual reel is different. Its own insights stay available "for up to two years after the reel's original publish date." So the per-post numbers feel permanent while the trend line quietly expires.
The short version:
- Two clocks, not one. Account-level metrics: 90 days, per Meta's developer docs. Per-post media metrics: "Metrics data is stored for up to 2 years," per Meta's media insights reference.
- The 90-day figure people repeat is usually the wrong one. Instagram's dashboard shows you 90 days. It does not delete your post data at 90 days.
- There is no way to extend the account-level window. No archive, no export that reaches further, no support request that recovers it. The only fix is recording it before it rolls off.
- The damage is uneven and easy to miss: a media kit built on a quarter you can no longer prove, a seasonal comparison you cannot make, any before-and-after test on a change you made.
- Five minutes on the first of every month fixes it permanently.
The two clocks, side by side 📄
None of this is a rumour from a growth blog. Both figures sit in Meta's developer documentation for the Instagram Platform, the same data layer that feeds the app's Professional dashboard.
| | What it covers | How long it lasts | Where Meta says so | |---|---|---|---| | User (account) metrics | Account-level reach, profile views, follower activity | "User Metrics data is stored for up to 90 days." | Instagram Platform insights guide, Limitations, Account insights | | Media (post) metrics | Reach, likes, comments, saves and shares on one post | "Metrics data is stored for up to 2 years." | Instagram Media Insights reference, Limitations |
Read that table again, because the asymmetry is the trap. A post from last year can still show you its numbers, which makes the whole system feel like it remembers. What it has quietly dropped is the account-level shape: what your monthly reach was, how your profile views moved, which weeks your audience was actually growing. That is the layer a brand asks about, and it is the layer that expires first.
Two more limitations from the same pages are worth knowing. Meta notes that when insights data does not exist, the API returns an empty data set rather than a zero, and an empty result and a real zero look identical in a screenshot taken months later. It also states that "Data used to calculate metrics can be delayed up to 48 hours," which is why a number you read today can move by Thursday without anything having happened.
Why everyone gets this wrong: there are three different 90-days
This is the part almost no article gets right, and it is the reason the folklore is so sticky. Instagram's own documentation contains three separate 90-day figures, and the niche collapses them into one.
| Which 90 days | What it actually means | Does it delete anything? | |---|---|---| | API storage of user metrics | Account-level metric data is stored up to 90 days | Yes, this is the real limit | | The in-app date-range picker | "Your selected date range can be anytime within the past 90 days" | No. It is a viewing window | | Switching private back to public | You can regain access to past insights if you switch back within 90 days | No. Unrelated to the data window |
The middle one is where the confusion breeds. Instagram's Help Center says you "can view insights on an aggregate or individual post basis, for any time period within the past 90 days," and the date picker offers 7, 14, 30 or 90 days. Because that sentence mentions posts, people conclude that post data dies at 90 days. It does not. The dashboard shows you 90 days. It does not delete at 90 days. That distinction is the whole answer, and it is why the honest advice differs depending on which number you actually need.
How to get Instagram insights for more than 90 days
The direct answer: for account-level metrics you cannot, and nothing you buy will change that. No third-party tool has access to data Meta does not serve, so any product claiming to show you last year's account reach is either showing you numbers it started collecting when you signed up, or it is showing you post-level data and calling it account data.
What you can actually do, in order of how much history it gives you back:
- Read your per-post insights. They go back two years. If you need to prove reach on a campaign from eight months ago, the individual posts still hold their numbers even though the monthly trend does not.
- Screenshot the full 90 days you hold right now. Today is the deepest account-level history you will ever have unless you start recording. Every day you wait, one more day falls off the back.
- Start a monthly record. Five minutes, described below. This is the only method that produces a real year-over-year comparison.
- Use something that snapshots daily so the record builds itself. That is what this product does, and it is the honest reason it exists rather than a feature list.
One caveat on the two-year figure so you do not over-trust it: Meta states reel insights are available "for reels posted on and after May 14, 2021," and older content predates the window entirely.
Where the missing history actually costs you
Your media kit. Brands screen a kit for whether your numbers are real and current, and the strongest thing you can show is a trend rather than a snapshot. If your best quarter was five months ago you can describe it but you cannot evidence it, and describing it without evidence is exactly what makes a brand manager nervous. That is the same screening problem covered in what brands actually check on a media kit.
Seasonality. Almost every creator has a season. Festival cooking, exam months, wedding season, the January fitness spike. You need last year's same month to know whether this year is good, and 90 days can never reach back a year. So the one comparison that would tell you the truth is the one comparison the app structurally cannot make.
Any test you run. Changed your posting time, your format mix, your hook style? The honest way to judge it is against a baseline recorded before you changed anything. Without stored history you are comparing this month to a memory, and memory is generous about the weeks that went well. Splitting a reach change into its real causes, as in why did my Instagram reach drop, needs a before picture to split against.
Negotiation. "My reach is usually around this" is a claim. "Here is the last eight months, and here is the month that looked like your campaign window" is evidence. The second one prices better, and it is unavailable to anyone who did not start saving early.
The five-minute habit
Do this on the first of every month. It is not clever and that is the point.
| Record | Where it is | Why it matters later | |---|---|---| | Reach, last 30 days | Professional dashboard | The headline number on every media kit | | Profile views and follower count | Professional dashboard | Turns reach into a funnel rather than a stat | | Your best three posts, with reach and saves | Post insights | Proof of what you actually make, by format | | Audience split: top countries, age bands | Audience tab | The first thing a brand checks for fit | | Anything you changed this month | Your own notes | The variable, without which the rest is noise |
A screenshot into a dated folder is enough. A spreadsheet is better, because you can chart it. Either beats what most creators have, which is nothing older than the current window.
Start it today rather than on the first, and give the numbers 48 hours to settle before you record them, for the reason above.
What this really is
The 90-day window is not Instagram being careless. Retaining per-account analytics forever for billions of accounts is a genuine cost, and most accounts never look. But a creator running this as a business is in a strange position: your own performance record is held by a company with no obligation to keep it, and no reason to tell you when it drops off.
Every other business tool you use assumes the opposite. Your bank keeps years. Your email keeps everything. Your analytics tool for a website keeps as long as you pay. Instagram gives you a quarter of account history, and a quarter is shorter than most brand relationships.
That gap is what Junibloom exists to close. It takes a daily snapshot of your Instagram numbers through the official API and keeps all of them, so the account-level history that would have expired is still there in a year when a brand asks what your reach looks like across a season. Nothing you have to remember to do, which matters, because the reason most creators have no history is not that they disagreed with the idea. It is that the first of the month kept arriving on a busy day. Doors open soon.
Whatever you use, the rule underneath it does not change: the numbers you can prove are worth more than the numbers you can remember, and Instagram is only keeping a quarter of them for you.