Instagram Scraper — Profiles, Posts & Reels
Pricing
$0.90 / 1,000 scraped instagram posts
Instagram Scraper — Profiles, Posts & Reels
Ultra-fast Instagram scraper without browser overhead. Extract user profiles, bio, followers count, posts, captions, hashtags, like count.... Compatible Make.com, Zapier, n8n, Sheets & Webhooks. 256MB RAM & sub-second speed.
Pricing
$0.90 / 1,000 scraped instagram posts
Rating
0.0
(0)
Developer
Hector
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Features
Share
Instagram Scraper — Profiles, Posts & Reels
Instagram Scraper extracts structured Instagram records, metadata, metrics, and direct links in real time. Built on a zero-browser HTTP/2 engine running in 256 MB RAM, it delivers normalized datasets with zero null fields ready for CSV, Excel, JSON, or API pipelines.
Looking for related scrapers? Check out TikTok Scraper, YouTube Scraper, Twitter / X Scraper, Reddit Scraper, or browse our full catalog of 118+ dedicated scrapers.
What does Instagram Scraper do?
Ultra-fast Instagram scraper without browser overhead. Extract user profiles, bio, followers count, posts, captions, hashtags, like count.... Compatible Make.com, Zapier, n8n, Sheets & Webhooks. 256MB RAM & sub-second speed.
Whether you need to monitor Instagram at scale, enrich B2B/B2C databases, or feed structured records into analytics and AI workflows, Instagram Scraper handles pagination, field normalization, and schema validation automatically:
- Bulk Data Extraction: Collect Instagram listings, items, and detailed attributes in batches using keywords, filters, or direct URLs.
- Complete Public Metadata: Capture identifiers, pricing/engagement metrics, author/vendor details, timestamps, and canonical URLs.
- Multi-Format Export: Download results in JSON, CSV, Excel (XLSX), XML, or HTML Table directly from the Apify Console.
- Ready for Automation & AI: Connect seamlessly to Apify Integrations (Make, Zapier, n8n, Google Sheets), REST API endpoints, or the Apify MCP Server.
Beyond the Official Instagram API
- No API Keys or Approval Delays: Start extracting public Instagram data immediately without registering developer apps or waiting for quota approvals.
- No Restrictive Rate Quotas: Bypass strict per-minute API limits and expensive enterprise tiers while capturing the complete public data points displayed on Instagram.
- 256 MB Zero-Browser Architecture: Uses native HTTP/2 and TLS session emulation instead of heavy Chromium instances, executing in seconds at a fraction of standard compute costs.
What data can you scrape from Instagram?
Instagram Scraper extracts the following data points from Instagram:
👤 Usernames (usernames) | 📝 Max Posts Per Profile (maxPostsPerProfile) | 📧 Extract Emails (extractEmails) |
📧 Extract Phones (extractPhones) | 🏷️ Item Type (itemType) | 👤 Username (username) |
📝 Full Name (fullName) | 📝 Biography (biography) | 🔗 External URL (externalUrl) |
📝 Followers Count (followersCount) | 📝 Following Count (followingCount) | 📝 Posts Count (postsCount) |
| Data Category | Extracted Fields & Data Points |
|---|---|
| Identity & Core Identifiers | usernames (Usernames), itemType (Item Type), username (Username), fullName (Full Name), postId (Post ID), isVideo (Is Video) |
| Metrics, Pricing & Engagement | maxPostsPerProfile (Max Posts Per Profile), followersCount (Followers Count), followingCount (Following Count), postsCount (Posts Count), caption (Caption), likesCount (Likes Count) |
| Details, Attributes & Context | extractEmails (Extract Emails), extractPhones (Extract Phones), biography (Biography), isVerified (Is Verified), mentions (Mentions), shortcode (Shortcode) |
| Direct Links, Media & Timestamps | externalUrl (External URL), isPrivate (Is Private), avgEngagementRatePercent (Avg Engagement Rate Percent), postEngagementRatePercent (Post Engagement Rate Percent), profilePicUrl (Profile Pic URL), videoUrl (Video URL) |
Why scrape Instagram? (Typical Use Cases & Guides)
You can use Instagram Scraper for a wide range of data and business workflows:
- Influencer Marketing & Audits: Evaluate creator follower counts, authenticity, and engagement rates before sponsoring.
- E-commerce & Brand Discovery: Monitor competitor product posts, trending hashtags, and promotional campaigns.
- Contact Sourcing: Scrape creators and brands with public contact emails for creator management agencies.
- AI Agents, RAG & LLM Knowledge Pipelines: Stream clean, structured Instagram JSON records into vector databases, Claude, GPT-4, or LangChain workflows.
- Automated BI Dashboards & Scheduled Alerts: Schedule daily or hourly runs and push live Instagram updates directly to Google Sheets, Looker Studio, Slack, or webhooks.
- Market Research & Competitor Analysis: Benchmark Instagram offerings, pricing strategies, and market share across regions.
- Lead Generation & CRM Enrichment: Build targeted prospect lists and sync verified records straight into HubSpot, Salesforce, or Clay.
- AI Agents & RAG Pipelines via MCP: Connect live Instagram data directly to Claude Desktop, Cursor, or LangChain agents.
How to scrape Instagram data
Instagram Scraper is designed for a zero-configuration start, even if you have never scraped data before:
- Create a free Apify account using your email (includes $5.00 in free monthly credits).
- Open Instagram Scraper and click on the Input tab — all required fields are already pre-filled with a working example.
- Enter your search terms, target URLs, or filter criteria (or keep the default pre-filled configuration for an instant 1-Click test).
- Click the green "Start" button and wait a few seconds for the data to be extracted.
- Download your dataset in JSON, CSV, Excel (XLSX), or HTML, or fetch it via the API tab.
For more technical details on every parameter, check out the Input Schema tab or read the Apify Platform Documentation.
🔗 How to scrape Instagram by Search Term or Direct URL
| Scraping by Search Term / Filter 🔑 | Enter keywords, categories, or filter parameters just as you would search on Instagram. Set the maximum number of items you want to extract and click Start. |
| Scraping by Direct URL 🔗 | Paste one or more direct Instagram links (or import a list of URLs from a Google Sheet / CSV) to extract targeted item or profile details in bulk. |
⬇️ Input Configuration & Examples
To start scraping Instagram, fill in the visual input form in the Apify Console or pass a JSON payload via the API. Full technical specifications are available on the Input Schema tab.
Input Parameters Reference
| Parameter | Type | Default / Prefill | Description |
|---|---|---|---|
usernames | array | ["instagram","apify"] | List of Instagram usernames or profile URLs (e.g. 'instagram', '@nike', 'https://instagram.com/apify'). |
postUrls | array | — | Optional list of direct post or reel URLs (e.g. 'https://www.instagram.com/p/C-example/'). |
maxPostsPerProfile | integer | 5 | Maximum number of recent posts or reels to extract per profile. |
extractEmails | boolean | true | Automatically detect and extract business and personal email addresses from biography. |
extractPhones | boolean | false | Automatically detect and extract international phone numbers or WhatsApp contact numbers from biography. |
minFollowers | integer | 0 | Only keep profiles with at least this number of followers (e.g., 10000 for micro-influencers). |
onlyVerified | boolean | false | Only scrape profiles that have an official Instagram verified badge. |
sessionCookie | string | — | Optional 'sessionid' cookie from your browser. Allows unrestricted access to high-resolution private endpoints, private profiles you follow, and zero rate limits. |
proxyConfiguration | object | {"useApifyProxy":true} | Select Apify Proxy (Residential or Datacenter) to bypass Instagram rate limits. |
Example 1: Standard Extraction (1-Click Default)
{"usernames": ["instagram","apify"],"maxPostsPerProfile": 5,"extractEmails": true,"extractPhones": false}
Example 2: Filtered & Batch Extraction
{"usernames": ["instagram","apify"],"postUrls": ["https://www.instagram.com/p/C-example/"],"maxPostsPerProfile": 10,"extractEmails": true,"extractPhones": true,"minFollowers": 0,"onlyVerified": true}
⬆️ Output Example (Table View, JSON & Fields Reference)
The scraped results are stored in a structured Apify Dataset available in the Storage tab. Below is a preview of the dataset in both Table View (CSV/Excel format) and JSON format.
Table View (CSV / Excel Dataset Preview)
| Usernames | Max Posts Per Profile | Extract Emails | Extract Phones |
|---|---|---|---|
instagram | 5 | true | false |
instagram | 6 | true | false |
instagram | 4 | true | false |
JSON Output Example
{"usernames": ["instagram","apify"],"maxPostsPerProfile": 5,"extractEmails": true,"extractPhones": false}
Output Fields Reference
| Field Name | Type | Description |
|---|---|---|
usernames | array | Extracted usernames value. |
maxPostsPerProfile | number | Extracted max posts per profile value. |
extractEmails | boolean | Extracted extract emails value. |
extractPhones | boolean | Extracted extract phones value. |
itemType | string | Item category (profile, post, reel) |
username | string | Instagram handle |
fullName | string | Display name of the user |
biography | string | Bio description |
externalUrl | string | Link in bio |
followersCount | number | Total followers |
followingCount | number | Total following |
postsCount | number | Total posts published |
isVerified | boolean | Verified badge status |
isPrivate | boolean | Whether the profile is private |
avgEngagementRatePercent | number | Average engagement rate percentage calculated from recent posts |
postEngagementRatePercent | number | Individual post engagement rate percentage |
mentions | array | User handles mentioned with @ |
profilePicUrl | string | Avatar image URL |
postId | string | Unique post identifier |
shortcode | string | Post shortcode identifier |
caption | string | Text caption of the post |
hashtags | array | Hashtags found in caption |
likesCount | number | Number of likes |
commentsCount | number | Number of comments |
isVideo | boolean | Whether the post is a video / reel |
videoViewCount | number | Video view count if available |
videoUrl | string | Direct MP4 video URL if available |
displayUrl | string | High resolution thumbnail or image URL |
postUrl | string | Direct permalink to the post on Instagram |
timestamp | string | Publication timestamp |
scrapedAt | string | Scrape execution ISO timestamp |
🔗 Scrape any data you need with dedicated scrapers
Combine Instagram Scraper with our other dedicated scrapers from @RBBscrap if you want to extract specialized data across platforms:
| 🔹 TikTok Scraper | 🔹 YouTube Scraper | 🔹 Twitter / X Scraper |
| 🔹 Reddit Scraper | 🔹 Threads Scraper | 🔹 Pinterest Scraper |
| Scraper | Extracted Data & Primary Use Case |
|---|---|
| TikTok Scraper | Videos, Profiles & Stats |
| YouTube Scraper | Videos, Shorts & Channels |
| Twitter / X Scraper | Tweets & Profiles |
| Reddit Scraper | Posts, Comments & Subreddits |
| Threads Scraper | Profiles, Posts & Bios |
| Pinterest Scraper | Pins, Boards, Search & Videos |
⚠️ Error Items & Resilience Reference
Instagram Scraper is engineered to process multi-query and batch runs resiliently without crashing if a single query or URL fails:
| Status / Code | Meaning & Automatic Handling |
|---|---|
OK | Record successfully extracted, validated, and normalized with zero null fields. |
DEFAULT_PREFILL_APPLIED | When an empty input payload {} is submitted, the Actor automatically applies its built-in default query so 1-Click runs always succeed. |
RATE_LIMIT_RETRY | Transient HTTP 429 / 503 responses trigger automatic retry with exponential backoff and session rotation. |
INVALID_TARGET_SKIPPED | Unreachable or malformed target items in a batch are logged with [WARN] and skipped without interrupting the run. |
❓ Frequently Asked Questions (FAQ)
How much does scraping Instagram cost?
Instagram Scraper uses transparent Pay-Per-Event (PAY_PER_EVENT) pricing set 10x cheaper than the market leader ($\div 10$):
- Event Rate: $0.00045 per Scraped Instagram Scraper Record ($0.45 per 1,000 items).
- 🎁 1st Run 100% FREE: Your very first execution is 100% free (
$0.00event charges are applied on your initial run). - Apify Free Plan ($5.00/month included): Every Apify account receives $5.00 in free monthly credits, which is enough to extract up to ~11,111 items per month for free.
- View full details on the Pricing tab and the Apify Pricing page.
Can I integrate Instagram Scraper with Make, Zapier, n8n, or Google Sheets?
Yes. Instagram Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform, including Make, Zapier, n8n, Slack, Airbyte, Google Sheets, Google Drive, and webhooks.
Can I use Instagram Scraper with the Apify API (Python & Node.js)?
Yes. The Apify API gives you programmatic access to run Instagram Scraper, schedule jobs, and fetch datasets. Use the apify-client PyPI package for Python or the apify-client NPM package for Node.js, or check the Apify API Reference:
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_API_TOKEN")run = client.actor("rbbscrap/instagram-scraper").call(run_input={"usernames": ["instagram","apify"],"maxPostsPerProfile": 5,"extractEmails": True,"extractPhones": False})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Node.js (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_API_TOKEN' });const run = await client.actor('rbbscrap/instagram-scraper').call({usernames: ["instagram","apify"],maxPostsPerProfile: 5,extractEmails: true,extractPhones: false});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Can I use Instagram Scraper through an MCP Server (Claude Desktop, Cursor, AI Agents)?
Yes. With the Apify API, you can use Instagram Scraper in conjunction with an MCP server to connect directly to Claude Desktop, Cursor, Windsurf, or LibreChat. Read the official guide on how to set up Apify Actors with MCP, or go to the MCP tab:
- Start a Server-Sent Events (SSE) session to receive a
sessionId. - Send API messages using that
sessionIdto trigger Instagram Scraper with your input parameters. - Receive structured Instagram dataset records directly inside your AI agent conversation.
Do I need residential proxies or login cookies to scrape Instagram?
No. Instagram Scraper operates on a zero-browser HTTP/2 protocol engine (256 MB RAM) and works out-of-the-box without requiring login cookies or external proxies for standard workloads. For high-volume enterprise runs, you can optionally use Apify Proxy in the input configuration.
Is it legal to scrape data from Instagram?
Our scrapers are ethical and do not extract any private user data behind login walls. They only extract what is shared publicly on the web. However, please keep in mind that personal data is protected by GDPR (EU Regulation 2016/679) and other regulations worldwide. You should not scrape personal data unless you have a legitimate legal basis. Read more in Apify's guide on the legality of web scraping.
Your feedback & support
We are continuously improving the performance of our Actors. If you have any technical feedback for Instagram Scraper, need a custom feature, or found a bug, please create an issue on the Actor's Issues tab in the Apify Console.