Instagram Public Scraper avatar

Instagram Public Scraper

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Instagram Public Scraper

Instagram Public Scraper

Under maintenance

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

Pricing

Pay per usage

Rating

0.0

(0)

Developer

CodePoetry

CodePoetry

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

2

Monthly active users

a month 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.