Skip to main content

How to scrape Instagram with Apify (no code)

Quick Answer

Use the Apify Instagram Scraper, pay-per-event at $1.50 per 1,000 posts (comments billed at $2.30 per 1,000, per the Actor's official pricing tab). No Instagram login required. Pick a search type (profile, hashtag, post URL, place, or search query), click Start, and export JSON, CSV, or Excel. Returned fields include caption, hashtags, likes, comments count, timestamps, media URLs, and full owner metadata. The Apify free plan covers ~3,300 posts/month.

Collect public posts, captions, engagement counters, and profile metadata using a pre-built Actor, no Instagram login required.

Time~5 min
Cost$1.50 / 1,000 posts (pay-per-event)
DifficultyBeginner
OutputCSV / Excel / JSON

Instagram data powers influencer research, competitor tracking, and hashtag analytics. Apify's managed infrastructure handles the headless browser farm so you focus on inputs and exports. If you'd rather self-host with a Python tool like Instaloader, you'll need your own proxy stack. See our guide to the best Instagram proxies for 2026.

What you'll do:

  • Open the right Instagram Scraper Actor and understand pricing.
  • Map search types to the URLs or handles you already use in the app.
  • Interpret a sample JSON row and ship data to spreadsheets or dashboards.

For a wider comparison of profile, hashtag, comment, and reel Actors, see our best Instagram scrapers roundup and the broader social media scrapers overview.

Configuration options (inputs)

Exact field names are defined by the Actor’s JSON schema, so always verify on the Input tab. Typical modes:

Search typeWhat you provideExample
ProfileUsername or profile URLhttps://www.instagram.com/natgeo/
HashtagTag with or without ##travel
Post / Reel URLDirect link to one itemhttps://www.instagram.com/p/ABC123/
Search keywordsQuery string (if supported)sustainable fashion
OptionWhy it matters
Results / post limitCaps runtime cost and keeps first tests small.
Comments depthSome Actors can fetch comment threads; more events mean a higher price.
Date or media filtersNarrow to recent posts or specific formats when available.

Open the Instagram Scraper →

Browse alternatives with a Store search: Instagram scrapers on Apify.

Pricing (estimate before you scale)

The official Instagram Scraper pricing (verified May 2026) is:

  • $1.50 per 1,000 posts (profile, hashtag, search, or place results)
  • $2.30 per 1,000 comments
  • Other event types (profile details, etc.) are priced separately on the Actor's Pricing tab.

Quick math: 10,000 posts ≈ $15, plus comments at $2.30 per 1,000 if you enable them. Apify's free plan includes $5/month in credits, enough for roughly 3,300 posts or 2,100 comments. See our full Apify pricing breakdown for paid-plan limits.

Limitations (only public data)

  • Private profiles, stories, and DMs are not available through standard public scrapers.
  • Rate limits, UI changes, and anti-automation can break selectors; update Actors regularly.
  • Instagram’s Terms restrict certain automated access. Read Meta’s policies and consult counsel before high-volume or commercial use.
  • Personal data may still be regulated under GDPR/CCPA even when a profile is public, so document your purpose and retention.

More context: Is web scraping legal?.

Step 1: Open the Instagram Scraper

Go to apify.com/apify/instagram-scraper and choose Try for free (or Start) to open the console.

Step 2: Configure your scrape

Example: scrape a public profile’s recent posts.

  1. Set search type to Profile (or the equivalent enum in the schema).
  2. Paste the profile URL or username Apify expects.
  3. Set max posts to a small number (for example 20) for your first run.

For hashtags, switch the mode to Hashtag and supply the tag. For a single reel or photo, use Post URL mode if available.

Step 3: Start the Actor

Click Start. Watch the Log for warnings (rate limits, empty pages). Successful runs populate the Dataset tab in real time.

Step 4: Export Instagram data

Apify Affiliate Banner 300x250Apify Affiliate Banner 300x250Apify Affiliate Banner 300x50Apify Affiliate Banner 300x50

When the run finishes, open Dataset (or Storage) and export CSV, Excel, or JSON for your tools.

What data you can extract

Available columns depend on the Actor version; common fields include:

FieldDescription
urlCanonical post URL
shortCodeInstagram short identifier
typeImage, video, carousel, etc.
captionPost text and hashtags
timestampPublish time (ISO 8601)
likesCount / commentsCountEngagement counters
ownerUsername / ownerFullNameAccount metadata
displayUrlCDN link to media (may expire)
locationNamePlace tag when present

For follower counts only, consider the Instagram Followers Count Scraper. For rich profile bios without full post history, see the Instagram Profile Scraper. For Reels-only workloads, jump to our Instagram Reels architecture guide.

For a step-by-step code walkthrough, see our Instagram scraper tutorial for 2026, or browse curated Instagram scraper collections by use case.

Sample JSON output

Sample output (one post)

Each dataset item is typically one post object; field names may vary slightly by Actor version.

{
"url": "https://www.instagram.com/p/CxYz123/",
"type": "Image",
"shortCode": "CxYz123",
"caption": "Exploring the hidden gems of Patagonia #travel #nature",
"ownerUsername": "natgeo",
"ownerFullName": "National Geographic",
"likesCount": 142857,
"commentsCount": 3294,
"timestamp": "2024-01-15T14:30:00.000Z",
"displayUrl": "https://scontent.cdninstagram.com/v/t51.2885-15/...",
"dimensionsHeight": 1080,
"dimensionsWidth": 1080,
"isSponsored": false,
"locationName": "Torres del Paine National Park"
}

Use cases

Use caseHow Instagram data helps
Influencer researchCompare engagement and posting cadence across creators.
Competitor monitoringTrack campaigns, creative formats, and hashtag strategies.
Hashtag analyticsSee which topics drive recent public posts in a niche.
Content strategyStudy caption patterns and posting times that correlate with likes.
Start with a small run

Validate fields and cost on 20–50 posts, then widen limits once outputs look right.



Run the Instagram Scraper on Apify →

Frequently Asked Questions

No. The standard Apify Instagram Scraper works without your Instagram credentials. It only reads publicly visible pages, which is why private accounts and DMs are out of scope.

Some Instagram Actors support comment threads as optional inputs. Comments increase event counts and cost, so enable them only when needed and check the Actor documentation for limits.

Public scraping may still implicate platform terms and privacy laws depending on region and use case. This is not legal advice, so review Meta’s policies and your compliance program. See our scraping legality guide.

The official Apify Instagram Scraper bills $1.50 per 1,000 posts and $2.30 per 1,000 comments (verified May 2026). Estimate cost as (results) × (price per 1,000) / 1,000. The free plan covers about 3,300 posts per month; bigger workloads need a paid Apify plan.

Yes. Every Actor exposes an API token. Call the Apify REST API or SDK from Node.js, Python, or your orchestrator to start runs and pull datasets programmatically. See the Instagram scraper tutorial for ready-to-paste code samples.

CDN links are often time-limited. Persist images to your own storage if you need long-term access, and respect copyright and licensing when re-hosting media.

Common mistakes and fixes

Dataset is empty after a successful run

Confirm profiles or hashtags are public, reduce limits, and try a single well-known username. Check the log for rate-limit or parsing warnings.

Run is slow or times out

Lower post limits, avoid mixing many unrelated targets in one run, and retry during off-peak hours; check the Actor page for concurrency guidance.

Some fields (emails, DMs) never appear

Public scrapers cannot access private inboxes or non-public account data. See Limitations below.

Apify Affiliate Banner 728x90Apify Affiliate Banner 728x90Apify Affiliate Banner 300x50Apify Affiliate Banner 300x50