Instagram Posts Scraper
Pricing
$1.00 / 1,000 posts
Instagram Posts Scraper
Scrape Instagram posts and reels: likes, caption, post date, media, and the exact total comment count. Accepts post URLs or profile URLs to harvest recent posts. No login required.
Pricing
$1.00 / 1,000 posts
Rating
0.0
(0)
Developer
Cravl
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
17 hours ago
Last modified
Categories
Share
Instagram Posts Scraper
Scrape public Instagram posts and reels in guest mode: no login, no cookies. Get post metadata including the exact total comment count, not just the guest-visible subset.
What you get per post
- Metadata: type (post/reel), owner, like count, post date, caption
- Media: CDN URL of the cover image, video flag
- Exact comment count: the true total reported by Instagram, including comments hidden from guests
Two ways to run
- Direct: pass post/reel URLs (
https://www.instagram.com/reel/CODE/,/p/CODE/): each is fetched and emitted. - Profile harvest: pass profile URLs (
https://www.instagram.com/username/): the Actor first reads the profile's recent post grid, then fetches each post (up tomaxPosts, default 12; the guest grid exposes up to 12).
How it works
The Actor runs a lightweight native extraction engine (not a full browser) in guest mode. Instagram renders posts fully only through exit IPs with guest reputation, so residential proxies are recommended. Datacenter exits typically receive a login redirect; the Actor reports that honestly as an error instead of returning empty data.
Input
| Field | Type | Description |
|---|---|---|
directUrls | array | Post/reel URLs and/or profile URLs |
maxPosts | integer | Max posts to fetch per profile URL (1–100, default 12) |
proxyConfiguration | object | Apify proxy settings; residential group recommended |
Output
One dataset record per post: url, kind, owner, likes, commentCountExact, postDate, caption, mediaUrl, isVideo, and error when a post could not be retrieved.
Use cases
- Content performance tracking (likes + exact comment volume per post)
- Feeding post URLs into the Instagram Comments Scraper for full comment threads
- Profile-to-post pipelines for competitor or influencer monitoring
- Detecting video vs. image content mix on a profile
Notes
- This Actor returns post metadata only. For individual comment records (author, text, timestamps, replies), use the Instagram Comments Scraper.
commentCountExactis the exact total from Instagram's own data; the guest-visible subset is intentionally not reported here.
Migrating from other Apify Actors
Cravl Actors accept Apify-style inputs and emit familiar field names alongside Cravl-specific fields, so most pipelines migrate with minimal changes.
Input compatibility
startUrls(array of URLs, or objects with aurlkey) is accepted as an alias fordirectUrls.resultsLimitandmaxItemsare accepted as aliases formaxPosts.
Output compatibility
| Cravl field | Compatible alias | Notes |
|---|---|---|
owner | ownerUsername | |
likes (text) | likesCount | numeric when parseable |
commentCountExact | commentsCount | |
| (new) | shortCode | derived from the post URL |
| (new) | inputUrl | original input URL |
Structure: one item per post. Profile inputs are expanded to their recent posts first.