Skip to content
scrapeatlas.Dashboard

List Instagram post comments

Try in Playground

Read a public Instagram post or reel comment page with text, authors, timestamps, like counts and reply counts.

GET/v1/instagram/post/commentsx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
1
urlstringrequiredquery

instagram.com post, reel or video permalink.

max 2048 chars

Examplehttps://www.instagram.com/p/ExAmPlE0002/
Response fields
27
requestIdstring

Request correlation identifier.

HTTP attempts for the operation (profile: one document, plus the page load the first time a handle is seen; basic-profile: one document; post-count: page; posts: page plus document the first time a handle is seen, otherwise the profile document, the session probe and the posts document; reels: document, plus the page when identified by handle; post: document plus page, or the document alone with include_comments=false on non-carousel media; comments: page; highlights: page, plus a document when identified by user id; all including the shared transient retry), decoded bytes and duration.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable data is returned; inspect status and coverage for omissions.

statusenum

success, partial, failed, or challenged. HTTP 200 can be partial.

one of: success, partial

sourceUrlstring

Canonical instagram.com URL of the profile, post or reel.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

Complete means every source field of the operation was returned; warnings name every omission or cap (private_account, items_truncated, comments_truncated, comments_first_page_only, comments_omitted, highlights_first_page_only, highlights_truncated).

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

Always included.

up to 50 items

comments.idstring

Always included.

min 1 chars

comments.textstring

Always included.

comments.comment_like_countintegernullable

Always included.

comments.child_comment_countintegernullable

Always included.

comments.created_atstring

Always included.

Always included.

comments.user.profile_pic_urlstring

Always included.

comments.user.usernamestring

Always included.

min 1 chars

comments.user.idstring

Always included.

comments.user.is_unpublishedbooleannullable

Always included.

comments.user.pkstring

Always included.

comments.user.is_verifiedboolean

Always included.

cursornullnullable

Always null; comments_first_page_only marks further pages.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
16
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, malformed or unsupported parameters, handles, ids, cursors or URLs.
401unauthorizedInvalid API key.
404not_foundUnknown handle, user id or post.
403restricted_pageThe page or document is private or gated (private account, gated media, login redirect).
422count_estimated_onlyInstagram abbreviates this post count and allow_estimated was not set.
429upstream_rate_limitedInstagram rate limited the page load or the GraphQL read.
502upstream_challengedInstagram refused the request with its error shell (status challenged).
502operation_unavailableInstagram no longer serves the pinned document for this operation.
502unsafe_redirectInstagram redirected the request somewhere other than the login form.
502unsupported_pageThe page or GraphQL result is missing, mismatched or structurally unsupported.
502response_too_largeThe decoded responses exceeded the operation's byte budget (1–3 MiB).
502payload_too_complexThe response exceeded the JSON depth or node limits.
502request_limitThe upstream request budget was exhausted.
502upstream_errorNetwork failure or HTTP 5xx after the single retry.
503busyAll retrieval slots are busy.
504timeoutThe 45-second deadline elapsed.