Instagram Reels Comments Scraper API avatar

Instagram Reels Comments Scraper API

Under maintenance

Pricing

from $9.00 / 1,000 results

Go to Apify Store
Instagram Reels Comments Scraper API

Instagram Reels Comments Scraper API

Under maintenance

Scrape Instagram reels, posts, profiles, comments, captions, media URLs, likes, plays, views, and share counts. Supports multiple usernames or URLs in one run.

Pricing

from $9.00 / 1,000 results

Rating

0.0

(0)

Developer

Charlson Dou

Charlson Dou

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

7 days ago

Last modified

Share

Overview

Instagram Reels Comments Scraper API is a lightweight Apify Actor for collecting structured data from Instagram reels, posts, and public profiles. Provide one or more Instagram usernames or reel/post URLs and get JSON records with captions, media URLs, engagement counts, share counts when available, and visible comments.

This Actor is a hosted API wrapper. It sends your input to a maintained backend endpoint and saves the returned items into your Apify dataset.

Features

  • Scrape direct Instagram reel/post URLs
  • Scrape recent reels/posts from one or more public profile usernames
  • Collect captions, hashtags, mentions, owner details, timestamps, dimensions, thumbnails, and video URLs
  • Collect likes, comments count, play/view count, and share count when visible
  • Collect visible comments with a configurable per-post limit
  • Supports multiple usernames or URLs in one run
  • Outputs clean structured JSON ready for analytics, automation, n8n, Make, Airtable, Google Sheets, or AI workflows

For Apify Users

Run this Actor with your normal Apify account or Apify API token. You do not need to provide the backend API key. The Actor owner configures private backend environment variables. Users do not need to provide them.

Actor Owner Configuration

Before publishing or running this Actor as the owner, set these environment variables in the Apify Actor settings:

ZEABUR_URL=your_private_backend_endpoint
API_KEY=your_private_backend_api_key
# Optional internal troubleshooting only:
INCLUDE_DEBUG=false

API_KEY is not an Apify user token. It is the private key used by this Actor to call your private backend API. Apify users run the Actor with their normal Apify API token and never see this value.

Input Parameters

ParameterTypeDescription
usernameArrayInstagram usernames, profile URLs, or direct reel/post URLs. You can mix accounts and URLs.
reelCountIntegerNumber of recent reels/posts to fetch per profile. Direct URLs return one item.
commentsLimitIntegerMaximum visible comments to collect per reel/post. Use lower values for faster runs.
onlyPostsNewerThanStringOptional date filter. Supports YYYY-MM-DD, ISO timestamps, or relative values like 7 days, 2 weeks, 3 months.
skipPinnedPostsBooleanSkip pinned posts when profile discovery can identify them.
maxConcurrencyIntegerMaximum number of items processed in parallel by the backend API.

Example Input

Scrape two recent reels from multiple profiles:

{
"username": ["cla.x.fitness", "aiflowtime"],
"reelCount": 2,
"commentsLimit": 50,
"skipPinnedPosts": true
}

Scrape direct reel URLs:

{
"username": [
"https://www.instagram.com/reel/DWltAaSAAYL/",
"https://www.instagram.com/p/DX0zV3lAQWM/"
],
"commentsLimit": 100
}

Mix profiles and direct URLs:

{
"username": [
"cla.x.fitness",
"https://www.instagram.com/reel/DWltAaSAAYL/",
"humansofny"
],
"reelCount": 1,
"commentsLimit": 50
}

Output Data

Each dataset item represents one Instagram reel/post.

FieldDescription
idInstagram media ID when available
typeMedia type, usually Video
shortCodeInstagram shortcode
captionPost caption text
hashtagsHashtags extracted from the caption
mentionsMentioned usernames extracted from the caption
urlCanonical Instagram post/reel URL
commentsCountPublic comments count when available
dimensionsHeight / dimensionsWidthMedia dimensions
imagesThumbnail/preview image URLs
videoUrlDirect video media URL when accessible
likesCountPublic like count when available
sharesCountShare count when visible to the backend session
timestampPost timestamp
ownerFullNameCreator display name
ownerUsernameCreator username
ownerIdInstagram owner ID
productTypeInstagram product type, for example clips
videoDurationVideo duration in seconds
inputUrlOriginal input URL used for this item
firstCommentFirst collected comment text when available
latestCommentsArray of collected visible comments
latestCommentsFetchedCountNumber of comments returned
commentsLimitRequested per-post comments limit
displayUrlMain display image URL
videoViewCountView count when available
videoPlayCountPlay count when available
childPostsChild posts for carousel-like data when available
statusProcessing status
processedAtBackend processing timestamp

Example Output

{
"id": "3887958181485282700",
"type": "Video",
"shortCode": "DX0zV3lAQWM",
"caption": "Post caption text...",
"hashtags": [],
"mentions": [],
"url": "https://www.instagram.com/p/DX0zV3lAQWM/",
"commentsCount": 40,
"images": ["https://...jpg"],
"videoUrl": "https://...mp4",
"likesCount": 1157,
"sharesCount": 11,
"timestamp": "2026-05-02T05:55:03.000Z",
"ownerFullName": "Creator name",
"ownerUsername": "creator_username",
"ownerId": "123456789",
"productType": "clips",
"videoDuration": 104,
"inputUrl": "https://www.instagram.com/p/DX0zV3lAQWM/",
"firstComment": "Nice post",
"latestComments": [
{
"id": "18000000000000000",
"text": "Nice post",
"ownerUsername": "commenter",
"owner": {
"is_verified": false,
"username": "commenter"
}
}
],
"latestCommentsFetchedCount": 1,
"commentsLimit": 50,
"displayUrl": "https://...jpg",
"videoViewCount": 10000,
"videoPlayCount": 10000,
"childPosts": [],
"status": "success",
"processedAt": "2026-05-03T12:00:00.000000+00:00"
}

How It Works

  1. Add Instagram usernames, profile URLs, or direct reel/post URLs.
  2. The Actor forwards the request to the hosted Instagram scraping API.
  3. The backend resolves recent posts, loads visible comments, and enriches each record.
  4. The Actor stores each returned item in the Apify dataset.

Performance Tips

For many accounts, avoid very large runs in one request. Start with:

{
"username": ["account1", "account2", "account3"],
"reelCount": 1,
"commentsLimit": 20
}

Increase reelCount and commentsLimit gradually. Comments collection is the slowest part because Instagram often requires browser-like scrolling to load more comments.

Notes & Limitations

  • Works best with public Instagram profiles and public reels/posts.
  • Private, restricted, removed, or region-limited content may not be accessible.
  • Engagement numbers can change over time and may differ from what you see in the Instagram app.
  • Share counts are returned only when visible to the backend session and may be unavailable for some posts.
  • Comments are visible comments loaded by the backend session, not guaranteed to be every comment on very large posts.
  • Direct media URLs may expire because Instagram CDN URLs are time-limited.

Use Cases

  • Influencer and creator research
  • Reels engagement monitoring
  • Comment mining and keyword research
  • Social media analytics dashboards
  • Competitor content tracking
  • Lead generation and community analysis
  • Feeding Instagram post data into AI workflows

SEO Keywords

Instagram Reels Scraper, Instagram Comments Scraper, Instagram Post Scraper, Instagram Profile Reels API, Instagram Engagement Data, Instagram Shares Count Scraper, Instagram JSON API Alternative, Instagram Social Media Analytics

Disclaimer

Use this Actor responsibly and only for lawful purposes. Instagram may restrict automated collection of data in its terms of service. This Actor is intended for collecting accessible Instagram post/profile data for analytics, research, and automation workflows. The developer is not responsible for misuse.