All guides

How to scrape Instagram Posts

Scrape Instagram posts from any public account without login: photos, carousels and reels with likes, comments, plays, caption, hashtags, mentions, alt text, all carousel images, tagged users, location, music and the latest comments. Post URLs work too.

Open Instagram Posts Scraper on Apify

Instagram posts scraper with no login: one row per post from any public account, with caption, hashtags, mentions, likes, comment count, the latest comments, every carousel image with its alt text, play count and duration for videos, music, tagged users, collab co-authors and location.

This Actor vs apify/instagram-post-scraper: that one is the most-used, by Apify itself, and returns caption, metrics, images, coauthors, recent comments and sponsored status. Choose this one for every carousel image with its own alt text, music or original audio and tagged users in the same row, and because private accounts, missing accounts and posts you filter out are never charged.

What it outputs

Every row is one post.

Field What it is
shortCode, url, id Post shortcode, link and media ID
type Image, Video or Sidecar (carousel)
productType feed, carousel_container or clips (reel)
caption Full caption text
hashtags, mentions Hashtags and @mentions from the caption, original case
likesCount Likes (null when the owner hides likes)
commentsCount Total comments
latestComments Latest comments: id, text, ownerUsername, ownerProfilePicUrl, ownerVerified, timestamp, likesCount, repliesCount
firstComment Text of the first comment shown
displayUrl Main image (or video cover) URL
images All images of a carousel
childPosts Carousel slides: id, type, shortCode, displayUrl, videoUrl, alt, dimensions, taggedUsers
alt Instagram's alt text
videoUrl, audioUrl Video file and audio-only track (videos and reels)
videoPlayCount, videoViewCount, fbPlayCount Plays, legacy views and Facebook plays (videos and reels)
videoDuration Video length in seconds
musicInfo artist_name, song_name, uses_original_audio, should_mute_audio, should_mute_audio_reason, audio_id
timestamp Posted at, ISO 8601 UTC
dimensionsWidth, dimensionsHeight, originalWidth, originalHeight Size in pixels
ownerUsername, ownerFullName, ownerId, ownerVerified, ownerProfilePicUrl Who posted it
ownerFollowersCount Followers of the account you asked for
taggedUsers Tagged accounts (all slides) with id, username, full name, verified, picture
coauthorProducers Collab co-authors
paidPartnership, sponsors Paid-partnership flag and the brands named
locationName, locationId Tagged place
isPinned Pinned to the top of the grid
isCommentsDisabled, likeAndViewCountsDisabled Comment and count settings
captionIsEdited, hasAudio Caption edited, video has sound
inputUrl, scrapedAt Which input produced the row, and when it was read

Example input

{
  "username": ["natgeo"],
  "resultsLimit": 20
}

FAQ

Do I need an Instagram account or cookies?

No. The actor reads only what Instagram shows logged-out visitors. You never share a login, so your account cannot be blocked.

Are reels included?

Yes. Reels that appear on the grid are returned as type: "Video" with productType: "clips", with plays, duration, music and video URL. For reels only, use an Instagram reels scraper.

Is there an extra charge for comments or carousel details?

No. Detailed data is the default and costs the same as basic data.

How many comments do I get per post?

The latest comments Instagram shows publicly, usually about 15. commentsCount gives the total.

How far back can I go?

As far as the account's grid goes, 12 posts per page. Large resultsLimit values simply take more pages.

What happens when Instagram blocks a request?

It is retried on a fresh proxy session and then on residential IPs. Rows that still cannot be read are not charged, and the run log lists them.

Can I get posts from a hashtag?

Not without a login, so this actor does not offer it.

Which export formats are there?

JSON, CSV, Excel, XML, RSS and HTML, from the Output tab or the API.

Where do I run it?

On Apify: https://apify.com/transparent_meteorite/instagram-posts-scraper. Check the Pricing tab there for current prices.

Try Instagram Posts Scraper on Apify