πŸ”₯ Instagram Post Scraper avatar

πŸ”₯ Instagram Post Scraper

Pricing

from $4.99 / 1,000 results

Go to Apify Store
πŸ”₯ Instagram Post Scraper

πŸ”₯ Instagram Post Scraper

Scrape Instagram posts from usernames, profile URLs, or post URLs. Get captions, metrics, media, mentions, coauthors, and recent comments in clean JSON.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

EasyApi

EasyApi

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Scrape public Instagram posts at scale. Add usernames, profile URLs, or specific post URLs and get captions, engagement metrics, media URLs, mentions, coauthors, and recent comments in clean JSON.

✨ Key Features

  • πŸ“· Extract posts, carousels, and reels/videos from any public profile
  • πŸ”— Scrape by username, profile URL, or exact post URL
  • πŸ“ Full caption, hashtags, mentions, and tagged users
  • ❀️ Likes, comments, video views / plays, and duration
  • πŸ’¬ A few latest comments with timestamps and authors
  • πŸ“… Optional date cutoff and skip-pinned filter
  • ⚑ Choose basic or detailed data depth
  • πŸ“‹ Structured JSON output, streamed while the run is in progress

πŸ’ͺ Why Choose This Actor?

  • Focused: Built specifically for Instagram post extraction
  • Flexible: Profiles and post URLs in the same run
  • Efficient: Results are pushed continuously while the job runs
  • Structured: Renamed, integration-friendly field names
  • Reliable: Stable public-data extraction

🎯 Perfect For

  • πŸ“Š Influencer and creator content monitoring
  • πŸ”₯ Trend and engagement analysis
  • 🏒 Competitor post tracking
  • πŸ”” Brand mention and UGC workflows
  • πŸ€– LLM / RAG pipelines that need clean post text + media

πŸ“ Input Requirements

  • targets (required): Usernames, profile URLs, and/or post URLs
  • maxPostsPerProfile (optional): Max posts per profile. Default: 20. Ignored for specific post URLs
  • skipPinned (optional): Skip pinned posts. Default: false
  • postedAfter (optional): Only posts newer than a date (YYYY-MM-DD / ISO) or relative value (e.g. 1 day, 2 months). UTC. Ignored for specific post URLs
  • detailLevel (optional): basic or detailed. Default: detailed

Input Example

{
"targets": [
"natgeo",
"https://www.instagram.com/p/DLNsnpUTdVS/"
],
"maxPostsPerProfile": 10,
"skipPinned": false,
"postedAfter": "1 month",
"detailLevel": "basic"
}

Output Example

{
"sourceUrl": "https://www.instagram.com/p/DLNsnpUTdVS/",
"postId": "3660778310592222546",
"mediaType": "Image",
"code": "DLNsnpUTdVS",
"text": "Your phone isn’t rotting your brainβ€”but cell death and fungi might.",
"tags": [],
"mentionedUsers": [],
"postUrl": "https://www.instagram.com/p/DLNsnpUTdVS/",
"commentCount": 230,
"topComment": "Amen.",
"recentComments": [
{
"commentId": "18070377008012681",
"body": "Amen.",
"authorUsername": "acostadorego",
"publishedAt": "2025-07-31T05:38:50.000Z",
"likeCount": 0,
"replyCount": 0
}
],
"height": 1350,
"width": 1080,
"imageUrl": "https://scontent.cdninstagram.com/...",
"likeCount": 18420,
"publishedAt": "2025-07-01T12:00:00.000Z",
"authorName": "National Geographic",
"authorUsername": "natgeo",
"authorId": "787132",
"commentsDisabled": false,
"pinned": false,
"scrapedAt": "2026-07-21T02:00:00.000Z"
}

πŸš€ How to Use

  1. Add one or more usernames, profile URLs, or post URLs to targets
  2. Optionally set maxPostsPerProfile, postedAfter, and detailLevel
  3. Click Start and download results as JSON, CSV, Excel, or HTML

πŸ“Œ Notes

  • Only public Instagram accounts and posts can be scraped
  • Specific post URLs ignore maxPostsPerProfile and postedAfter
  • Free users have run and result-size limits; upgrade for unlimited usage