Instagram Profile Post Scraper
Pricing
$19.99/month + usage
Instagram Profile Post Scraper
πΈ Instagram Profile Post Scraper extracts public profile posts: captions, hashtags, media URLs, timestamps, likes & comments. β‘ Fast, reliable, scalable. π Export JSON/CSV for analysis. π Ideal for social listening, competitor research, content planning & influencer vetting.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
Scrapium
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Instagram Profile Post Scraper
The Instagram Profile Post Scraper is a fast, reliable Instagram scraping tool that turns any public profileβs feed into structured data β captions, hashtags, media URLs, timestamps, and engagement metrics β so marketers, developers, data analysts, and researchers can export Instagram posts at scale. It solves the pain of manual collection by acting as an Instagram profile post scraper and Instagram media scraper that cleanly extracts posts for social listening, competitor tracking, and content analysis. Use it to scrape Instagram profile posts in bulk, build an Instagram profile content extractor pipeline, and power dashboards or models with fresh, structured Instagram data. π
What data / output can you get?
Below are representative fields the actor saves to the Apify dataset (records may vary slightly depending on the extraction path). You can export Instagram posts to JSON, CSV, or Excel from the Apify dataset.
| Data type | Description | Example value |
|---|---|---|
| id | Unique post identifier | "3776048697886076245_2535829435" |
| shortcode | Instagram shortcode for the post | "DRnOEjME21V" |
| url | Canonical post URL | "https://www.instagram.com/p/DRnOEjME21V/" |
| type | Media type (Image, Video, Carousel) | "Video" |
| is_video | Whether the post is a video | true |
| is_carousel | Whether the post is a carousel | false |
| caption | Post caption text | "Ronaldo vs My Goalie Robot... #sponsored" |
| hashtags | Hashtags parsed from caption | ["sponsored"] |
| mentions | User mentions parsed from caption | ["tmobile","cristiano"] |
| likes_count | Number of likes | 996806 |
| comments_count | Number of comments | 5024 |
| views_count | Video views (when available) | 12030450 |
| taken_at_timestamp | UNIX timestamp of the post | 1764360143 |
| posted | Human-readable posted time | "29 Nov 2025, 07:02:23 am" |
| date | ISO timestamp string | "2025-11-29T07:02:23Z" |
| display_url | Primary media URL (image/video thumbnail) | "https://scontent.../587802055_n.jpg" |
| image_links | Image URLs (single or carousel) | ["https://scontent.../587802055_n.jpg"] |
| video_links | Video URLs (when available) | ["https://scontent.../video.mp4"] |
| dimensions | Media dimensions (width/height) | {"width": 2160, "height": 3840} |
| owner.id | Profile ownerβs ID | "2535829435" |
| owner.username | Profile ownerβs username | "cristiano" |
| accessibility_caption | Accessibility text if available | null |
| latest_comments | Snapshot of recent comments (when available) | [{"id":"...","text":"π₯"}] |
Bonus fields may include post_url (alias of url), product_type (e.g., clips), usertags, carousel_media, coauthor_producers, and a full comments array (when available). All outputs are designed for analytics β a practical Instagram post metadata scraper thatβs ready for downstream BI tools.
Key features
- β‘ Bold performance & scale β Built for batch workloads and multi-profile jobs, this Instagram profile feed scraper handles images, carousels, and reels (clips) with resilient extraction and proxy strategy.
- π§ Multi-input flexibility β Paste profile URLs, plain usernames, or post shortcodes into startUrls; inputs are normalized to usernames automatically for smooth runs.
- π Pinned post control β Use pinnedMode ("include", "skip", or "only") to decide how pinned posts are handled on the first page.
- ποΈ Freshness filtering β Apply recent with an absolute date (YYYY-MM-DD) or relative value ("3 days", "2 weeks", "1 month") to focus on new content.
- π¬ Comment snapshots β Outputs comments and latest_comments when available for quick sentiment cues without heavy requests.
- π§© Rich media & metadata β Captures captions, hashtags, mentions, media URLs, dimensions, and engagement β ideal for an Instagram post scraper focused on analytics.
- π§° Developer-friendly β Works seamlessly with Apifyβs REST API and SDKs (including Instagram scraper Python workflows via apify-client) for pipelines and automation.
- π Public-data only β Designed for ethical collection of public profiles, with a Proxy Configuration input and residential proxies recommended for reliability.
- πΎ Easy exports β Export Instagram posts to JSON/CSV/Excel from the dataset, or connect to webhooks and data stacks for automation.
How to use Instagram Profile Post Scraper - step by step
- Create your Apify account and log in.
- Open the Instagram Profile Post Scraper in the Apify Store.
- Add input data in startUrls:
- Accepts profile URLs (e.g., "https://www.instagram.com/username/"), plain usernames (e.g., "username"), or post shortcodes (e.g., "ABC123DEF").
- Configure key settings:
- maxPosts: Limit how many posts per profile to extract (set 0 for unlimited).
- pinnedMode: Choose "include", "skip", or "only" for pinned posts.
- recent: Keep results fresh with a date ("2025-06-01") or a relative value ("2 weeks").
- proxyConfiguration: Use Apify Residential proxies for best reliability.
- Click Start to run. The Instagram user posts extractor will navigate each profile, collect posts, and push results to the dataset in real time.
- Monitor progress in the run logs; records appear incrementally in the dataset.
- Export results to JSON, CSV, or Excel β or access via API for programmatic consumption.
Pro tip: Orchestrate scheduled runs and downstream workflows to build a bulk Instagram post downloader pipeline that syncs with your BI stack.
Use cases
| Use case | Description |
|---|---|
| Influencer/competitor tracking | Measure posting cadence, format mix (reels, carousels), and engagement to benchmark strategies. |
| Content intelligence & SEO | Extract captions, hashtags, and mentions for topic modeling, clustering, and keyword research using an Instagram profile data scraper. |
| Campaign reporting | Quantify likes, comments, and views before/after campaigns; tag and analyze sponsored content patterns. |
| Brand monitoring | Detect mentions and trends across public profiles; curate UGC and creative references at scale. |
| Market & consumer research | Mine captions and comment snapshots for voice-of-customer insights and thematic analysis. |
| Data science pipelines | Feed an Instagram scraper Python workflow via the Apify API for NER, forecasting, and modeling. |
Why choose Instagram Profile Post Scraper?
This Instagram profile post downloader is engineered for precision, scale, and production reliability β a robust Instagram scraping tool that outperforms fragile, extension-based alternatives.
- β Accurate, structured output: Clean JSON with stable field names for analytics and ETL.
- π Batch scraping at scale: Queue many profiles with per-profile limits for predictable costs.
- π¬ Comment snapshots: Get comments and latest_comments when available without heavy overhead.
- π Developer access: Integrate via Apify API and SDKs, perfect for Instagram scraper Python pipelines.
- π Ethical by design: Public profiles only, with a clear Proxy Configuration to support reliable scraping.
- π€ Integration-friendly: Export and connect results to spreadsheets, BI tools, and automation platforms.
- π° Cost-effective: Control maxPosts and date filters to keep runs lean and budgets predictable.
Bottom line: A production-grade Instagram profile scraper built for teams that need reliable, repeatable extraction.
Is it legal / ethical to use Instagram Profile Post Scraper?
Yes β when used responsibly. This actor collects publicly available content from Instagram profiles and does not access private or authenticated data.
Guidelines to consider:
- Collect public data only and respect platform terms.
- Ensure a lawful basis for processing (e.g., legitimate interest) under GDPR/CCPA where applicable.
- Store data securely and limit collection to what you need.
- Consult your legal team for edge cases or specific compliance questions.
Input parameters & output format
JSON input example
{"startUrls": ["https://www.instagram.com/cristiano/","mrbeast"],"maxPosts": 25,"pinnedMode": "include","recent": "2 weeks","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Parameters
- startUrls (array, required): List one or more Instagram profile URLs (e.g. https://www.instagram.com/username), plain usernames (e.g. username), or post shortcodes (e.g. ABC123DEF). The actor will normalize everything into usernames for you. Default: none.
- maxPosts (integer): How many posts to scrape per profile. Set to 0 for unlimited posts (use with care for very large profiles). Default: 10.
- pinnedMode (string enum): Choose how to handle pinned posts. Options: "include", "skip", "only". Default: "include".
- recent (string): Filter posts by date. Use YYYY-MM-DD or a relative value like "3 days", "2 weeks", or "1 month". Leave empty to scrape all available posts. Default: null (no filter).
- proxyConfiguration (object): Configure which proxies to use for scraping. Residential proxies are strongly recommended (and usually required) for reliable Instagram scraping. Default: none (editor prefill suggests Apify RESIDENTIAL).
JSON output example
{"id": "3776048697886076245_2535829435","shortcode": "DRnOEjME21V","taken_at_timestamp": 1764360143,"display_url": "https://scontent-iad3-2.cdninstagram.com/v/t51.82787-15/587802055_18371174326085436_6013193979793540191_n.jpg","is_video": true,"likes_count": 996806,"comments_count": 5024,"caption": "Ronaldo vs My Goalie Robot. Thanks to @tmobile for helping me get my latest invention ready to take on @cristiano at his own game! #sponsored","accessibility_caption": null,"dimensions": {"height": 3840,"width": 2160},"owner": {"id": "2535829435","username": "cristiano"},"url": "https://www.instagram.com/p/DRnOEjME21V/","scraped_at": "2025-11-29T07:07:19.094367"}
Note: Depending on the extraction path, additional fields may be present, including post_url, type, product_type, is_carousel, posted, date, crawled_at, hashtags, mentions, usertags, views_count, view_count, video_duration, video_links, video_versions, image_links, images, carousel_media_count, carousel_media, coauthor_producers, owner/user profile details, clips_metadata, comments, and latest_comments.
FAQ
Is there a free way to try this Instagram profile post scraper?
Yes. You can start with a free Apify plan to test small runs and validate fields before scaling to larger workloads.
Does this Instagram post scraper require login or cookies?
No. It targets publicly available Instagram profiles and extracts data without requiring user login or private session cookies.
Can I use it with Python and APIs?
Yes. You can run the actor via Apifyβs REST API and SDKs. Many teams integrate it into Instagram scraper Python pipelines using apify-client to trigger runs and fetch datasets programmatically.
How many posts can I export per profile?
You control that with maxPosts. Set a specific number (e.g., 50) or use 0 for unlimited. Combine with recent to avoid re-scraping older content and keep datasets lean.
What media types are supported?
The scraper handles images, videos, carousels, and reels (clips). It returns media URLs, dimensions, and engagement metrics, making it a robust Instagram media scraper and Instagram post metadata scraper.
Can it scrape private accounts?
No. Only public Instagram profiles are supported. Private or restricted accounts will not return posts.
Does it capture comments?
It includes comments and latest_comments when available for quick sentiment snapshots. Comment availability can vary based on Instagramβs responses and post type.
What proxies should I use?
Use Residential proxies in proxyConfiguration for reliable, large-scale runs. The input editor prefill suggests Apify RESIDENTIAL proxies for best results.
Closing thoughts
Instagram Profile Post Scraper is built for teams that need dependable, structured extraction of public Instagram profile posts at scale. It helps marketers, analysts, and researchers export Instagram posts with captions, media, and engagement β and gives developers a clean API-friendly output for automation. Connect it to your data stack, trigger with Python or REST, and start turning Instagram timelines into actionable insights today.