Instagram Public Scraper avatar
Instagram Public Scraper

Pricing

from $10.00 / 1,000 scraped results

Go to Apify Store
Instagram Public Scraper

Instagram Public Scraper

Scrape public Instagram profiles, posts, and hashtags without login. Export clean data to CSV/JSON for marketing, research, and analytics.

Pricing

from $10.00 / 1,000 scraped results

Rating

0.0

(0)

Developer

CodePoetry

CodePoetry

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Instagram Public Profile & Post Scraper (No Login) πŸ“Έ

Scrape public Instagram profiles, posts, and hashtags without login and export clean, analysis-ready data to CSV or JSON.

This production-ready Apify Actor is designed for marketers, founders, researchers, and analysts who need reliable public Instagram data without dealing with authentication, cookies, or private APIs.

⚠️ PUBLIC DATA ONLY This Actor scrapes only publicly visible information. It does not log in to Instagram, access private profiles, stories, or use internal APIs.


🎯 Who This Is For

Perfect for:

  • πŸ“Š Market & competitor research
  • πŸ“£ Influencer discovery & analysis
  • 🧠 Content & hashtag research
  • 🏷️ Lead generation from public profiles
  • πŸŽ“ Academic & social media research

✨ Key Features

  • βœ… No login required (public data only)
  • πŸ‘€ Profile scraping (followers, bio, verification, counts)
  • πŸ–ΌοΈ Post scraping (captions, hashtags, media, engagement)
  • πŸ” Hashtag scraping (public posts)
  • πŸ“¦ Clean output (CSV & JSON friendly)
  • πŸ›‘οΈ Anti-blocking measures (sessions, delays, fingerprinting)
  • 🌍 Proxy support (residential required for hashtags)
  • πŸ§ͺ Debug mode for development & troubleshooting

🚨 Limitations (Important)

CapabilitySupportedNotes
Public profilesβœ… YesProxy optional
Hashtag scraping⚠️ YesResidential proxies required
Private profiles❌ NoPublic data only
Stories / Reels (private)❌ NoRequires login
Login / cookies❌ NoBy design

⚠️ Hashtag scraping fails fast without residential proxies to prevent wasted compute.


πŸ“₯ Quick Start (30 seconds)

{
"profiles": ["instagram", "natgeo"],
"maxPostsPerSource": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

πŸ“Š What Data You Get

Profile Data

  • Username, full name, biography
  • Followers & following counts
  • Total posts count
  • Profile picture URL
  • Verified status
  • Profile URL

Post Data

  • Post URL & ID
  • Caption text & extracted hashtags
  • Likes & comments counts
  • Media type (image / video / carousel)
  • Media URLs
  • Timestamp (ISO-8601)
  • Owner username

πŸ“€ Output Schema (Consistent)

All dataset items β€” including errors β€” follow one schema:

{
"sourceType": "profile | hashtag",
"sourceValue": "string",
"scrapedAt": "ISO-8601",
"data": {
"status": "success | error",
"type": "profile | post",
"message": "error message (if error)",
"...": "scraped fields (if success)"
}
}

This guarantees:

  • CSV export compatibility
  • BigQuery / Sheets compatibility
  • Stable downstream processing

🌐 Proxy Requirements

Scraping TypeProxy
ProfilesOptional (recommended)
HashtagsResidential required
{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Datacenter proxies may work for profiles only but usually fail for hashtags.


βš™οΈ Technical Overview

  • Runtime: Node.js 18+
  • Crawler: PlaywrightCrawler
  • Framework: Apify SDK v3 + Crawlee
  • Browser: Headless Chromium

Anti-Blocking Strategy

  • Session rotation
  • Randomized delays
  • Human-like scrolling
  • Browser fingerprint randomization
  • Automatic retries

This Actor:

  • Scrapes only public data visible to non-logged-in users
  • Does not bypass paywalls, logins, or CAPTCHAs
  • Does not store cookies or sessions

You are responsible for:

  • Complying with Instagram’s Terms of Service
  • Complying with GDPR, CCPA, and local data laws
  • Using scraped data ethically and legally

πŸ› Troubleshooting

Login wall detected

  • Use residential proxies (mandatory for hashtags)
  • Reduce maxPostsPerSource
  • Increase delays

Actor fails at startup

  • Happens when hashtags are requested without residential proxies

Slow performance

  • Intentional to avoid blocking
  • Increase concurrency at your own risk

πŸ“ Project Structure

src/
β”œβ”€β”€ main.js
β”œβ”€β”€ input-schema.json
└── helpers/
β”œβ”€β”€ extractProfile.js
β”œβ”€β”€ extractPosts.js
β”œβ”€β”€ scrollPage.js
└── utils.js

πŸš€ Ready to Use

Push and run:

$apify push

πŸ“„ License

ISC License


🀝 Support

Questions, issues, or feature requests? Open an issue in the repository β€” feedback is welcome.