How to scrape Instagram Comments with R
Comments on a post or reel. This tutorial gets it with a short R program and the Instagram Comments API. Each successful call costs 1 credit; errors and not-found answers are free.
1. Get an API key
Sign in to get a key and 100 free credits, no card. Then put the key in an environment variable so it stays out of your code:
export SCRAPEIO_API_KEY="your_key_here"2. Set up R
install.packages("httr2")3. Write the code
Save this as scrape.R. Replace PASTE_URL_HERE with a real url.
library(httr2)
params <- list(url = "PASTE_URL_HERE")
call <- function(params) {
request("https://scrapeio.com/v2/instagram/post/comments") |>
req_url_query(!!!params) |>
req_headers("x-api-key" = Sys.getenv("SCRAPEIO_API_KEY")) |>
req_perform() |>
resp_body_json()
}
items <- list()
repeat {
data <- call(params)$data
items <- c(items, data$items)
if (!isTRUE(data$has_more) || is.null(data$cursor) || length(items) >= 100) break
params$cursor <- data$cursor
}
cat(length(items), "items\n")
str(head(items, 3), max.level = 2)The loop follows data.cursor until data.has_more is false, and stops at 100 items. Each page is one call, so it costs 1 credit.
4. Run it
Rscript scrape.RThe response has the same envelope on every endpoint: success, cached, credits_used, credits_remaining and data. Shared fields such as handle, followers, plays, likes and created_at have the same names on every platform.
Parameters
| Name | Type | Description |
|---|---|---|
url (required) | string | Instagram post or reel URL. |
sort | recent, popular | recent pages with likes; popular returns the top 15. Default: recent. |
cursor | string | Cursor from the previous page's data.cursor. |
Errors and what you pay
| Status | Meaning | Charged |
|---|---|---|
200 | Success | Yes, unless cached |
400 | A parameter is missing or wrong | No |
401 | The key is missing or invalid | No |
402 | Not enough credits | No |
403 | The account or post is private | No |
404 | Not found on the platform | No |
429 | More than 300 requests a minute | No |
502 | Every source is down; retry shortly | No |
Same endpoint in other languages
Python · Node.js · JavaScript · TypeScript · Go · Rust · Java · C# · PHP · Ruby · Kotlin · Swift
Prefer no code?
Connect the MCP server to Claude Code, Cursor or Codex and ask in plain English. The agent uses the instagram_comments tool for you.
100 free credits, no card. Credits never expire.
Get API keyMore Instagram tutorials in R
- How to scrape Instagram Profile with R
- How to scrape Instagram User Posts with R
- How to scrape Instagram User Reels with R
- How to scrape Instagram Post with R
- How to scrape Instagram Comment Replies with R
- How to scrape Instagram Transcript with R
- How to scrape Instagram Search with R
- How to scrape Instagram Search Posts with R
- How to scrape Instagram Hashtag with R
- How to scrape Instagram Similar Accounts with R
- How to scrape Instagram Reels Search with R
- How to scrape Instagram Audio Reels with R
- How to scrape Instagram Basic Profile with R
- How to scrape Instagram Highlights with R
- How to scrape Instagram Highlight Detail with R
- How to scrape Instagram Post Count with R
- How to scrape Instagram Search Profiles with R
- How to scrape Instagram Tagged Posts with R
- How to scrape Instagram Search Hashtag with R
- How to scrape Instagram Reels Trending with R
- How to scrape Instagram Search Popular with R
- How to scrape Instagram User Embed with R