Instagram Scraper
Under maintenancePricing
$5.00 / 1,000 results
Go to Apify Store

Instagram Scraper
Under maintenanceScrapes Instagram profile data including user info, posts, stories, and highlights without requiring login.
Pricing
$5.00 / 1,000 results
Rating
0.0
(0)
Developer
Luan M.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Instagram Profile Scraper
Scrape Instagram profile data effortlessly — no login required. Extracts user info, posts, stories, and story highlights from any public Instagram profile.
Features
- No Login Required — scrapes publicly available Instagram profile data without authentication
- Profile Information — username, full name, bio, followers count, following count, posts count
- Profile Picture — high-resolution profile image URL
- Verified Badge Status — detects whether the account is verified
- External URL & Business Category — website link and business category if set
- Posts Scraping — extracts post URLs, captions, like counts, comment counts, dates, media types (photo/video), and hashtags
- Story Scraping — optionally scrape current live stories
- Highlight Scraping — optionally scrape story highlights
- Proxy Support — Apify proxy integration with residential proxies to avoid IP blocking
- Human-like Delays — randomized delays between actions to mimic human behavior
- Concurrent Scraping — configurable concurrency for faster scraping
Input
| Field | Type | Default | Description |
|---|---|---|---|
username | String | — | Single Instagram username to scrape (e.g., nasa). Overrides startUrls if provided. |
startUrls | Array | [] | List of Instagram profile URLs to scrape. |
maxPosts | Integer | 12 | Maximum number of posts to scrape per profile. 0 = all available. |
maxConcurrency | Integer | 3 | Maximum number of concurrent browser pages. |
includeStories | Boolean | false | Scrape current live stories from the profile. |
includeHighlights | Boolean | false | Scrape story highlights. |
proxyConfiguration | Object | Apify Residential | Proxy configuration to avoid IP blocking. |
Example Input
{"username": "nasa","maxPosts": 20,"includeStories": true,"includeHighlights": true,"maxConcurrency": 3,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
Each dataset item contains a profile object with the following structure:
Profile Data
{"type": "profile","url": "https://www.instagram.com/nasa/","username": "nasa","fullName": "NASA","bio": "Explore the universe and discover our home planet.","followers": 75000000,"following": 77,"postsCount": 4000,"profilePicUrl": "https://scontent-...","isVerified": true,"externalUrl": "https://www.nasa.gov/","businessCategory": "Science, Technology & Engineering","posts": [{"url": "https://www.instagram.com/p/ABC123/","caption": "A beautiful view from space #nasa #space","likes": 123456,"comments": 2345,"date": "2024-01-15T18:30:00.000Z","mediaType": "IMAGE","displayUrl": "https://scontent-...","videoUrl": "","isVideo": false,"hashtags": ["nasa", "space"]}],"stories": [{ "url": "https://scontent-...", "type": "image" }],"highlights": [{ "url": "https://scontent-...", "type": "image" }],"scrapedAt": "2024-01-20T12:00:00.000Z"}
Usage
On Apify Platform
- Open the Instagram Profile Scraper on Apify Console
- Enter the Instagram username(s) or URL(s) you want to scrape
- Configure options (max posts, stories, concurrency)
- Click Run and wait for results
Local Development
# Install dependenciesnpm install# Install Playwright browsersnpx playwright install chromium# Run with environment variablesAPIFY_LOCAL_STRATEGY=development node src/main.js
As a Library
import { Actor } from 'apify';// Configure and run programmaticallyconst input = {username: 'nasa',maxPosts: 10,};// Run with Apifyawait Actor.main(async () => {// Your scraping logic here});
Technical Details
- Runtime: Node.js 18+
- Browser: Playwright (Chromium)
- Framework: Crawlee with PlaywrightCrawler
- Strategy: Login-free, DOM-based extraction with graceful fallbacks
- Anti-blocking: Session pool, cookie persistence, residential proxies, human-like delays
Limitations
- Only scrapes public profiles
- Instagram may rate-limit or block scrapers — proxy configuration is strongly recommended
- Story and highlight scraping depends on Instagram's current UI structure and may break with layout changes
- Very large profiles (10K+ posts) may take significant time to scrape
License
Apache-2.0
