VOOZH about

URL: https://apify.com/xtracto/instagram-account-posts-scraper

⇱ Instagram Account Posts Scraper - Cheaper Β· Apify


πŸ‘ Instagram Account Posts Scraper - Cheaper avatar

Instagram Account Posts Scraper - Cheaper

Pricing

from $0.30 / 1,000 results

Go to Apify Store

Instagram Account Posts Scraper - Cheaper

Scrape all posts from any public Instagram account: caption, media URLs, engagement counts, etc. HTTP-only, fast, supp pagination, and no cookies required.

Pricing

from $0.30 / 1,000 results

Rating

0.0

(0)

Developer

πŸ‘ Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

4

Monthly active users

3 days ago

Last modified

Categories

Share

Instagram Account Posts Scraper

Fetch the post timeline of any public Instagram account in bulk β€” captions, image and video URLs, like and comment counts, carousel children, timestamps, and the poster's profile data β€” as clean structured JSON.

Why use this actor

  • No account, no login, no API key β€” give it a username and you get the same feed the Instagram app shows.
  • Paginated timeline β€” pulls the full grid newest-first, dozens to thousands of posts per account, in a single run.
  • All post formats β€” single photos, single videos, Reels, and multi-slide carousels with every child media included.
  • Rich engagement β€” like count, comment count, view / play count, video duration, and the original capture timestamp.
  • Full media β€” multi-resolution image and video URLs straight from Instagram's CDN, plus alt-friendly metadata.
  • Stable JSON envelope β€” every row carries _input, _source, _scrapedAt so you can join results back to your input list and feed pipelines, spreadsheets, or databases.

How it works

  1. You provide a list of Instagram usernames (e.g. nasa) or full profile URLs.
  2. The actor walks the account's post timeline page by page, newest-first, until maxPosts is reached or the timeline ends.
  3. Each post is emitted as one dataset row with media URLs, caption, counters, and the poster's user record.
  4. Results stream into your Apify dataset, ready to download as JSON, CSV, or Excel.

You do not manage scrapers, browsers, sessions, or rotating IPs β€” all handled internally.

Input

{
"usernames":[
"nasa",
"natgeo"
],
"maxPosts":30,
"proxyConfiguration":{
"useApifyProxy":true,
"apifyProxyGroups":["DATACENTER"]
}
}
FieldTypeDescription
usernamesarrayList of Instagram usernames or full profile URLs. Both nasa and https://www.instagram.com/nasa/ are accepted.
maxPostsintegerMax posts returned per account, paginated newest-first. 0 = unlimited. Default: 30.
proxyConfigurationobjectApify Proxy settings. Datacenter works for most accounts; switch to Residential for large batches.

Output

Input: nasa, maxPosts: 30 (first 2 posts shown, long URLs truncated).

[
{
"_input":"nasa",
"_source":"S1-primary",
"_scrapedAt":"2026-05-18T10:54:19.253080+00:00",
"pk":"3895560746578059612",
"id":"3895560746578059612_528817151",
"code":"DYPz9wEvaFc",
"taken_at":1778607257,
"media_type":1,
"product_type":"feed",
"caption":{
"text":"Percy is roving the β€œWestern Frontier” of Mars 🀠\n \nIt's the farthest west our Perseverance rover has explored since landing in Jezero Crater in 2021, and it's an ancient landscape that may predate the crater itself…"
},
"like_count":227972,
"comment_count":936,
"play_count":null,
"video_duration":null,
"original_width":2500,
"original_height":2123,
"user":{
"pk":"528817151",
"username":"nasa",
"full_name":"NASA",
"is_verified":true,
"profile_pic_url":"https://instagram.fcgk52-1.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124..."
},
"image_versions2":{
"candidates":[
{"width":2500,"height":2123,"url":"https://instagram.fcgk52-1.fna.fbcdn.net/v/t51.82787-15/689446779_18608299801049152..."}
]
},
"locations":[]
},
{
"_input":"nasa",
"_source":"S1-primary",
"_scrapedAt":"2026-05-18T10:54:19.253080+00:00",
"pk":"3891942993783911519",
"id":"3891942993783911519_528817151",
"code":"DYC9YhOj3Rf",
"taken_at":1778175780,
"media_type":8,
"product_type":"carousel_container",
"caption":{
"text":"Don't let anyone dull your shine πŸ’«\n \nThe heart of galaxy M77 is shining so brightly in this Webb telescope image, it nearly outshines the galaxy itself…"
},
"like_count":678128,
"comment_count":1549,
"user":{
"pk":"528817151",
"username":"nasa",
"full_name":"NASA",
"is_verified":true
},
"image_versions2":{
"candidates":[
{"width":1060,"height":1288,"url":"https://instagram.fcgk52-1.fna.fbcdn.net/v/t51.82787-15/672396587_18606926689049152..."}
]
},
"carousel_media_count":3,
"carousel_media":[
{
"id":"3891940960318236431_528817151",
"media_type":1,
"image_versions2":{
"candidates":[
{"width":1060,"height":1288,"url":"https://instagram.fcgk52-1.fna.fbcdn.net/v/t51.82787-15/672396587_18606926689049152..."}
]
}
},
{
"id":"3891940963992441227_528817151",
"media_type":1,
"image_versions2":{
"candidates":[
{"width":1440,"height":1743,"url":"https://instagram.fcgk52-1.fna.fbcdn.net/v/t51.82787-15/688674294_18606926698049152..."}
]
}
},
"... 1 more"
]
}
]
FieldTypeDescription
_inputstringThe username or URL exactly as you supplied it. Use this to join results back to your input list.
_sourcestringInternal tag for the path used to fetch the post. S1-primary means the fastest, richest path; S2-* would indicate a fallback.
_scrapedAtstringISO-8601 UTC timestamp when the row was captured.
pkstringInstagram's internal numeric media ID. Stable across edits.
idstringComposite <pk>_<user_pk> id used in Instagram's mobile responses.
codestringShortcode visible in the post URL (instagram.com/p/<code>/ or /reel/<code>/).
taken_atintegerUnix epoch (seconds) when the post was uploaded.
media_typeinteger1 = single photo, 2 = single video / Reel, 8 = carousel container (children are in carousel_media).
product_typestringfeed for grid photos, clips for Reels, carousel_container for multi-slide posts, igtv for long video.
caption.textstringFull caption text (may contain emoji and line breaks). null if the post has no caption.
like_countintegerNumber of likes at fetch time. Some accounts hide this; null when hidden.
comment_countintegerNumber of comments at fetch time.
play_countintegerPlays for video / Reels posts; absent for photos.
video_durationnumberLength in seconds for video / Reels posts.
original_width / original_heightintegerNative resolution of the post (or the first carousel child).
userobjectPoster's profile snippet: pk, username, full_name, is_verified, profile_pic_url.
image_versions2.candidatesarrayMulti-resolution image URLs (largest first). Each entry: { width, height, url }.
video_versionsarrayMulti-resolution video URLs (Reels and single videos). Each entry: { type, width, height, url }.
carousel_mediaarrayFor carousel posts (media_type: 8) β€” one entry per slide, each with its own image_versions2 / video_versions.
carousel_media_countintegerNumber of slides in a carousel post.
locationsarrayTagged location(s); empty array when none was attached.

Error envelope

Accounts that don't exist, are deactivated, or fail to fetch return a structured error instead of crashing the run:

{
"_input":"this-account-does-not-exist-xyz",
"_error":"not_found",
"_errorDetail":"NotFound feed/user this-account-does-not-exist-xyz",
"_source":"S1-primary",
"_scrapedAt":"2026-05-18T10:54:19.253080+00:00"
}

Filter on _error to triage failed rows.

Pricing

This actor is billed per result: $6.00 per 1,000 posts. Each post in the dataset = 1 result. Error rows (not-found, fetch-failed) are not billed.

Other Sosmed Actors

PlatformActorBest for
InstagramInstagram Account ScraperBio, follower / following counts, post count for any handle
InstagramInstagram Account Reels ScraperReels-only timeline with play counts and durations
InstagramInstagram Post Detail ScraperFull single-post detail by shortcode or URL
ThreadsThreads Account Threads ScraperPosts timeline for a Threads handle
FacebookFacebook Page Posts ScraperPosts timeline for any public Facebook Page
Twitter / XX Account Tweets ScraperTweets timeline for any handle
BlueskyBluesky Account Posts Scraperatproto posts timeline by handle or DID

Browse the full catalog at apify.com/xtracto.

Notes

  • Instagram returns a rich record per post (carousel children with their own resolutions, video manifests, music metadata, paid-partnership flags, etc.). This actor preserves the full envelope so you can pick the fields you need.
  • Pagination is handled internally β€” you do not need to manage cursors. To page externally, simply re-run with a larger maxPosts.
  • Private accounts return zero posts and a single not_found error row.
  • Media CDN URLs are signed and time-bound (valid for a few hours). If you need permanent copies, mirror the bytes shortly after the run finishes.
  • like_count and comment_count are eventually-consistent and may lag the live UI by a few minutes.
  • maxPosts: 0 means unlimited β€” a multi-year account can return thousands of posts; budget your run accordingly.
  • For batches over ~30 accounts, switch proxyConfiguration to RESIDENTIAL to avoid per-IP rate limits.

You might also like

Instagram Posts Scraper - Export with Engagement 2026

instaprism/instagram-posts-scraper

No login required. Extract posts from any Instagram account. Get likes, comments, views, timestamps, media URLs. Calculate engagement rates. Export JSON/CSV/Excel.

Instagram Post Scraper

crawlerbros/instagram-post-scraper

Scrape public Instagram posts, reels, IGTV and carousel posts from direct URLs with no login, no cookies, no browser required. Supply a list of Instagram links and receive a structured dataset with author details, caption, media URLs, engagement counts, publish date, music, location, and more.

LinkedIn Profile Posts Scraper (No Cookies)

harvestapi/linkedin-profile-posts

Extract posts from LinkedIn profiles, including content, media, engagement, reactions, comments, and more. No cookies or account required.

21K

4.8

Instagram Posts Scraper

api-empire/instagram-posts-scraper

Instagram Posts Scraper extracts posts from any public Instagram profile. Get captions, media URLs, hashtags, timestamps, and engagement metrics fast. Ideal for research, content analysis, trend tracking, and automation workflows needing structured Instagram post data.

Instagram Hashtag Posts Scraper

khadinakbar/instagram-hashtag-scraper

Scrape public Instagram posts and Reels for one or more hashtags. Exports captions, engagement counts, author metadata, media URLs, comments when available, cursor metadata, and run summaries. No Instagram cookies required.

86

Instagram Posts Scraper

simpleapi/instagram-posts-scraper

Instagram Posts Scraper extracts posts from any public Instagram profile, capturing captions, media URLs, hashtags, timestamps, and engagement metrics. Ideal for influencer research, trend analysis, content insights, and automating structured Instagram post data collection at scale.

Instagram Profile & Posts Scraper

alizarin_refrigerator-owner/instagram-scraper

Scrape Instagram profiles and their recent posts. Get follower counts, engagement metrics, and detailed post data. Profile scraping (followers, following, bio, etc.). Recent posts with engagement metrics. Supports reels and regular posts. No login required (public profiles only).

Instagram Profile Scraper

seemuapps/instagram-profile-scraper

Fetch Instagram profile metadata for any public account

Fast Instagram Profile Scraper V2

iskander/instagram-profile-scraper-v2

No account/cookies required Fetches public profile info for multiple Instagram accounts.

πŸ‘ User avatar

Iskandar Souissi

20