Instagram Profile Posts Scraper avatar

Instagram Profile Posts Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Instagram Profile Posts Scraper

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

Rush

Maintained by Community

Actor stats

6

Bookmarked

414

Total users

92

Monthly active users

5 days ago

Last modified

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

SettingRequiredDefaultDescription
usernamesYes-Instagram usernames, profile URLs, post URLs, or reel URLs. Up to 10 entries per run.
maxPostsNo50Maximum posts to collect per profile. This does not apply to individual post or reel URLs.
postsNewerThanNo-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.
excludePinnedPostsNofalseFor 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

FieldWhat it is
usernameRequested profile, or the author for an individual post URL
authorObserved post author, when available; may differ for collaboration posts
postUrlLink to the post or reel
mediaDownloadUrlDirect media link; an array of items for a carousel
displayUrlThumbnail / preview image link
videoUrlDirect video file link
mediaTypeimage, video, carousel, or unknown when the type is unavailable
isVideo / hasAudioWhether the post is a video, and whether it has sound
captionThe full caption, including hashtags and mentions
hashtags / mentionsHashtags and mentioned accounts taken from the caption
titleThe opening of the caption, up to 200 characters
descriptionInstagram's written description of the image, or the opening of the caption
likes / commentsEngagement counts
commentsDisabledWhether comments are turned off
videoViewCount / videoDurationViews and length, for video posts
timestampWhen the post was published (ISO 8601)
scrapedAtWhen this row was collected (ISO 8601)
indexPosition of the post within this account's results (1, 2, 3…)
shortcodeInstagram's identifier for the post
ownerIdInstagram's numeric id for the account
isPinnedWhether the post is pinned to the top of the profile
dimensionsMedia width and height in pixels
locationNameTagged location, when the post has one
taggedUsersAccounts tagged in the media (different from caption mentions)
musicNameTrack and artist for reels
coauthorsCo-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.

ColumnWhen it is filled in
videoViewCountWhen a reel count is available for this run. Empty for images and videos without a usable count.
isPinnedWhen pin status is available. It can be empty for profiles and direct links.
commentsDisabledOnly when Instagram states it. Usually empty for public reads.
likes / commentsWhen Instagram returns a usable count; hidden or unavailable counts stay empty.
locationName, musicName, taggedUsers, coauthorsOnly 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 postsNewerThan when 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.

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