Instagram Scraper avatar

Instagram Scraper

Under maintenance

Pricing

$5.00 / 1,000 results

Go to Apify Store
Instagram Scraper

Instagram Scraper

Under maintenance

Scrapes 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.

Luan M.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Instagram Profile Scraper

Apify Actor Node.js

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

FieldTypeDefaultDescription
usernameStringSingle Instagram username to scrape (e.g., nasa). Overrides startUrls if provided.
startUrlsArray[]List of Instagram profile URLs to scrape.
maxPostsInteger12Maximum number of posts to scrape per profile. 0 = all available.
maxConcurrencyInteger3Maximum number of concurrent browser pages.
includeStoriesBooleanfalseScrape current live stories from the profile.
includeHighlightsBooleanfalseScrape story highlights.
proxyConfigurationObjectApify ResidentialProxy 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

  1. Open the Instagram Profile Scraper on Apify Console
  2. Enter the Instagram username(s) or URL(s) you want to scrape
  3. Configure options (max posts, stories, concurrency)
  4. Click Run and wait for results

Local Development

# Install dependencies
npm install
# Install Playwright browsers
npx playwright install chromium
# Run with environment variables
APIFY_LOCAL_STRATEGY=development node src/main.js

As a Library

import { Actor } from 'apify';
// Configure and run programmatically
const input = {
username: 'nasa',
maxPosts: 10,
};
// Run with Apify
await 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