Instagram-reel-post-stats-scraper avatar

Instagram-reel-post-stats-scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Instagram-reel-post-stats-scraper

Instagram-reel-post-stats-scraper

Instagram Reel & Post Scraper that extracts likes, views, comments, captions, hashtags, mentions, creator details, music metadata, media URLs, carousel content, timestamps, and partnership info — no login or API key required.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Cyrolix

Cyrolix

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Instagram Reel Scraper

Scrape Instagram reels and posts for engagement metrics — likes, comments, views — along with creator info, audio/music metadata, hashtags, mentions, and direct media URLs. No login or API key required.


Features

FeatureDetails
Likes
Views
Comment Count
Caption
Hashtags✅ (extracted from caption)
Mentions✅ (merged @mentions + tagged users)
Music / Audio Title
Music / Audio Artist
Music Cover Art URL
Display Image URL
Direct Video URL
Carousel / Multi-Media Posts✅ (all child images & videos)
Creator Username
Creator ID
Paid Partnership Detection
Comments Disabled Detection
Upload Timestamp
No Login Required
Batch URLs

Supported URL Formats

TypeExample
Reelhttps://www.instagram.com/reel/XXXXXXXXXXX/
Posthttps://www.instagram.com/p/XXXXXXXXXXX/

Input

FieldTypeRequiredDescription
urlStringNo*Single Instagram reel or post URL
urlsArray of StringsNo*Multiple Instagram URLs to scrape

*At least one of url or urls must be provided.

Example Input

{
"url": "https://www.instagram.com/reel/XXXXXXXXXXX/"
}
{
"urls": [
"https://www.instagram.com/reel/XXXXXXXXXXX/",
"https://www.instagram.com/p/YYYYYYYYYYY/"
]
}

Output

Each scraped URL produces one result object pushed to the dataset.

Full Output Schema

{
"inputUrl": "https://www.instagram.com/reel/XXXXXXXXXXX/",
"id": "3456789012345678901",
"shortCode": "XXXXXXXXXXX",
"type": "Video",
"url": "https://www.instagram.com/reel/XXXXXXXXXXX/",
"likesCount": 14200,
"commentsCount": 382,
"videoViewCount": 210000,
"caption": "This is the caption text with #hashtag and @mention",
"hashtags": ["hashtag"],
"mentions": ["mention", "taggeduser"],
"displayUrl": "https://example.com/image.jpg",
"videoUrl": "https://example.com/video.mp4",
"childPosts": [
{
"type": "Image",
"displayUrl": "https://example.com/image1.jpg",
"videoUrl": null
},
{
"type": "Video",
"displayUrl": "https://example.com/thumb2.jpg",
"videoUrl": "https://example.com/video2.mp4"
}
],
"ownerUsername": "creator_handle",
"ownerId": "1234567890",
"musicInfo": {
"title": "Song Name",
"artist": "Artist Name",
"coverUrl": "https://example.com/cover.jpg"
},
"productType": "clips",
"timestamp": "2026-08-10T14:30:00.000Z",
"paidPartnership": false,
"isCommentsDisabled": false,
"scrapedAt": "2026-08-22T12:00:00.000Z",
"status": null,
"error": null
}

Output Fields Reference

FieldTypeDescription
inputUrlStringThe URL that was provided as input
idStringNumeric Instagram media ID
shortCodeStringInstagram shortcode (from the URL)
typeString"Video" or "Image"
urlStringCanonical post URL
likesCountNumberTotal like count
commentsCountNumberTotal comment count
videoViewCountNumber / nullPlay count (only for video/reels)
captionString / nullFull post caption text
hashtagsArray of StringsHashtags extracted from caption
mentionsArray of StringsMerged @mentions and tagged users
displayUrlStringMain display image URL
videoUrlString / nullDirect video URL (if content is a video)
childPostsArrayCarousel items — each has type, displayUrl, videoUrl
ownerUsernameStringCreator's Instagram handle
ownerIdStringNumeric Instagram user ID
musicInfo.titleString / nullAudio track title
musicInfo.artistString / nullAudio track artist/author
musicInfo.coverUrlString / nullAudio cover art URL
productTypeStringAlways "clips" for reels
timestampISO 8601 / nullPost creation time
paidPartnershipBooleanWhether the post is a paid partnership
isCommentsDisabledBooleanWhether comments are turned off
scrapedAtISO 8601Timestamp of when the scrape ran (UTC)
statusString / null"error" on failure, null on success
errorString / nullError message if scraping failed

Error Response

{
"inputUrl": "https://www.instagram.com/reel/XXXXXXXXXXX/",
"status": "error",
"error": "Post not found or account is private",
"scrapedAt": "2026-08-22T12:00:00.000Z"
}

Limitations

  • Only works on public Instagram accounts — private accounts return an error
  • Instagram's CDN URLs for media (images/videos) may expire after some time
  • Instagram may rate-limit anonymous requests for very large batches — space out runs if needed
  • Reel audio metadata (musicInfo) is only available when the reel uses a track from Instagram's audio library