Skip to content
ScrapeField

Get the comments on an Instagram post

Fetch comments on one Instagram post: username, text, timestamp, like_count, reply_count and parent_id for replies. Use this for social listening and campaign verification.

3 credits
GEThttps://api.scrapefield.com/v1/instagram/comments
Try itno key needed3 credits on a real call · 0 here
https://api.scrapefield.com/v1/instagram/comments?shortcode=C8xYz1AbCdE

In your code

const params = new URLSearchParams({
  "shortcode": "C1a2B3c4D5e"
});

const res = await fetch(`https://api.scrapefield.com/v1/instagram/comments?${params}`, {
  headers: { Authorization: `Bearer ${process.env.SCRAPEFIELD_KEY}` },
});

const { data, meta } = await res.json();
console.log(data, meta.credits_charged);

Parameters

Parameters
ParameterWhat it does
url
string · one of the post ids
The post URL.
shortcode
string · one of the post ids
The post shortcode.
limit
integer
At most this many results, 1–50. A page can hold fewer while next_cursor is set: read until it is null.
1–50, default 50
cursor
string
The meta.next_cursor from the previous page. Omit for the first page.
fresh
boolean
Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.
default false

Response

Returns an array of instagram_comment. This is the demo’s answer, the one the playground above returns, in full rather than abbreviated — including the fields that come back null, because a field is null when the platform does not show it and you should know which ones those are before you build on them. A call with your key returns the account you ask for.

{
  "data": [
    {
      "id": "18270494233811733",
      "media_id": "3478764979894145274",
      "parent_id": null,
      "username": "adam60",
      "text": "Where is this?",
      "timestamp": "2026-06-19T03:05:59.000Z",
      "like_count": 508,
      "reply_count": 9
    },
    {
      "id": "18463331152124146",
      "media_id": "3478764979894145274",
      "parent_id": null,
      "username": "viktor39",
      "text": "Second time watching.",
      "timestamp": "2026-08-20T16:10:38.000Z",
      "like_count": 883,
      "reply_count": 2
    }
  ],
  "meta": {
    "request_id": "req_7f3ac1e94b2d40f8a1c6e5d2",
    "credits_charged": 3,
    "credits_remaining": 74218,
    "cached": false,
    "fetched_at": "2026-09-20T09:12:03Z",
    "next_cursor": "eyJwIjoxLCJzIjoiYTNmOSJ9"
  }
}

Fields of instagram_comment

A comment on an Instagram post. Named after Instagram's Graph API.

Fields
FieldWhat it is
id
string
Instagram's id for the comment.
media_id
string
The post it is on.
parent_id
string · or null
The comment it replies to. null for a top-level comment.
username
string
Who wrote it, without the @.
text
string · or null
null for a comment with no words, such as a GIF.
timestamp
time, ISO 8601 UTC · or null
null when the source does not say.
like_count
integer · or null
null when the source does not give it.
reply_count
integer · or null
null when the source does not give it.

What it costs

3 credits per successful call, whether we fetch it or serve it from cache — you pay for the answer, not for how we produced it. Responses are cached for 1 hour and a cached one tells you when the data was actually fetched. A call we fail costs 0 and is refunded automatically.

On the smallest pack that is $2.34 per 1,000 calls; on the largest, $1.32. The full table.

What people build with it

Questions

How much does the Instagram comments API cost?

3 credits a call: $2.34 per 1,000 calls on the smallest pack and $1.32 on the largest. A call that fails costs nothing, and the refund is automatic. A cached answer costs the same as a fresh one. Credits are bought in packs and never expire; there is no plan.

Do I need a Instagram account, a login or cookies?

No. You need a key from us and nothing from Instagram. We never take a customer's login, cookies or session, at any price, and no account of yours is ever at risk.

Can I try it without signing up?

Yes. Add demo=true and leave the key out, or press Send request in the playground on this page. The demo answers with a real answer about Ferrari, captured once a week, in exactly the shape a live call returns, whatever you ask, and charges nothing.

How fresh is the data?

An answer is kept for up to 1 hour, and a cached one says when it was fetched, in meta.fetched_at. Add fresh=true to fetch it again now, at the same price; it needs any purchase, not the trial.

What does it return?

A list of instagram_comment objects. Its fields are named after Instagram's Graph API. A field is null when Instagram does not show it, never missing. Every field is described on this page.

How do I get more than one page?

Pass meta.next_cursor back as cursor, and stop when it is null. Each page is a call, priced the same. A cursor lasts as long as the answer it belongs to is cached.

Can an AI agent call it?

Yes: it is the MCP tool get_instagram_comments on our MCP server, with the same parameters, answer and price. Without a key, the tool answers from the demo.