Instagram Profile Posts Scraper
Pricing
from $1.50 / 1,000 results
Instagram Profile Posts Scraper
Get posts, reels, and carousels from any public Instagram profile. Includes download links, likes, comments, captions, and more. Works with up to 10 profiles at once. No login required.
Pricing
from $1.50 / 1,000 results
Rating
5.0
(1)
Developer
Rush
Maintained by CommunityActor stats
6
Bookmarked
414
Total users
92
Monthly active users
5 days ago
Last modified
Categories
Share
Collect public Instagram posts, reels, and carousel media from profile pages or individual post URLs. The dataset includes captions, hashtags, mentions, engagement counts, publish time, media links, and useful post metadata.
Use it for social listening, content research, competitor monitoring, creator discovery, and building Instagram datasets for your analytics workflow.
What You Can Get
- Public profile posts, reels, and carousel posts
- Image, video, and carousel media links
- Captions, hashtags, and mentioned usernames
- Likes, comments, and video duration
- Publish time, post URL, shortcode, location, tagged users, music name, and coauthors when the post has them
- Reel view counts
- Optional date filtering and pinned-post exclusion
Input
Add Instagram usernames, profile URLs, post URLs, or reel URLs.
{"usernames": ["natgeo","https://www.instagram.com/nasa/","https://www.instagram.com/reel/ABC123xyz/"],"maxPosts": 25,"postsNewerThan": "1 month","excludePinnedPosts": false}
Input Settings
| Setting | Required | Default | Description |
|---|---|---|---|
usernames | Yes | - | Instagram usernames, profile URLs, post URLs, or reel URLs. Up to 10 entries per run. |
maxPosts | No | 50 | Maximum posts to collect per profile. This does not apply to individual post or reel URLs. |
postsNewerThan | No | - | For profile targets, collect posts on or after a date such as 2026-01-15, or a relative period such as 7 days, 2 weeks, or 1 month. Individual post and reel URLs are not filtered. |
excludePinnedPosts | No | false | For profile targets, skip posts pinned to that profile. If pin status is unavailable, the affected profile is reported incomplete. Individual post and reel URLs are not filtered. |
Output
Each dataset item represents one Instagram post or reel. The illustrative example below uses placeholder links and values, not a captured post; the Full Details view lists every available field, including author, dimensions, tagged users, location, music, and co-authors.
{"username": "natgeo","postUrl": "https://www.instagram.com/reel/ABC123xyz/","mediaDownloadUrl": "https://scontent.cdninstagram.com/.../video.mp4","mediaType": "video","caption": "Example caption with #travel and @natgeo","hashtags": ["travel"],"mentions": ["natgeo"],"likes": 5230,"comments": 187,"timestamp": "2026-02-18T14:30:00.000Z","shortcode": "ABC123xyz","videoViewCount": 84500,"videoDuration": 143.1,"isPinned": false}
For carousel posts with slide data, mediaDownloadUrl is an array of media items so you can access each slide.
Every Field
| Field | What it is |
|---|---|
username | Requested profile, or the author for an individual post URL |
author | Observed post author, when available; may differ for collaboration posts |
postUrl | Link to the post or reel |
mediaDownloadUrl | Direct media link; an array of items for a carousel |
displayUrl | Thumbnail / preview image link |
videoUrl | Direct video file link |
mediaType | image, video, carousel, or unknown when the type is unavailable |
isVideo / hasAudio | Whether the post is a video, and whether it has sound |
caption | The full caption, including hashtags and mentions |
hashtags / mentions | Hashtags and mentioned accounts taken from the caption |
title | The opening of the caption, up to 200 characters |
description | Instagram's written description of the image, or the opening of the caption |
likes / comments | Engagement counts |
commentsDisabled | Whether comments are turned off |
videoViewCount / videoDuration | Views and length, for video posts |
timestamp | When the post was published (ISO 8601) |
scrapedAt | When this row was collected (ISO 8601) |
index | Position of the post within this account's results (1, 2, 3…) |
shortcode | Instagram's identifier for the post |
ownerId | Instagram's numeric id for the account |
isPinned | Whether the post is pinned to the top of the profile |
dimensions | Media width and height in pixels |
locationName | Tagged location, when the post has one |
taggedUsers | Accounts tagged in the media (different from caption mentions) |
musicName | Track and artist for reels |
coauthors | Co-authors of a collaboration post |
What Instagram Publishes
Instagram does not publish every detail for every post to a signed-out reader, so a few columns are filled in only where it does. They are left empty rather than filled with a stand-in value, so an empty cell means the value was unavailable for this run, not a measured zero.
| Column | When it is filled in |
|---|---|
videoViewCount | When a reel count is available for this run. Empty for images and videos without a usable count. |
isPinned | When pin status is available. It can be empty for profiles and direct links. |
commentsDisabled | Only when Instagram states it. Usually empty for public reads. |
likes / comments | When Instagram returns a usable count; hidden or unavailable counts stay empty. |
locationName, musicName, taggedUsers, coauthors | Only when the post actually has them. |
Dataset Views
- Overview: username, post type, engagement, publish time, and post URL
- Media Downloads: media links and thumbnails
- Full Details: all available fields
The Run Summary output reports saved posts, incomplete targets, and whether collection stopped at the run charge limit. Results already saved remain available. Repeated input aliases and posts already present in the same run are not written again.
Resurrecting a run keeps its original relative-date range and saved results. Start a new run to change input settings.
Tips
- Start with one or two profiles to confirm the output format before running a larger batch.
- Use
postsNewerThanwhen you only need recent content. - Media links can expire, so download or process media soon after the run finishes.
- Input settings must use the documented types and limits. Invalid settings stop the run before collection.
- An entry that cannot be read — a misspelled name, or a link that is not an account or a post — is reported and skipped, and the rest of the run continues.
- Some restricted reads need Apify residential proxy access. When used, this traffic is billed to your Apify account; without that access, affected targets may remain incomplete.
FAQ
Can it scrape private profiles?
No. It only collects data that is publicly available.
Can I mix profile URLs and post URLs in one run?
Yes. You can combine usernames, profile URLs, post URLs, and reel URLs in the same input list.
How does pinned-post exclusion work?
Enable excludePinnedPosts to collect unpinned posts from each requested profile. A collaboration is checked against that profile's pin status. Individual post and reel URLs are still collected as requested. If Instagram no longer supplies a usable pin status, the affected profile is reported incomplete rather than returning uncertain matches.
Why did I get fewer posts than requested?
The profile may have fewer public posts available, your date filter may exclude older posts, or Instagram may not return more public results during that run. Each profile also has a collection limit to keep heavily filtered searches bounded. If that limit stops collection before all posts can be checked, the run summary marks the profile incomplete.
Why is a column empty for some rows?
Instagram publishes different details for different posts. See What Instagram Publishes above for exactly which columns are filled in when. An empty cell means the value was unavailable for this run. It does not mean zero.
What happens if one entry in my list is wrong?
That entry is reported in the run summary and skipped. Other valid entries are attempted. Collection stops if the run charge limit is reached or results cannot be saved reliably.
Does it scrape comments or followers?
No. This Actor focuses on profile posts, reels, and carousel media.
Responsible Use
Use this Actor only for lawful purposes and respect Instagram's terms, privacy rights, and applicable data protection laws. Results depend on publicly available data at the time of the run.
Disclaimer
This tool collects publicly available data for research and analysis. You are responsible for ensuring your use complies with Instagram's Terms of Service and all applicable laws.
- Instagram controls what it publishes publicly and can change it at any time, so the number of posts available for a profile varies and can differ between runs
- The developers are not responsible for consequences arising from use of this tool, including data loss or legal liability
- Extracted data should be handled in line with applicable data protection regulations
More Actors
Looking for other Instagram data? Explore more scrapers by futurizerush — comments, followers, hashtags, and user posts.
Related Search Keywords
Instagram scraper, Instagram posts scraper, Instagram reels scraper, Instagram carousel scraper, Instagram media downloader, Instagram analytics, social media monitoring, influencer research, competitor analysis, lead generation, Apify, Claude Code, OpenClaw, Gemini, Antigravity, Codex, ChatGPT