Instagram Post Comments API reference
Your first 10 calls are free, no card needed. Pricing and FAQ
Get a free API keycurl "https://api.insightsocial.app/v1/instagram/post/comments?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FDXidPIVDU6M%2F" \ -H "x-api-key: $INSIGHTSOCIAL_API_KEY"
Step-by-step: Get the accounts that liked an Instagram post
Returns a post's comments, each with its text, author, like count, reply count, and time, ranked by popularity by default or newest first.
Use it to read the comment section of one post, paging deeper with the cursor it returns; pass sort=recent for newest first.
Metered: 50–150 credits. We reserve the ceiling when the call starts and charge what it actually used when it finishes.
Paginates by cursor: see Pagination.
Authorization
apiKey Your key from the dashboard. It starts with isk_.
In: header
Query Parameters
URL of the Instagram post (a /p/, /reel/, /reels/, or /tv/ link).
Ordering: top (default) ranks by Instagram's popularity order (most-liked first); recent returns newest-first. Use recent when you are paging through a whole thread: Instagram ranks only the most-liked head, so a top walk starts repeating comments once you page past it.
Value in
- "top"
- "recent"
Pagination cursor. Use the next_cursor from the previous response to fetch the next page.
When true, returns URL-safe profile picture links suitable for embedding.
Optional, 1 to 3, default 1. With 2 or 3, the call reads that many pages, drops comments repeated across pages, and returns them all sorted by likes (sort=top) or newest first (sort=recent). Use it when the first page of a top-sorted thread is low-like comments.
1 <= value <= 3Set to 1 to get the price of this call without making it: data.dry_run carries credits_min and credits_max. Nothing is charged.
Value in
- "1"
Only rows published on or after this date: YYYY-MM-DD (midnight UTC) or an ISO 8601 timestamp. Rows older than it are left off the page, and the page that reaches one ends the walk: next_cursor is not returned and pagination.stopped_at is since. Sending it sets the newest-first sort shown in this endpoint's sort parameter (any other sort value is a free 400). The page still costs what a page costs, so you pay for the pages you walk and no more. A row with no date is kept.
Only rows published on or before this date: YYYY-MM-DD (that whole UTC day is included) or an ISO 8601 timestamp. Newer rows are left off each page and the walk does not stop, so older pages follow. A row with no date is kept.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.insightsocial.app/v1/instagram/post/comments?url=string"{ "success": true, "platform": "string", "endpoint": "string", "schema_version": "2", "pagination": { "next_cursor": "string", "has_more": true, "page_size": 0, "stopped_at": "since" }, "unavailable": [ "string" ], "credits_used": 0, "credits_remaining": 0, "request_id": "string", "cached": true, "idempotent_replay": true, "charge_reason": "string", "free_call": true, "data": { "items": [ { "comment": { "id": "string", "url": "http://example.com", "parent_id": "string", "post_id": "string", "text": "string", "author": { "id": "string", "username": "string", "display_name": "string", "avatar_url": "http://example.com", "verified": true }, "engagement": { "likes": 0, "replies": 0 }, "flags": { "pinned": true, "deleted": true }, "published_at": "2019-08-24T14:15:22Z", "language": "string", "replies": [ {} ], "ext": { "property1": null, "property2": null } } } ], "total": 0, "truncated": true, "ext": { "property1": null, "property2": null } }}Post › Comment › Replies GET
Returns replies under one Instagram comment, each with text, like count, nested reply count, author, and timestamp.
Post › Likers GET
Returns up to about 2,000 of the accounts that liked a post, each with username, display name, avatar, and verification status, plus the full like count, in one call with no further pages.