Guide

Instagram Comments API: What It Returns, What It Blocks, and the Faster Route (2026)

By The ZocialComment Team, Social-data analystsAugust 202614 min read
Instagram Comments API: What It Returns, What It Blocks, and the Faster Route (2026)

Export Instagram comments now

Free — first 100 comments of any post, no signup. CSV, Excel & JSON.

Search for "Instagram comments API" and you will find two kinds of results: Meta's own documentation, which describes a real API with real endpoints, and a long tail of tools claiming to be an Instagram comments API that are not. The gap between them is the single most useful thing to understand before you write any code, because the official API answers a much narrower question than most people are asking.

This guide covers what the Instagram Comments API actually returns in 2026, what it structurally cannot return, the operational cost of running it, and what to use instead when your question is "get me the comments on this post" rather than "build a permanent moderation dashboard for accounts I administer".

There is no public Instagram comments endpoint

Start with the constraint that decides everything downstream. Meta's Instagram Platform exposes comment data only for media that belongs to an Instagram Business or Creator account which has explicitly authorised your Meta app through an OAuth flow. Authorisation is granted per account, by the account owner, inside your app.

Three consequences follow, and they surprise people every week:

  • Public does not mean accessible. A post can be visible to the entire internet in the app and still be completely unreadable through the API. The API's permission model has nothing to do with the post's privacy setting.
  • Personal accounts have no comment access. The old Basic Display API, which served personal accounts, was retired in December 2024. Since then, if the account is not Business or Creator, there is no path at all.
  • Competitor and creator posts are permanently out of scope. No competitor will install your Meta app. Very few creators will onboard one for a two-week collaboration. Both are the posts that carry the most valuable comments.

The mention and hashtag endpoints are the only ones that reach beyond your own media, and they are deliberately narrow: the mention endpoints surface comments and captions that tag your account, and the hashtag search endpoints return a capped, non-exhaustive slice of recent public media for a given tag with a hard limit on distinct hashtags queried per week. Neither is a way to read an arbitrary post's comment thread.

What the API returns when it does work

Assuming you have an authorised Business account, the shape is straightforward. Each media node has a comments edge, and each comment node has a replies edge. The fields available on a comment are roughly:

  • id — the comment ID
  • text — the comment body
  • timestamp — ISO 8601, UTC
  • username — the commenter's handle
  • like_count — likes on the comment
  • hidden — whether you have hidden it
  • parent_id — present on replies
  • replies — the nested edge

Notice what is not there. There is no display name distinct from the username, no avatar URL, and no language field. If your downstream analysis wants any of those, you are joining against other endpoints or deriving them yourself. For comparison, a URL-based export returns author, username, avatar_url, text, likes, replies, created_at, language, is_pinned, id and reply_to_id in one flat table, with replies already stitched to their parent through reply_to_id.

The API also gives you things an exporter cannot: write access. You can reply to a comment, hide it, delete it, toggle comments off on a media object, and subscribe to a webhook that fires when a new comment arrives. If your product moderates comments in real time, the API is the correct and only tool. That is the line: the API is for writing and for live moderation on accounts you control; exports are for reading and analysing anything public.

The setup cost, honestly stated

Every step below is mandatory before a single production comment reaches your code.

1. Account type

The Instagram account must be Business or Creator. If you are using the Facebook Login variant of the API, it must also be linked to a Facebook Page, which means the client needs a Page they may not have and an admin who can grant access.

2. App creation and product setup

Create a Business-type app in the Meta App Dashboard and add the Instagram product. In 2026 there are two flows: Instagram API with Instagram Login (no Facebook Page required) and Instagram API with Facebook Login (Page required, more surface area). Choosing wrong means redoing the OAuth work.

3. Permissions and App Review

Reading and managing comments needs instagram_business_basic and instagram_business_manage_comments on the newer flow. Until App Review passes, those permissions work only for users with a role on your app — meaning you can demo it to yourself and nobody else. App Review requires Business Verification of the legal entity, a screencast showing the exact permission in use, and a written justification. Rejections are common and each round costs days.

4. Token lifecycle

Short-lived tokens last an hour. Exchange them for long-lived tokens that last 60 days, then refresh before they expire. This is the single most common cause of a dead Instagram pipeline: nobody wrote the refresh job, the token quietly expired on a Saturday, and the dashboard was empty for a week before anyone noticed. Store tokens encrypted, one per connected account, with an expiry column and an alert.

5. Rate limits

Instagram platform calls are metered by Business Use Case limits, described in Meta's rate limiting documentation. Two properties matter more than the exact numbers. First, the budget is calculated per app across all accounts it serves, so a busy month on one client degrades every other client on the same app. Second, the budget scales with the connected account's impressions — small accounts get small budgets, which is exactly backwards from what an agency wants.

6. Versioning

Graph API versions retire on a published schedule, roughly two years after release, per Meta's versioning guide. A retired version does not degrade — it fails. Someone has to own reading the changelog and scheduling the upgrade, forever. That is maintenance work with no feature output, and it is the part nobody budgets for.

The pagination arithmetic nobody runs first

Take a realistic post: 8,000 top-level comments, 3,000 of which have at least one reply. Comments come back in pages; with a generous page size you are looking at dozens of calls for the parents. Then every parent with replies needs its own paged call on the replies edge — that is another 3,000-plus requests for a single post.

Now multiply by a campaign. Thirteen posts across a brand and its creators, exported daily for a fortnight, is in the hundreds of thousands of requests against a budget that is shared with every other thing your app does. At that point you are building a queue, a backoff strategy, a partial-failure recovery path and a deduplication layer — a distributed systems project whose only output is a spreadsheet of comments.

Webhooks reduce this for live monitoring: subscribe to the comments field and Meta pushes new comments to your endpoint, per the Instagram webhooks documentation. That is genuinely the right design for moderation. It does nothing for backfill — a webhook subscription created today tells you nothing about the 8,000 comments already on the post.

Third-party "Instagram comment APIs"

A second category of service sells an HTTP endpoint that takes a post URL and returns comments. These are not the Instagram API; they are scrapers with a REST wrapper. Evaluated honestly they have one real advantage — no per-account authorisation, so public posts by anyone are readable — and a set of costs worth naming:

  • Pricing is usually per result or per compute unit, which makes a 60,000-comment post genuinely expensive and hard to forecast before you run it.
  • Schemas drift. When Instagram's internal responses change, your parsing breaks with no changelog and no deprecation window.
  • You still write the client. Polling, retries, pagination, CSV conversion — you have replaced Meta's plumbing with someone else's plumbing, and you maintain the glue either way.

Worth it when comment ingestion is a component inside a larger product you are building. Not worth it when the actual deliverable is a file. We compared the equivalent landscape on the other big platform in the TikTok comments API guide, and the shape of the answer is the same.

The route most projects should take instead

Ask what the end state is. If the answer is "a table of comments I can filter, pivot and read", the API is a long way around. A URL-based exporter gets there in about a minute:

  1. Copy the Instagram post, Reel or carousel URL.
  2. Paste it into the Instagram comment exporter.
  3. Tick replies if the thread matters — tag-a-friend and answer-in-the-replies mechanics push a large share of the volume below the top level.
  4. Download CSV, Excel or JSON.

No app, no Business Verification, no App Review, no tokens, no version deprecations, and critically no per-account authorisation — which means competitor posts and creator posts, the ones the API can never reach, work identically to your own. The first 100 comments of any post are free with no signup, so you can check the exact field shape against your requirements before deciding anything.

If you want this inside an automation rather than a browser, the same exports are reachable from an AI assistant over MCP — see exporting comments in ChatGPT, Claude, Gemini and Grok — which covers a surprising share of what people were going to write a script for.

A decision table

  • You need to reply to or hide comments programmatically → Instagram Platform API. Nothing else can write.
  • You need a real-time alert when a new comment arrives on your own account → Instagram Platform API with webhooks.
  • You are shipping a SaaS product where customers connect their own Instagram accounts → Instagram Platform API. The OAuth flow is the product.
  • You need every comment on a specific public post, once → URL-based export. Minutes, not weeks.
  • You need competitor or creator post comments → URL-based export. The API structurally cannot do this.
  • You need a campaign's comments across many posts, daily → URL-based export on a pass. A single purchase covers unlimited posts for its window.
  • You need comment ingestion as a component of a larger engineering product → a third-party scraping API, with schema drift budgeted for.

Cost, plainly

The API is free to call and expensive to own: Business Verification, App Review rounds, OAuth, token refresh infrastructure, rate-limit engineering, version upgrades in perpetuity. Two engineer-weeks to first production comment is a normal estimate, and the maintenance never reaches zero.

Exports are priced per volume and cost nothing to own. The first 100 comments of a post are free with no signup, three exports a day. Beyond that it is $1 per 100 comments with a $3 minimum, or a one-time $14 3-Day Pass covering unlimited posts at up to 10,000 comments each. Pro Passes — $49 for 3 days, $349 for 7 days, $1,499 for 30 days — lift the ceiling to 100,000 comments per post and add AI analysis. All of them are one-time purchases that expire on their own; there is no subscription and nothing to cancel.

Against two engineer-weeks, the arithmetic is not close unless you genuinely need to write.

If you do build on the API, do these five things

  • Write the token refresh job before the first feature. Long-lived tokens last 60 days. Refresh at 45, alert at 55.
  • Store the raw JSON, not just your parsed rows. When a field changes meaning you will want the originals, and comments deleted upstream are not re-fetchable.
  • Treat replies as a separate cost centre. Decide up front whether you need them; they can multiply your call count by three orders of magnitude on a big thread.
  • Pin the API version explicitly and diary its end-of-life. Default versions move under you.
  • Handle deletions as first-class events. Comments vanish continuously through author deletion and Meta's automated enforcement. A pipeline that only inserts will slowly diverge from reality.

Export Instagram comments now

Paste any Instagram post or Reel URL — every comment in CSV-ready format.