Instagram Profile Post Scraper
Pricing
$19.99/month + usage
Instagram Profile Post Scraper
📸 Instagram Profile Post Scraper extracts public profile posts—captions, hashtags, likes, comments, timestamps & media URLs—into clean, exportable data. 🔍 Ideal for competitor analysis, influencer vetting, social listening & content planning. 🚀
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapePilot
Actor stats
0
Bookmarked
2
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Instagram Profile Post Scraper
The Instagram Profile Post Scraper is a fast, reliable instagram profile post scraper that turns public Instagram timeline posts into structured, analysis‑ready records. It solves the pain of manual copy-paste by automating extraction of post captions, hashtags, media URLs, and engagement metrics — ideal for marketers, developers, data analysts, and researchers who need an instagram profile scraper or instagram post scraper for repeatable workflows. Use it to scrape Instagram user posts at scale and power dashboards, research, and content planning with clean data.
What data / output can you get?
Below are real output fields the actor saves to the dataset (export to JSON/CSV/Excel is supported):
| Data type | Description | Example value |
|---|---|---|
| id | Post identifier (stringified) | "3776048697886076245_2535829435" |
| shortcode | Instagram post shortcode | "DRnOEjME21V" |
| url | Canonical post URL | "https://www.instagram.com/p/DRnOEjME21V/" |
| taken_at_timestamp | Unix timestamp of the post | 1764360143 |
| is_video | Whether the post is a video | true |
| likes_count | Total likes | 996806 |
| comments_count | Total comments | 5024 |
| caption | Post caption text | "Ronaldo vs My Goalie Robot... #sponsored" |
| display_url | Primary image/thumbnail URL | "https://scontent-.../587802055_...n.jpg" |
| dimensions | Media dimensions (width/height) | {"width": 2160, "height": 3840} |
| owner.id | Owner account ID | "2535829435" |
| owner.username | Owner username | "cristiano" |
| scraped_at | ISO timestamp of when it was scraped | "2025-11-29T07:07:19.094367" |
Bonus fields (when available from the API path): pk, post_url, type, product_type, is_carousel, is_pinned, posted (human‑readable), date, crawled_at, accessibility_caption, hashtags, mentions, usertags, like_count, comment_count, views_count/view_count (for videos), video_duration, video_links, video_versions[], image_links, images[], carousel_media_count, carousel_media, coauthor_producers, owner{} (extended), user{} (extended), account_username, account_verified, account_profile_picture, from_url, clips_metadata{}, comments[], latest_comments[].
Key features
-
🚀 Robust public profile extraction Collect posts from public Instagram profiles reliably — a production‑ready instagram scraper for public profiles that avoids fragile browser extensions.
-
📌 Pinned posts handling Fine‑grained control with pinnedMode to include, skip, or return only pinned posts for each profile.
-
🗓️ Smart date filtering Filter by absolute dates (YYYY‑MM‑DD) or relative ranges like “3 days”, “2 weeks”, or “1 month” to keep results fresh.
-
🧾 Clean, structured outputs Export instagram profile posts to CSV, JSON, or Excel; every run writes clean, consistent records to the Apify dataset.
-
🧠 Developer‑friendly Run via Apify API and official SDKs, including Python — perfect for a python instagram profile post scraper, pipelines, and automation.
-
🛡️ Proxy-ready reliability Built to use residential proxies for stability on Instagram, ideal for batch workloads and consistent scraping without an official API.
-
📈 Scales with your needs Scrape Instagram user posts across multiple usernames in one run and control volume with maxPosts per profile.
How to use Instagram Profile Post Scraper - step by step
-
Create an Apify account
Sign up or log in to Apify to access the actor. -
Open the actor in Apify
Search for “Instagram Profile Post Scraper” and click Try for free. -
Add input data
In startUrls, paste profile URLs (e.g., https://www.instagram.com/username/), plain usernames (e.g., username), or post shortcodes (e.g., ABC123DEF). The actor normalizes inputs into usernames. -
Configure limits and filters
- maxPosts: Set how many posts to collect per profile (0 = unlimited).
- pinnedMode: Choose include, skip, or only for pinned posts.
- recent: Keep only newer posts using a date (YYYY‑MM‑DD) or a relative period like “2 weeks”.
-
Set proxy configuration (recommended)
In proxyConfiguration, select Apify Residential proxies for reliable Instagram scraping. -
Run the actor
Click Start. The instagram post extractor will fetch public posts, media URLs, captions, and engagement fields. -
Download results
Go to the dataset tab to download JSON/CSV/Excel — or access programmatically via the Apify API.
Pro tip: Automate scheduled runs and plug outputs into your stack to batch download Instagram profile posts and power dashboards or enrichment pipelines without manual steps.
Use cases
| Use case name | Description |
|---|---|
| Marketing + content planning | Analyze posting cadence, formats (image/video/carousel), and CTAs to plan content backed by engagement data. |
| Influencer vetting & competitor tracking | Compare engagement and themes across creators or rivals using a repeatable instagram profile data scraper workflow. |
| Social listening & hashtag trends | Extract captions, mentions, and hashtags to map themes and trend shifts over time from public timelines. |
| Campaign reporting | Measure before/after performance by aggregating likes, comments, and views from relevant profiles. |
| Research & academia | Build longitudinal datasets of public posts for topic modeling, entity extraction, and time‑series analysis. |
| Data engineering pipelines | Use the API with Python to download Instagram user posts at scale and feed BI tools or warehouses. |
Why choose Instagram Profile Post Scraper?
This tool focuses on precision, automation, and reliability for public Instagram timelines — a scalable instagram profile post downloader without fragile browser automation.
- ✅ Accurate, consistent JSON: Stable field names and clean records for analytics and pipelines.
- ⚡ Built for scale: Queue multiple profiles and cap results with maxPosts for predictable runs.
- 🔌 Easy exports & integrations: Download as JSON/CSV/Excel or pull via API into your stack.
- 💻 Developer access: Works great as a python instagram profile post scraper with Apify SDKs.
- 🔒 Safe & ethical defaults: Scrapes only publicly available profile posts; no private data.
- 💰 Cost‑effective: Control scope with maxPosts and filters to keep usage efficient.
- 🧱 Production‑ready: Residential proxy support and robust fallbacks for consistent throughput.
Is it legal / ethical to use Instagram Profile Post Scraper?
Yes — when used responsibly. This actor collects publicly available Instagram content from public profiles only and does not access private accounts.
Guidelines to stay compliant:
- Scrape public data only and avoid private profiles.
- Ensure a lawful basis for processing (e.g., legitimate interest) under GDPR/CCPA where applicable.
- Review and respect Instagram’s Terms of Use and platform policies.
- Store data securely and use it responsibly according to your organization’s compliance standards.
If in doubt, consult your legal team for your specific use case.
Input parameters & output format
Example JSON input
{"startUrls": ["https://www.instagram.com/cristiano/","mrbeast"],"maxPosts": 10,"pinnedMode": "include","recent": "2 weeks","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Parameter reference:
-
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 (required). -
maxPosts (integer, optional)
How many posts to scrape per profile. Set to 0 for unlimited posts (use with care for very large profiles). Default: 10. Min: 0. Max: 10000. -
pinnedMode (string, optional)
Choose how to handle pinned posts:- include: mix pinned + regular posts (default)
- skip: ignore pinned posts
- only: return only pinned posts when available
Default: "include".
-
recent (string, optional, nullable)
Filter posts by date. Use an absolute date (YYYY‑MM‑DD) or a relative value like "3 days", "2 weeks", or "1 month". Leave empty to scrape all available posts. Default: null. -
proxyConfiguration (object, optional)
Configure proxies. Residential proxies are strongly recommended (and usually required) for reliable Instagram scraping. Prefill example: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}.
Example JSON output
{"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"}
Notes:
- Depending on the extraction path, you may also see additional fields such as pk, post_url, type, product_type, is_carousel, is_pinned, posted, date, crawled_at, hashtags, mentions, video_links, video_versions[], image_links, images[], carousel_media, owner/user (extended), clips_metadata, comments, and latest_comments.
- Some fields can be null or omitted when not present on the source post (e.g., accessibility_caption).
FAQ
Is there a free way to try this instagram profile post scraper?
Yes. You can start on Apify with trial minutes to run small jobs and validate the fields and workflow before scaling up.
Do I need to log in to scrape Instagram user posts?
No. This instagram profile post scraper without login works on public profiles and does not access private accounts.
Can I export instagram profile posts to CSV or Excel?
Yes. Every run writes to an Apify dataset that you can download as JSON, CSV, or Excel, or fetch via the Apify API.
Is this an instagram profile post scraper no API?
Yes. It does not require access to the official Instagram API. It scrapes public profile timelines with resilient proxy support.
Does it work as a python instagram profile post scraper?
Yes. Use the Apify SDK or apify-client in Python to start runs, poll status, and download the dataset programmatically.
How many posts can I collect per profile?
You control this via maxPosts. Set a specific number for predictable costs, or 0 for unlimited (use with care for large accounts). You can also filter by recent to keep results fresh.
What types of posts are covered?
Public timeline posts from profiles, including images and videos. Output includes media URLs, captions, timestamps, likes, and comments counts. When available, additional metadata such as hashtags, mentions, and video info is included.
Can it scrape private Instagram accounts?
No. Only public profiles are supported. Private content and authenticated data are not accessed.
Closing thoughts
Instagram Profile Post Scraper is built to help you collect public Instagram timeline posts in clean, structured form — fast. With flexible inputs, pinned-post control, recent-date filtering, and export to JSON/CSV/Excel, it’s ideal for marketers, analysts, developers, and researchers who need to download Instagram user posts reliably. Developers can integrate via the Apify API and Python SDK for automated pipelines. Start extracting smarter, structured Instagram profile data and power your analysis with confidence.