ParseForge Scrapers

Instagram Posts Scraper - 47 Fields, Engagement Scores

parseforge/instagram-posts-scraper

Social mediaAutomationDeveloper tools

Reads posts from public Instagram profiles, reels and post URLs. 47 fields per post: caption, likes, comments, views and plays, hashtags, mentions, tagged users and collaborators, media type and URLs, alt text and timestamp, plus engagement rate, virality score and paid-partnership flags.

Run this scraper See the API call
Total users
466
Monthly active
13
Total runs
7K
Bookmarked
7
Rating
4.8 (5)
Last modified
2 days ago

This scraper was last updated on .

What does the Instagram Posts Scraper - 47 Fields, Engagement Scores return?

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-04-21 ยท ๐Ÿ“Š 25 fields per post ยท ๐ŸŽฌ Reels/images/video/carousel ยท ๐Ÿ“… Date filtering ยท ๐Ÿšซ No auth required

๐ŸŽ Paid plan adds

๐Ÿ“ˆ
Virality metrics
Likes/hour and velocity
๐Ÿ“
Caption intelligence
CTAs, emojis, emails, URLs
๐Ÿ’ธ
Sponsorship detection
Branded and paid posts
๐Ÿ“
Location coords
Lat, lng, address

The Instagram Posts Scraper collects post data from any public Instagram profile, returning 25 fields per post: caption, hashtags, mentions, like count, comment count, view count, play count, media type, video URL, image URLs, location, tagged users, collaborators, alt text, video duration, and timestamps. Runs support up to 1,000,000 posts on a paid plan.

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 strategists Competitor 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 count, location, tagged users, collaborators, alt text, video duration, post URL, shortcode, and timestamps.

๐Ÿ’ก 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, or individual post URLs. All three formats accepted in the same run.
maxItemsinteger10Max posts per profile. Free: up to 10. Paid: up to 1,000,000.
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.
proxyConfigurationobjectApify residentialResidential proxies recommended for large runs.

Example: last 30 days of Reels from two profiles.

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

Example: all posts from a single profile URL.

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

โš ๏ธ Good to Know: residential proxies are recommended for runs over 50 posts. Instagram rate-limits aggressively on datacenter IPs. The proxy configuration is pre-filled with recommended settings.


๐Ÿ“Š Output

Each post record contains 25 fields. Download the dataset as CSV, Excel, JSON, or XML.

๐Ÿงพ Schema
Field Type Example
๐Ÿ–ผ๏ธ thumbnailUrl string "https://scontent-..."
๐Ÿ“ caption string "Golden hour over the canyon."
๐Ÿ‘ค username string "natgeo"
๐Ÿ‘ likeCount number 42891
๐Ÿ’ฌ commentCount number 1204
๐Ÿ“ˆ viewCount number 980000
โ–ถ๏ธ playCount number 850000
๐ŸŽฌ mediaType string "video"
๐ŸŽฌ productType string "feed"
๐ŸŽฅ videoUrl string "https://scontent-..."
๐Ÿ–ผ๏ธ imageUrls array ["https://scontent-..."]
๐Ÿ–ผ๏ธ carouselCount number 0
#๏ธโƒฃ hashtags array ["goldenhour", "canyon"]
@ mentions array []
๐Ÿ“ location string "Grand Canyon National Park"
๐Ÿ‘ฅ taggedUsers array []
๐Ÿค collaborators array []
๐Ÿ”‡ commentsDisabled boolean false
๐Ÿ™ˆ likesHidden boolean false
๐ŸŒฟ altText string | null null
โฑ๏ธ videoDuration number | null 45.2
๐Ÿ”— postUrl string "https://www.instagram.com/p/DPwJzEVDbwC/"
๐Ÿ†” shortcode string "DPwJzEVDbwC"
๐Ÿ“… timestamp ISO 8601 "2025-10-13T14:40:07.000Z"
๐Ÿ•’ scrapedAt ISO 8601 "2026-04-16T00:00:00.000Z"
๐Ÿ“ฆ Sample records
๐ŸŽฅ Video post with high engagement
{
    "thumbnailUrl": "https://scontent-example.cdninstagram.com/v/thumb.jpg",
    "caption": "Golden hour over the canyon. Nature never disappoints.",
    "username": "natgeo",
    "likeCount": 42891,
    "commentCount": 1204,
    "viewCount": 980000,
    "playCount": 850000,
    "mediaType": "video",
    "productType": "feed",
    "videoUrl": "https://scontent-example.cdninstagram.com/v/video.mp4",
    "imageUrls": [],
    "carouselCount": 0,
    "hashtags": ["goldenhour", "canyon", "natgeo"],
    "mentions": [],
    "location": "Grand Canyon National Park",
    "taggedUsers": [],
    "collaborators": [],
    "commentsDisabled": false,
    "likesHidden": false,
    "altText": null,
    "videoDuration": 45.2,
    "postUrl": "https://www.instagram.com/p/DPwJzEVDbwC/",
    "shortcode": "DPwJzEVDbwC",
    "timestamp": "2025-10-13T14:40:07.000Z",
    "scrapedAt": "2026-04-16T00:00:00.000Z"
}
๐Ÿ–ผ๏ธ Image post with hashtags and location
{
    "thumbnailUrl": "https://scontent-example.cdninstagram.com/v/image.jpg",
    "caption": "Morning run through the city. #fitness #running #nyc",
    "username": "fitness_daily",
    "likeCount": 312,
    "commentCount": 18,
    "viewCount": null,
    "playCount": null,
    "mediaType": "image",
    "productType": "feed",
    "videoUrl": null,
    "imageUrls": ["https://scontent-example.cdninstagram.com/v/image.jpg"],
    "carouselCount": 0,
    "hashtags": ["fitness", "running", "nyc"],
    "mentions": [],
    "location": "Central Park",
    "taggedUsers": [],
    "collaborators": [],
    "commentsDisabled": false,
    "likesHidden": false,
    "altText": "Person running through a park at sunrise",
    "videoDuration": null,
    "postUrl": "https://www.instagram.com/p/ABC123/",
    "shortcode": "ABC123",
    "timestamp": "2026-03-15T07:22:00.000Z",
    "scrapedAt": "2026-04-16T00:00:00.000Z"
}
๐ŸŽฌ Reel with sparse engagement
{
    "thumbnailUrl": "https://scontent-example.cdninstagram.com/v/reel-thumb.jpg",
    "caption": "Quick recipe for the week",
    "username": "home_cook_99",
    "likeCount": 8,
    "commentCount": 0,
    "viewCount": 142,
    "playCount": 130,
    "mediaType": "video",
    "productType": "clips",
    "videoUrl": "https://scontent-example.cdninstagram.com/v/reel.mp4",
    "imageUrls": [],
    "carouselCount": 0,
    "hashtags": [],
    "mentions": [],
    "location": null,
    "taggedUsers": [],
    "collaborators": [],
    "commentsDisabled": false,
    "likesHidden": true,
    "altText": null,
    "videoDuration": 22.8,
    "postUrl": "https://www.instagram.com/reel/XYZ789/",
    "shortcode": "XYZ789",
    "timestamp": "2026-04-10T18:05:00.000Z",
    "scrapedAt": "2026-04-16T00:00:00.000Z"
}

โœจ Why choose this Actor

Capability
๐Ÿ“ธ 25 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. Pulls hundreds of posts per minute with residential proxy.
๐Ÿ“Š 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

Approach Cost Coverage Refresh Filters Setup
โญ Instagram Posts Scraper (this Actor) $5 free credit, then pay-per-use Any public profile Live per run media type, date range, per-profile cap โšก 2 min
Instagram Graph API Free with restrictions Only your own accounts Real-time Many ๐Ÿข Days (app review)
Third-party social analytics tools $99-499/month Multi-platform Varies Many โณ Hours
Manual browsing Free Manual Manual Instagram 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

๐Ÿ’ณ Do I need a paid Apify plan to run this actor?

No. You can start right now on the free Apify plan, which includes $5 in free monthly credit. That is enough to run this actor several times and explore the output before committing to anything. Paid plans unlock higher limits, more concurrent runs, and larger datasets. Create a free Apify account here to get started.

๐Ÿšจ What happens if my run fails or returns no results?

Failed runs are not charged. If the source site changes, proxies get rate-limited, or a specific input matches nothing, re-run the actor or open our contact form and we will investigate. You can also check the run log in the Apify console to see why the run stopped.

๐Ÿ“ How many items can I scrape per run?

Free users are limited to 10 items per run so you can preview the output and confirm the actor works for your use case. Paid users can raise maxItems up to 1,000,000 per run. Upgrade here if you need full scale.

๐Ÿ•’ How fresh is the data?

Every run fetches live data at the moment of execution. There is no cache or delay: the records you get reflect what the source returned at that moment. Schedule the actor to maintain a rolling snapshot of the data you need.

๐Ÿง‘โ€๐Ÿ’ป Can I call this actor from my own code?

Yes. Apify exposes every actor as a REST endpoint and ships first-class SDKs for Node.js and Python. You can start a run, read the dataset, and handle webhooks from your own app in a few lines. All you need is your Apify API token.

๐Ÿ“ค How do I export the data?

Every Apify dataset can be downloaded in one click from the console as CSV, JSON, JSONL, Excel, HTML, XML, or RSS. You can also pull results programmatically via the Apify API or stream them into BigQuery, S3, and other destinations through built-in integrations.

๐Ÿ“… Can I schedule the actor to run automatically?

Yes. Use the Apify scheduler to run the actor on any cadence, from hourly to monthly. Results are saved to your dataset and can be delivered to webhooks, email, Slack, cloud storage, or automation tools such as Zapier and Make.


๐Ÿ”Œ 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.


๐Ÿ”— Recommended Actors

๐Ÿ’ก 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.

What input does the Instagram Posts Scraper - 47 Fields, Engagement Scores accept?

FieldTypeWhat it doesDefault
startUrls array List of Instagram usernames, profile URLs, or post URLs to scrape. Accepts multiple formats: - Usernames: nike, @cristiano, therock - Profile URLs: https://instagram.com/nike - Post URLs: https://instagram.com/p/ABC123, https://instagram.com/reel/XYZ789 ["https://www.instagram.com/instagram/"]
maxItems integer Maximum posts to extract per profile/user. Free users: Limited to 10 per profile. Paid users: Optional, max 1,000,000 per profile. Leave empty for unlimited (paid users only). 10
maxItemsTotal integer Maximum total posts to extract across all profiles (optional). Free users: Limited to 10 total. Paid users: Optional, max 1,000,000 total. If set, the scraper will stop once this limit is reached. If both maxItems and maxItemsTotal are set, both limits are respected. not set
dateFilter string Limit how far back to the history the scraper should go. The date should be in YYYY-MM-DD or full ISO absolute format (e.g., 2024-01-15 or 2024-01-15T00:00:00Z) or in relative format (e.g., 1 days, 2 months, 3 years). All time values are taken in UTC timezone. not set
mediaTypeFilter string (5 options) Filter posts by content type. Use 'reel' to get only Reels, 'image' for photos only, 'carousel' for multi-image posts, or 'video' for all video content. all
proxyConfiguration object Proxy settings. Residential proxies are recommended to avoid rate limiting. {"useApifyProxy":true,"apifyProxyGroups"

How much does the Instagram Posts Scraper - 47 Fields, Engagement Scores cost?

from $0.89 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.00089 to $0.001
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.00089 to $0.001

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the Instagram Posts Scraper - 47 Fields, Engagement Scores API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~instagram-posts-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [
      "https://www.instagram.com/instagram/"
    ],
    "maxItems": 10,
    "mediaTypeFilter": "all",
    "proxyConfiguration": {
      "useApifyProxy": true,
      "apifyProxyGroups": [
        "RESIDENTIAL"
      ]
    }
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "startUrls": [
    "https://www.instagram.com/instagram/"
  ],
  "maxItems": 10,
  "mediaTypeFilter": "all",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}

What do users say about the Instagram Posts Scraper - 47 Fields, Engagement Scores?

Rated 4.8 out of 5 across 5 reviews. Read them on Apify.

How do I report an issue with the Instagram Posts Scraper - 47 Fields, Engagement Scores?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run Instagram Posts Scraper - 47 Fields, Engagement Scores on Apify All scrapers