Instagram Posts Scraper - Reels, Video URLs, Engagement avatar

Instagram Posts Scraper - Reels, Video URLs, Engagement

Pricing

from $0.89 / 1,000 results

Go to Apify Store
Instagram Posts Scraper - Reels, Video URLs, Engagement

Instagram Posts Scraper - Reels, Video URLs, Engagement

Reads the latest posts and reels of public Instagram profiles or post URLs, no login. Caption, exact likes and comments, views and plays, video URLs, carousel slides, location when tagged, owner followers and bio, up to 54 fields on paid plans. About 12 posts plus 12 reels per profile.

Pricing

from $0.89 / 1,000 results

Rating

4.8

(5)

Developer

ParseForge

ParseForge

Maintained by Apify Partner

Actor stats

7

Bookmarked

496

Total users

14

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

ParseForge Banner

📸 Instagram Posts Scraper

🚀 Extract Instagram posts, Reels, and profile data in minutes. Pull from any public account by username, profile URL, or post URL. Filter by media type and date range. No login, no API keys, no Instagram developer approval.

No minimum charge: you only pay for the results you get.

🕒 Last updated: 2026-10-21 · 📊 up to 54 fields per post · 🎬 Reels/images/video/carousel · 📅 Date filtering · 🚫 No auth required

📈
Virality metrics
📝
Caption intelligence
💸
Sponsorship detection
🏷️
Collaborator details

The Instagram Posts Scraper collects post data from any public Instagram profile, returning up to 54 fields per post (35 base fields, plus about 19 analytics fields on paid plans): caption, hashtags, mentions, exact like and comment counts, view and play counts, media type, video URL, image URLs, carousel children, location (when the post is tagged), tagged users, collaborators, alt text, video duration, exact timestamp, and the owner's follower count, bio and verified badge. No login is needed: the scraper reads a profile page by page, newest first, until it has the number of posts you ask for or the profile ends (see How many posts can I get per profile? below). The paid plan removes the 10-item free cap.

The Actor accepts three input formats in the same run: usernames (nike), profile URLs (https://instagram.com/nike), and individual post URLs (https://instagram.com/p/ABC123). Filter by media type (image, video, Reel, carousel) and date range (absolute dates, ISO timestamps, or relative like "30 days"). No Instagram account, Graph API credentials, or developer approval needed.

🎯 Target Audience💡 Primary Use Cases
Social media analysts, influencer marketing teams, brand managers, growth hackers, academic researchers, content strategistsCompetitor analysis, engagement benchmarking, influencer vetting, hashtag research, content audits, trend tracking

📋 What the Instagram Posts Scraper does

Three input formats with media and date filters:

  • 👤 Username mode. Enter usernames like nike or cristiano to pull their recent posts.
  • 🔗 URL mode. Paste profile URLs (instagram.com/nike) or individual post URLs (instagram.com/p/ABC123).
  • 🎬 Media type filter. Restrict to image, video, reel, or carousel posts only.
  • 📅 Date filter. Limit results by absolute dates (2025-01-01), ISO timestamps, or relative periods (30 days, 3 months, 1 year).

Each post record includes caption, parsed hashtag and mention arrays, engagement metrics (likes, comments, views, plays), media type and product type, video URL, all image URLs, carousel children, location when tagged, tagged users, collaborators, alt text, video duration, post URL, shortcode, exact timestamps, and owner facts (followers, following, bio, verified badge, link in bio).

ℹ️ Good to know: media links (videoUrl, imageUrls, thumbnailUrl) are Instagram CDN links and expire after a few days, so download the files soon if you need them. Without a login, Instagram does not expose comments, and play counts for collaboration posts that are not Reels can be missing. Paid-only analytics fields (virality, caption stats, sponsorship detection) are added on paid plans; emailsInCaption, phonesInCaption and urlsInCaption only appear when the caption actually contains one.

💡 Why it matters: the official Instagram Graph API only returns data for accounts you own or manage. This Actor reads the same public data any visitor sees and returns it as structured JSON, CSV, or Excel, making competitor analysis, influencer vetting, and hashtag research practical at scale.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.


⚙️ Input

InputTypeDefaultBehavior
startUrlsarray[]Usernames, profile URLs, post/reel URLs, #hashtags, explore/tags and explore/locations URLs. All formats accepted in the same run.
maxItemsinteger10Max posts per profile. Free: up to 10. Paid: any number, read page by page (newest first) until reached or the profile ends. Empty: the whole profile (paid).
maxItemsTotalinteger-Optional total cap across all profiles combined.
mediaTypeFilterstring"all"Filter: all, image, video, reel, or carousel.
dateFilterstring""Date range: 2025-01-01, 30 days, 3 months, 1 year.
sessionidstring (secret)-Optional. The sessionid cookie of your own (preferably throwaway) Instagram account. Only needed for the Tagged Profiles input; normal profile runs do not use it. See the FAQ below before using it.
hashtagsarray[]Hashtags to read (cats or #cats). Logged out, Instagram shows the 12 most popular reels of a tag, with views and video URL. Rows carry sourceType "hashtag".
locationsarray[]Location ids or explore/locations URLs. Logged out, Instagram shows the 12 top posts of the place, with likes, comments and location.
taggedProfilesarray[]Posts where a profile is tagged. Instagram shows this tab only to logged-in accounts, so it needs the optional sessionid.
includeCommentsbooleanfalseAdds the top comments Instagram shows on the post page (about 12 to 15) to each row: id, text, username, likeCount, createdAt, replyCount.
maxCommentsPerPostinteger10Comments kept per post, 1 to 50.
endDatestring-Newest post to keep (YYYY-MM-DD inclusive, ISO, or relative). Use with dateFilter for a window.
skipPinnedbooleanfalseDrops pinned posts. Logged out, Instagram does not flag them, so pinned posts are detected by their older date sitting in the first grid slots.
proxyConfigurationobjectApify residential (US)If you leave it out, the actor uses Apify residential proxies (US). Pass {"useApifyProxy": false} to run with no proxy (Instagram then blocks most requests).

Example: last 30 days of Reels from two profiles.

{
"startUrls": ["cristiano", "https://www.instagram.com/nike/"],
"maxItems": 50,
"mediaTypeFilter": "reel",
"dateFilter": "30 days"
}

Example: popular reels of a hashtag and top posts of a location.

{
"hashtags": ["cats"],
"locations": ["213385402"]
}

Example: latest posts with comments, no pinned posts.

{
"startUrls": ["natgeo"],
"maxItems": 12,
"includeComments": true,
"skipPinned": true
}

Example: the latest posts from a single profile URL.

{
"startUrls": ["https://www.instagram.com/natgeo/"],
"maxItems": 100
}

⚠️ Good to Know: the actor runs on Apify residential proxies (US) by default, including API runs that only send usernames, because Instagram rate-limits datacenter and bare IPs aggressively (in our tests about a third of the rows came back without a proxy). You can set your own proxy, or opt out with {"useApifyProxy": false}.


📊 Output

Each post record contains up to 54 fields (35 base fields, 22 to 29 on a typical free row, about 45 to 51 on a paid row; fields that do not apply to a post are left out, for example location on untagged posts). Download the dataset as CSV, Excel, JSON, or XML.

🧾 Schema

FieldTypeExample
🖼️ thumbnailUrlstring"https://scontent-..."
📝 captionstring"Golden hour over the canyon."
👤 usernamestring"natgeo"
👍 likeCountnumber42891
💬 commentCountnumber1204
📈 viewCountnumber980000
▶️ playCountnumber850000
🎬 mediaTypestring"video"
🎬 productTypestring"feed"
🎥 videoUrlstring"https://scontent-..."
🖼️ imageUrlsarray["https://scontent-..."]
🖼️ carouselMediaCountnumber3
🖼️ childPostsarray[{"type": "Image", "displayUrl": "https://scontent-..."}]
#️⃣ hashtagsarray["goldenhour", "canyon"]
@ mentionsarray[]
📍 locationobject{"name": "Grand Canyon National Park", "id": "123", "lat": 36.1, "lng": -112.1}
👥 taggedUsersarray[]
🤝 collaboratorsarray[]
👑 ownerFollowerCountnumber104000000
✅ ownerIsVerifiedbooleantrue
🧾 ownerBiographystring"Explore the universe"
🔗 ownerExternalUrlstring"https://linkin.bio/..."
🌿 altTextstring | nullnull
⏱️ videoDurationnumber | null45.2
🔗 postUrlstring"https://www.instagram.com/p/DPwJzEVDbwC/"
🆔 shortcodestring"DPwJzEVDbwC"
📅 timestampISO 8601"2025-10-13T14:40:07.000Z"
🕒 scrapedAtISO 8601"2026-04-16T00:00:00.000Z"

📦 Sample records


✨ Why choose this Actor

Capability
📸Up to 54 fields per post. Caption, hashtags, mentions, engagement, media URLs, location, tagged users, and timestamps.
🎬Media type filter. Restrict to images, videos, Reels, or carousels in a single parameter.
📅Date filtering. Absolute dates, ISO timestamps, or relative periods like "30 days" or "3 months".
🔗Three input formats. Usernames, profile URLs, and individual post URLs in the same run.
⚡Fast. A profile with its latest posts is usually done in under a minute.
📊Per-profile and total caps. Control exactly how many posts to collect from each account.
🚫No authentication. No Instagram login, Graph API credentials, or developer approval needed.

📊 Instagram has over 2 billion monthly active users. Having structured access to public post data is the foundation for any social media analysis, influencer marketing, or competitive intelligence workflow.


📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ Instagram Posts Scraper (this Actor)$5 free credit, then pay-per-useAny public profileLive per runmedia type, date range, per-profile cap⚡ 2 min
Instagram Graph APIFree with restrictionsOnly your own accountsReal-timeMany🐢 Days (app review)
Third-party social analytics tools$99-499/monthMulti-platformVariesMany⏳ Hours
Manual browsingFreeManualManualInstagram UI only🕒 Hours per account

Pick this Actor when you want public Instagram data on demand, without Graph API credentials, without managing tokens, and without paying for a full social analytics subscription.


🚀 How to use

  1. 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
  2. 🌐 Open the Actor. Go to the Instagram Posts Scraper page on the Apify Store.
  3. 🎯 Set input. Add usernames, profile URLs, or post URLs. Set media type filter, date range, and maxItems.
  4. 🚀 Run it. Click Start and let the Actor collect your data.
  5. 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.

⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.


💼 Business use cases

📊 Social Media Analytics

  • Track engagement across competitor accounts
  • Benchmark posting cadence and content mix
  • Build weekly reports on share of voice by hashtag
  • Monitor brand mention volume over time

🤝 Influencer Marketing

  • Vet creators by engagement rate and posting frequency
  • Filter for Reels-only to evaluate short-form content
  • Compare collaborator and tagged-user networks
  • Build shortlists filtered by date range and media type

🎨 Content Strategy

  • Research which content formats drive engagement
  • Analyze competitor caption and hashtag strategies
  • Track trending visual styles via alt-text data
  • Build content calendars from competitor posting patterns

🎓 Academic & Market Research

  • Build public-discourse datasets from Instagram
  • Analyze brand representation across categories
  • Study visual content trends with image URLs
  • Export structured data for quantitative analysis


🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Empirical datasets for papers, thesis work, and coursework
  • Longitudinal studies tracking changes across snapshots
  • Reproducible research with cited, versioned data pulls
  • Classroom exercises on data analysis and ethical scraping

🎨 Personal and creative

  • Side projects, portfolio demos, and indie app launches
  • Data visualizations, dashboards, and infographics
  • Content research for bloggers, YouTubers, and podcasters
  • Hobbyist collections and personal trackers

🤝 Non-profit and civic

  • Transparency reporting and accountability projects
  • Advocacy campaigns backed by public-interest data
  • Community-run databases for local issues
  • Investigative journalism on public records

🧪 Experimentation

  • Prototype AI and machine-learning pipelines with real data
  • Validate product-market hypotheses before engineering spend
  • Train small domain-specific models on niche corpora
  • Test dashboard concepts with live input

🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

❓ Frequently Asked Questions

🔌 Automating Instagram Posts Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

  • 🟢 Node.js. Install the apify-client NPM package.
  • 🐍 Python. Use the apify-client PyPI package.
  • 📚 See the Apify API documentation for full details.

The Apify Schedules feature lets you trigger this Actor on any cron interval. Weekly pulls keep your social-listening dashboards in sync automatically.

🔌 Integrate with any app

Instagram Posts Scraper connects to any cloud service via Apify integrations:

  • Make - Automate multi-step workflows
  • Zapier - Connect with 5,000+ apps
  • Slack - Get run notifications in your channels
  • Airbyte - Pipe Instagram data into your warehouse
  • GitHub - Trigger runs from commits and releases
  • Google Drive - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh Instagram data into your social-listening dashboard, or alert your team in Slack.


💡 Pro Tip: browse the complete ParseForge collection for more social media scrapers.


🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.


⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Instagram, Meta Platforms, Inc., or any of their subsidiaries. All trademarks mentioned are the property of their respective owners. Only publicly available post data is collected.