Instagram Post Scraper
Pricing
from $10.00 / 1,000 posts
Instagram Post Scraper
Extract all posts from unlimited public Instagram profiles. Get captions, likes, comments, images, and carousel details — perfect for social media analysis and research.
Pricing
from $10.00 / 1,000 posts
Rating
0.0
(0)
Developer
Scraptivo
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Instagram Posts Scraper collects posts from public Instagram profiles and turns them into structured data for content research, competitor analysis, and audience monitoring. Provide a profile URL or username, run the Actor, and export captions, likes, comments, media counts, and post URLs to JSON, CSV, Excel, or your preferred integration. Use it to study what works for any brand or creator and to schedule recurring tracking of new posts. Scraping costs from $0.0025 per post.
What can you automate with Instagram Posts Scraper?
- Build content intelligence reports — Pull recent posts from any set of public profiles and compare captions, formats, and engagement side by side.
- Track competitor activity — Monitor what brands and creators publish, then spot posting frequency, topics, and engagement trends.
- Enrich influencer research — Collect post-level likes and comments to evaluate an audience before outreach or partnership.
- Feed a data pipeline — Export structured posts to a spreadsheet, database, or BI tool for recurring analysis.
- Schedule recurring collection — Re-run on a fixed cadence to keep a rolling archive of new posts per account.
Who is this scraper for?
| Team | Workflow |
|---|---|
| Marketers and social media managers | Benchmark competitor posts and identify high-performing content themes. |
| Influencer and creator agencies | Audit post engagement to shortlist creators for campaigns. |
| Market researchers | Build structured datasets of captions and engagement for content analysis. |
| Brand and media monitoring teams | Track what target accounts publish and how audiences respond. |
What data can you collect from Instagram?
| Data group | Example fields | How it helps |
|---|---|---|
| Profile identity | username, full_name, profile_pic_url | Attribute every post to the correct account. |
| Post content | caption, url, post_url, thumbnail | Access the post text, link, and cover image. |
| Engagement | like_count, comment_count | Measure audience reaction per post. |
| Media and timing | carousel_media_count, taken_at | Understand format (single vs. carousel) and publish time. |
Fields that depend on the post, such as carousel_media_count or caption, may be empty when Instagram does not return them.
How to use Instagram Posts Scraper
- Open the Actor on the Apify Store.
- Enter at least one profile URL in
urlsor one username inusernames. - Set
post_per_userto cap posts per profile andmaxItemsto cap the total run. - Run the Actor.
- Export the dataset to JSON, CSV, or Excel, or push it to an integration.
{"usernames": ["nasa", "cristiano"],"post_per_user": 12,"maxItems": 0}
Example workflow
Build a weekly competitor content digest
- Add your competitor usernames and run the Actor every Monday.
- Keep posts where
like_countandcomment_countexceed your threshold. - Append new records to Google Sheets or a CRM using the post
urlas the stable key. - Review new captions, formats, and engagement in your weekly report.
Downstream filtering, scoring, and deduplication are your own steps; the Actor returns the raw structured posts.
Automate and integrate your results
- Schedule runs daily or weekly to keep a rolling archive of new posts.
- Trigger a webhook after a successful run to notify your team.
- Push results to Google Sheets, Make, Zapier, Slack, a CRM, or cloud storage.
- Call the Actor via the Apify API for recurring pipelines.
- Deduplicate records using the post
url(or legacypost_url) as the stable identifier.
Input reference
| Field | Type | Required | Default | What it controls |
|---|---|---|---|---|
urls | array | Optional* | — | Instagram profile URLs to scrape, e.g. https://www.instagram.com/nasa/. |
usernames | array | Optional* | — | Usernames without @, e.g. nasa. |
post_per_user | integer | Optional | 12 | Max posts per profile; 0 means unlimited for that profile. |
maxItems | integer | Optional | 0 | Max total posts across all profiles; 0 means unlimited. |
proxyConfiguration | object | Optional | Apify residential | Proxy settings for reliable Instagram access. |
*At least one of urls or usernames is expected.
Output example
{"username": "nasa","full_name": "NASA","profile_pic_url": "https://instagram.fjsr11-1.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg","url": "https://www.instagram.com/p/DcCH2ZygIiP/","post_url": "https://www.instagram.com/p/DcCH2ZygIiP/","caption": "America's newest aerospace technology expo and air show is landing at @NASAKennedy in Florida on Nov. 7-8...","comment_count": 563,"like_count": 57998,"carousel_media_count": 0,"thumbnail": "https://instagram.fjsr11-1.fna.fbcdn.net/v/t51.82787-15/773469429_18637153849049152_1501459325827939487_n.jpg","taken_at": "2026-08-14T22:01:26"}
How much does it cost to scrape Instagram?
This Actor uses pay-per-event pricing. The primary event is one Post (one dataset item), billed at $0.0025 per post on the free tier, dropping to $0.0022 per post on higher plans. There is also a one-time $0.00005 Actor Start charge per run.
- A small run of 100 posts costs about $0.25 plus the start fee.
- A larger run of 10,000 posts costs about $25 plus the start fee.
You only pay for the post records the Actor returns.
Reliability and responsible use
- Residential Apify proxies are used by default to keep access reliable.
- The Actor handles retries and concurrent requests automatically.
- Some fields are conditional: captions, media counts, or thumbnails can be empty when Instagram does not expose them.
- The Actor collects only public profile data; private accounts and login-gated content are out of scope.
- You are responsible for using collected data in line with Instagram's terms and applicable law.
Frequently asked questions
Can I scrape posts from any Instagram profile?
You can collect posts from public profiles by username or profile URL. Private accounts and content that requires login are not available to the Actor.
Can I schedule Instagram Posts Scraper to run automatically?
Yes. Configure an Apify schedule (daily, weekly, or custom) and pair it with a webhook or integration so new posts are collected without manual runs.
What counts as one result?
One result is a single post record in the dataset. Each post is billed as one "Post" event under pay-per-event pricing, so you only pay for what is returned.
Why are some fields empty?
Optional fields such as caption, carousel_media_count, or thumbnail depend on what Instagram returns for that post. Empty values mean the data was not available, not that the run failed.
How do I avoid duplicate records?
Use the post url (or legacy post_url) as the stable key when you append results to your own spreadsheet or database, and deduplicate on that field.
Do I need a proxy?
Yes. The Actor uses Apify residential proxies by default, which are required for reliable access to public Instagram profiles.
Related Scraptivo automations
- Instagram Comment Scraper — collect comments and commenter metadata from posts and reels.
- Twitter/X Profile Scraper — extract profile and post data from X accounts.
- YouTube Channel Scraper — pull channel metadata and videos from YouTube channels.
- YouTube Comment Scraper — collect comments from YouTube videos at scale.
- Reddit Scraper — extract posts and discussions from Reddit communities.
- Skool Scraper — collect posts, members, and group data from Skool communities.
Support and custom workflows
Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, sample URL, required fields, and expected volume so we can assess the request.