Most Instagram competitor analysis produces a slide with follower counts, average likes, posting frequency and an engagement-rate percentage, and then nothing changes as a result. The numbers are real and the conclusions are unusable, because none of them answer a question anyone at your company was actually asking.
The questions worth answering are different: what do their customers complain about, what do people ask before buying from them, which of your features do their followers already want, and what does their audience say when the brand is not the one asking. All four are answerable, and all four are in the same place — the comment sections of their public posts, which they cannot edit, cannot buy and largely cannot hide.
Why the standard metrics fail
Take engagement rate. It is the headline number in every competitor template, and it is a ratio of two numbers that are both manipulable and neither of which tells you what people think. A post can carry a superb engagement rate because it made everyone angry. Another can be quietly converting at a rate you would kill for while looking flat.
Follower count is worse. It is a stock, not a flow, it says nothing about whether the audience is the audience you want, and its relationship to purchasing is loose enough that brands routinely discover their highest-converting competitor is their third-largest one. The wider context here is well documented — Pew Research social media data shows how differently platform populations skew by age and demographic, which is enough on its own to make raw follower comparisons across brands with different audiences close to meaningless.
Comments are a different class of data. They are volunteered, they are specific, they carry the writer own words, and they are attached to a particular post so you know what provoked them. They are also, unlike a survey, not filtered through what people think you want to hear — because they were not written to you at all.
Step 1 — Choose competitors properly
Three to five. Beyond that the analysis stops being finished and starts being ongoing, which in practice means abandoned.
- Two or three direct rivals — the brands your buyers genuinely compare you against. If you are not sure who those are, they are named in your own comment sections; that is finding number one before you have exported anything from anyone else.
- One adjacent brand — same audience, different product. They compete for attention and budget and they will be ahead of you on something.
- One aspirational brand — bigger than you, different league. Useful for direction, useless for tactics.
Step 2 — Pick posts by comment volume, not by date
The instinct is to look at the last ten posts. Recency is the wrong selector. What you want are the posts that made people write something, and those are unevenly distributed: a competitor might post four times a week and have three posts all year that generated real conversation.
Scroll their grid and note posts where the comment count is visibly out of line with the rest — comment counts are shown on posts even where like counts are hidden, which makes them the more available signal in 2026 anyway. Take the top ten to twenty by comments across the last six months. Include their launch posts and anything that was obviously running as an ad, since those threads carry the highest concentration of objections.
A useful secondary marker is the comment-to-like ratio. A post with 400 likes and 200 comments provoked something. A post with 40,000 likes and 60 comments pleased people and taught you nothing.
Step 3 — Export the threads
Paste each post URL into the Instagram comment exporter, enable replies, and download as CSV or Excel. Each row carries author name, username, avatar URL, comment text, likes, reply count, timestamp, language, pinned status, comment ID and parent comment ID.
Replies are not optional for this job. On a competitor post, top-level comments skew positive — fans arrive first — and the interesting material sits underneath: someone answering a compliment with "mine broke after a month", someone answering a question with a competitor recommendation. The parent comment ID keeps those chains reconstructable rather than arriving as a flat undifferentiated list.
Practical notes: use the canonical instagram.com/p/CODE/ or instagram.com/reel/CODE/ URL; public accounts only; expect the exported count to differ by a few percent from the displayed number, because deleted, hidden and filtered comments account for the gap. A competitor with an aggressive hidden-words list will show a wider gap than average, which is itself a small finding.
The first 100 comments of a post are free with no signup, three exports a day — enough to sample a competitor before committing. Past that it is $1 per 100 comments with a $3 minimum, or a one-time $14 3-Day Pass covering unlimited posts up to 10,000 comments each. Pro Passes are $49 for 3 days, $349 for 7 days and $1,499 for 30 days, lifting the ceiling to 100,000 comments per post and adding AI analysis. Each is a single purchase that expires by itself; there is no subscription. A quarterly competitor run typically fits inside one pass.
If you are running this across a client roster rather than one brand, the agency guide to exporting Instagram comments covers the multi-account version, and bulk exporting Instagram comments covers doing many posts in one pass.
Step 4 — Split the file three ways
Combine every export into one sheet with a competitor column and a post URL column. Then split it, because questions, complaints and praise are three different findings that get muddled if read together.
Questions
Filter for rows containing a question mark, plus rows starting with does, can, is, how, where, when, why. These are the things a prospect needed to know and could not find. Every recurring one is a hole in the competitor product page — and, far more usefully, almost certainly a hole in yours too.
This is the single highest-return bucket in the whole exercise, and the one most analyses skip. A question asked forty times across four posts is a proven content brief with the demand already measured.
Complaints
Filter for the vocabulary of dissatisfaction in your category — broke, late, refund, never, worst, scam, disappointed, plus product-specific terms like sizing or shipping or battery. Read what comes back and group it into themes rather than counting words.
Then sort by likes. A complaint with three hundred likes is not a customer, it is a consensus, and it is the closest thing you will find to a competitor weakness with third-party validation attached. This is also where you find out whether a weakness is real or is one loud person: forty distinct accounts saying the same thing across four posts is structural.
Praise
The temptation is to skip it. Do not — praise tells you what they are winning on, in customer language rather than marketing language, and customer language is what belongs in your own copy. Note the specific nouns that recur. Those are their moats, and you either match them or route around them.
Step 5 — Six things to count
Once the buckets exist, the analysis is mostly arithmetic.
- Question share. Questions as a percentage of all comments. High means their messaging is unclear and there is an opening; low means they have answered the obvious things and you should check whether you have.
- Complaint themes, ranked by frequency and by total likes. Two rankings, because volume and endorsement are different signals.
- Your brand name in their threads. Search their exports for your own strings. People naming you under a competitor post are in active comparison, and what they say about you there is more honest than anything they would say to you.
- Third-party names. Every other brand mentioned in their comments is a competitor you may not have on your list. This is how brands discover the rival they were not tracking.
- Reply behaviour. How often does the brand respond, how fast, and does the thread settle afterwards? The parent comment ID column makes this measurable rather than impressionistic. Responding at all measurably changes outcomes — the Harvard Business Review study on replying to reviews found ratings improved after businesses began responding — so a competitor who never replies is leaving something on the table that you can pick up.
- Language mix. The language column tells you which markets are actually engaging, which frequently contradicts where a brand says it operates. If a third of a competitor comments are in a language you do not publish in, that is a market signal.
Step 6 — Run it on yourself, then compare
The analysis is not finished until you have done the identical process on your own posts. One column per brand, one row per theme, and read the gaps in both directions:
- Complaints they have and you do not. Positioning material — but only the ones that recur, and only where you genuinely are better.
- Complaints you have and they do not. The uncomfortable half, and the one worth acting on first.
- Questions asked of both of you. Category-level confusion. Whoever answers it publicly first owns the search result for it.
- Praise they get and you do not. Either a real product gap or a communication gap. The difference matters, and the comments usually tell you which.
For scoring tone systematically across brands rather than reading by eye, Instagram comment sentiment analysis covers the method and its limits, and how to analyze Instagram comments covers turning raw rows into stable themes.
Running this at scale, or having it run for you
One competitor set, twenty posts, once a quarter is an afternoon. It scales badly in two directions. Across a client roster or a competitor set that spans several markets, the URL count runs into the hundreds per cycle — that is what bulk comment export is for: hand over the list of URLs, profiles or hashtags and get one merged CSV or Excel back with the source post URL on every row, quoted per job at well below the self-serve rate.
It also scales badly over time. The findings that matter most — a new complaint theme, a competitor entering your comment threads, a question that suddenly triples — are all differences between runs, which means the analysis wants to be continuous rather than quarterly. We build that as a service: a competitor and category monitoring pipeline scoped to your specific brief, in your markets and languages, refreshed on your cadence, delivered where your team actually reads things. Managed data and monitoring has the detail, and if you have a particular listening problem in mind, describe it to us — custom platforms and custom pipelines are the normal case, not the exception.
What this method cannot tell you
Worth stating plainly, because competitive research is where over-claiming does the most damage.
Commenters are not customers. They overlap, but a comment section contains prospects, existing customers, fans of the creator rather than the brand, competitors doing exactly what you are doing, and bots. Conclusions about "their customers" drawn from comments are conclusions about their engaged audience.
You cannot see their revenue, their CAC or their retention. A competitor with a beloved comment section can be losing money. Comment data is directional, not financial.
Absence of complaints is not absence of problems. It may mean an aggressive hidden-words filter. Instagram gives account owners comment controls and a hidden-words list that suppress comments before anyone sees them, which is exactly why the exported count and the displayed count diverge more for some brands than others.
Paid comment activity exists. Not common at the volumes most brands operate at, but a sudden burst of short generic positive comments with no replies is worth treating with suspicion rather than as evidence.
Trust in what brands say is low to begin with. The long-running Edelman Trust Barometer tracks how far peer voices outweigh corporate ones — which is the argument for reading comments in the first place, and equally the argument for not treating any single comment as fact.
Where the line is
Everything here concerns public comments on public posts, written by people who knew they were public. That does not remove your obligations. Comment data identifies individuals and is personal data under the GDPR and comparable regimes; the EDPB guidance is the reference point.
For competitive research specifically: analyse in aggregate, keep the files access-controlled, set a retention period and delete on it. Do not build ad-targeting or outreach lists from a competitor commenters — that is the one step that turns legitimate research into something you would not want described accurately in public. Do not DM their customers. Do not quote an identifiable individual in a public deck without attribution and a good reason. None of the findings above require any of it.
Doing the same on other platforms
The method is platform-agnostic; only the export step changes. Profile analysis for brands and agencies covers the TikTok version, and if you are watching your own name rather than studying a rival, how to monitor Instagram brand mentions is the companion workflow — same exports, different filter.
Related reading
- How to monitor Instagram brand mentions — catching the mentions that never notify you
- How to analyze Instagram comments — from raw rows to themes
- Agency guide to exporting Instagram comments — running this across a client roster
- Instagram Comments API — why the official API cannot reach competitor posts
- Managed monitoring for brands and agencies — a listening pipeline built to your brief
- Instagram Comment Exporter — first 100 comments free, replies included, no signup
