Instagram Post Scraper
Pricing
from $1.00 / 1,000 instagram post scrapers
Instagram Post Scraper
Extract data from any public Instagram post by URL. Get caption, likes, comments, hashtags, mentions, author username, image URL & timestamp instantly. No account needed — stealth browser bypasses bot detection.
Pricing
from $1.00 / 1,000 instagram post scrapers
Rating
5.0
(1)
Developer
Alexandre Manguis
Actor stats
1
Bookmarked
16
Total users
10
Monthly active users
a month ago
Last modified
Categories
Share
Extract complete data from any public Instagram post by URL — no login required. Get caption, likes, comments, hashtags, mentions, author info, image URL and timestamp in seconds.
Works headlessly using a stealth browser to bypass bot detection. For private posts or higher-volume usage, provide session cookies.
Features
- ✅ No Instagram account required for public posts
- ✅ Works on
/p/,/reel/and/tv/URLs - ✅ Extracts hashtags and mentions automatically
- ✅ Supports multiple URLs in a single run
- ✅ Optional session cookies for private/restricted content
- ✅ Proxy support via Apify Proxy
Input
{"postUrls": ["https://www.instagram.com/p/DUJaVJMFbh6/","https://www.instagram.com/reel/ABC123xyz/"],"sessionCookies": "","proxyConfig": {"useApifyProxy": true}}
| Field | Type | Required | Description |
|---|---|---|---|
postUrls | Array of strings | ✅ | Instagram post / reel URLs to scrape |
sessionCookies | String | ❌ | Cookie string (sessionid=...; csrftoken=...) for private posts |
proxyConfig | Object | ❌ | Apify proxy configuration |
Output
Each scraped post is saved as one record in the dataset.
Example
{"shortcode": "DUJaVJMFbh6","url": "https://www.instagram.com/p/DUJaVJMFbh6/","type": "Image","caption": "Golden hour in Lisbon 🌇 One of my favourite spots. #travel #lisbon #portugal #goldenHour #streetphotography","hashtags": ["travel", "lisbon", "portugal", "goldenHour", "streetphotography"],"mentions": [],"likesCount": 3847,"commentsCount": 112,"timestamp": "2025-11-14T17:32:05.000Z","ownerUsername": "sofia.captures","ownerId": "492837651","imageUrl": "https://scontent.cdninstagram.com/v/t51.2885-15/..."}
Output fields
| Field | Type | Description |
|---|---|---|
shortcode | String | Unique post identifier (from URL) |
url | String | Canonical post URL |
type | String | Image, Video or Carousel |
caption | String | Full post caption |
hashtags | Array | Hashtags extracted from the caption |
mentions | Array | Usernames mentioned in the caption |
likesCount | Number | Number of likes (null if hidden) |
commentsCount | Number | Number of comments |
timestamp | String | Publication date in ISO 8601 |
ownerUsername | String | Author's Instagram username |
ownerId | String | Author's internal Instagram user ID |
imageUrl | String | Direct URL to the post image or thumbnail |
Session cookies (optional)
For private posts or to avoid rate limiting on large batches, provide your Instagram session cookies:
- Open Instagram in your browser and log in
- Open DevTools → Application → Cookies →
https://www.instagram.com - Copy the value of
sessionidandcsrftoken - Paste them in the Session Cookies field as:
sessionid=YOUR_VALUE; csrftoken=YOUR_VALUE
FAQ
Does it work without login? Yes — all public posts are accessible without any credentials.
Can I scrape multiple posts at once?
Yes — add as many URLs as needed to the postUrls list.
What if a post is private? Private posts require valid session cookies. The actor will log a clear error if the post is inaccessible.
Will this get my account banned? The actor uses a stealth headless browser that mimics human behaviour. For large-scale use, enable Apify Proxy to rotate IPs.