How to get Instagram post comments
GET request to /v1/instagram/comments with your input. You get clean JSON back in seconds for ~45 credits (0.9/result) per call — no OAuth, scraping or platform SDKs. Get the comments on any Instagram post or Reel — text, author, likes, and timestamp when Instagram exposes them.How to get Instagram post comments (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the Instagram Post Comments API
Send an authenticated GET request to /v1/instagram/comments with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/instagram/comments?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FDZFqdAxlkUG%2F" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"platform": "instagram",
"url": "https://www.instagram.com/p/DZFqdAxlkUG/",
"totalReturned": 2,
"comments": [
{
"id": "17928720258124446",
"url": "https://www.instagram.com/p/DZFqdAxlkUG/c/17928720258124446",
"text": "❤️❤️❤️❤️",
"author": "giulianagrichetta",
"authorAvatarUrl": "https://scontent-atl3-1.cdninstagram.com/v/t51.82787-19/728156182_18607734223047509_7404583005739996663_n.jpg?stp=dst-jpg_s150x150_tt6&_nc_cat=100&ccb=7-5&_nc_sid=f7ccc5&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=cGoAOlkd3_cQ7kNvwH3cesI&_nc_oc=AdoV430X7wZK1hp5x9HI0Hg267Kf8LmyXB11Ej7I4nXePNxGKZduI8DcOoBp0IN0ER4&_nc_zt=24&_nc_ht=scontent-atl3-1.cdninstagram.com&_nc_gid=P5Abwq2UvTMDXokKzG45Jg&_nc_ss=72a8c&oh=00_AQBT4Z-zQV-Z89Kd0BKVNmhs_-iOYakXFRvy-kMFVfLWsA&oe=6A4DA794",
"authorIsVerified": false,
"publishedAt": "2026-07-01T07:49:55.000Z"
},
{
"id": "18083281052356825",
"url": "https://www.instagram.com/p/DZFqdAxlkUG/c/18083281052356825",
"text": "Hoppers moment",
"author": "redkidane",
"authorAvatarUrl": "https://scontent-atl3-3.cdninstagram.com/v/t51.82787-19/686139918_18580722691039268_2096250779414967342_n.jpg?stp=dst-jpg_s150x150_tt6&_nc_cat=111&ccb=7-5&_nc_sid=f7ccc5&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=5ruLx7cECMUQ7kNvwEw883n&_nc_oc=Adp-jPSBc0mkti93nI0FR-bBBq_hLclzrrRqC70JO7HsI47RMZeVJF159wD-BivgyvM&_nc_zt=24&_nc_ht=scontent-atl3-3.cdninstagram.com&_nc_gid=P5Abwq2UvTMDXokKzG45Jg&_nc_ss=72a8c&oh=00_AQD-UwNDAfkrNje1f_2dMoh9ax8alu8E-J44od76mYrB5g&oe=6A4DA11B",
"authorIsVerified": false,
"publishedAt": "2026-06-24T23:45:01.000Z"
}
]
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. |
| limit | integer | No | Max items to return (default 50, max 500). Billed per result. |
| cursor | string | No | Pagination cursor from the previous nextCursor ({mediaPk}:{minId}). Omit on the first page. hasMore is true only when nextCursor is present. |
| cache | boolean | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
Frequently asked questions
What does the Instagram Post Comments API do?
The Instagram Post Comments API lets you pull comments with author, text, likes, and replies from a public Instagram post using one GET request to /v1/instagram/comments. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Instagram Post Comments API cost?
At the default limit this endpoint costs 45 credits (0.9 per result). Billing scales with how many results you request. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a Instagram API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
I asked for 50 comments and got 2. Is the endpoint broken?
Logged-out Instagram only embeds ~2 preview comments on the media payload. totalAvailable is the thread size; truncatedReason=logged_out_preview means we could not page further. A working session returns nextCursor and hasMore=true. hasMore is never true without a cursor.
Why are likeCount / publishedAt / replyCount null?
Polaroid preview rows are often text + author only. Those keys stay null rather than invented zeros. Session and extended rows fill them when Instagram sends comment_like_count / created_at / child_comment_count.
Why did a comments call take over two minutes and still bill me?
That was a hang past Cloudflare's ~125s read timeout that still logged 200. The route is now hard-capped at 110s — timeout is 502 UPSTREAM_UNAVAILABLE at 0 credits.
Is the Instagram Post Comments API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
Ready to get Instagram post comments?
Start free with 100 credits — no credit card required.
Get your free API key