Instagram Reels Scraper: Likes, Views, Comments & Followers avatar

Instagram Reels Scraper: Likes, Views, Comments & Followers

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Instagram Reels Scraper: Likes, Views, Comments & Followers

Instagram Reels Scraper: Likes, Views, Comments & Followers

Scrape recent reels from public Instagram profile URLs into JSON: like, view/play and comment counts, shortcode and URL per reel, plus one profile row with follower, following and post counts. Bulk profile lists, no login. Blocked profiles are retried once on a residential proxy.

Pricing

from $0.40 / 1,000 results

Rating

0.0

(0)

Developer

TicTech

TicTech

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Instagram Scraper: Posts, Reels, Likes & Views from Profiles

Scrape public Instagram profiles and post or reel URLs into clean JSON: likes, views, plays, comment counts, shortcodes, media type and profile follower counts. If Instagram blocks the default proxy, the run retries automatically on a residential proxy so you still get data. No login.

What you put in: public profile URLs (e.g. https://www.instagram.com/ksi/) and/or direct /p/ and /reel/ URLs. No hashtag, place, or keyword search input — this Actor is for known profiles and posts.

Note: Only public profiles and posts. Login walls, private accounts, or rate limits may yield empty rows for that URL (the run still completes).

Why Use This Tool?

  • Automate Instagram reporting: Replace manual screenshots with structured data.
  • Bulk creator lists: Run dozens of profile URLs in a single Apify job.
  • Profile + content together: Each profile URL scrapes profile metadata once (followers, following, post count) even when there are no new reels/posts in your date window.
  • Stack-friendly output: Snake_case JSON for Sheets, warehouses, n8n/Make, or internal APIs.
  • Lean by design: HTTP + TLS impersonation — no heavy browser farm; Apify Proxy handles anti-block.

Why Choose This Actor?

  • Instagram-focused: Profiles, /p/, and /reel/ URLs in one Actor
  • Always-on profile row: media_type: "profile" so account metrics stay updated
  • Date filter (until): Keep only content newer than a date for monthly monitoring
  • Soft-fail per URL: One blocked profile does not kill the bulk run
  • Apify-native: Console, schedules, webhooks, API, Make, n8n, Zapier
  • PPE pricing: Predictable start + per-result billing

Features

  • Scrape Instagram profile URLs and direct post/reel URLs
  • Bulk start_urls in one run (deduped)
  • Profile metadata scraped once per profile (followers, following, posts count, handle, display name)
  • Post/reel fields: shortcode, likes, views/plays (when exposed), comments, author, handle, media type, product type. Captions and posted_at are only reliably filled with enrich_details: true
  • Optional until date filter (ISO / YYYY-MM-DD)
  • Apify Proxy default (DATACENTER) with an automatic one-shot residential retry per blocked profile; custom proxyUrls OK
  • enrich_details off by default — skips redundant /p · /reel page fetches when profile/reels HTML already has likes/views
  • Dataset export: JSON, CSV, Excel

Use Cases

  • Brand & competitor monitoring on Instagram
  • Influencer outreach — follower counts + recent reel performance
  • Agency dashboards — scheduled Apify runs into Sheets / Looker
  • Content archives for captions, URLs, and engagement history
  • E‑commerce / DTC social proof and creator tracking

Input Example

{
"start_urls": [
"https://www.instagram.com/ksi/",
"https://www.instagram.com/reel/DdKDOY9iWFc/"
],
"max_items": 100,
"until": "2026-09-01",
"enrich_details": false,
"useResidential": false,
"proxyConfiguration": {
"useApifyProxy": true
}
}
FieldWhat it does
start_urlsProfile and/or /p/ · /reel/ URLs (required)
max_itemsCap on dataset items (default 20; 0 = safe ceiling 5000). Free-tier tip: keep ≤ 100
untilOptional — keep posts newer than this date (does not force detail-page fetches)
enrich_detailsOptional — fetch each /p · /reel page for missing caption/likes/date (default false)
useResidentialDefault false — not needed for blocks: a profile blocked on datacenter is retried once on residential automatically. Set true only to use residential from the start
proxyConfigurationDefault Apify DATACENTER with automatic residential retry when blocked. Select RESIDENTIAL only to force it from the start; custom proxyUrls OK (no automatic retry)

Output Examples

Profile metadata (one row per profile URL):

{
"id": "1234567890",
"media_type": "profile",
"platform": "instagram",
"handle": "ksi",
"author": "KSI",
"url": "https://www.instagram.com/ksi/",
"follower_count": 9500000,
"following_count": 400,
"posts_count": 1200
}

Reel / post metadata:

{
"url": "https://www.instagram.com/reel/DdKDOY9iWFc/",
"caption": null,
"like_count": 29372,
"view_count": 1325401,
"play_count": 1325401,
"comment_count": 144,
"author": "ksi",
"handle": "ksi",
"media_type": "reel",
"platform": "instagram"
}

Output field notes

FieldMeaning
media_typeprofile for the account row; otherwise the post kind (reel, image, carousel, video, or post)
product_typeInstagram's own product label for the post when exposed (e.g. clips for reels)
view_count / play_countVideo/reel views or plays as exposed by Instagram; null for photos or when not shown
caption, posted_atOften null from profile pages — turn on enrich_details to fill them

How to Run on Apify

  1. Open Instagram Scraper on Apify and click Try for free / Start.
  2. Paste public Instagram profile or post/reel URLs into start_urls.
  3. Set max_items (≤ 100 on free tier). Optionally set until.
  4. Keep Apify Proxy on (DATACENTER default). If Instagram blocks a profile on datacenter, the Actor retries that profile once on residential automatically. Rotate/backoff is automatic on HTTP 429.
  5. Run and download the Dataset — profile rows first, then posts/reels.
  6. Wire to schedules, webhooks, or Make / n8n / Zapier for recurring brand scrapes.

Run from your stack (API sketch)

curl -X POST "https://api.apify.com/v2/acts/tictechid~vanzi-instagram-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"start_urls":["https://www.instagram.com/ksi/"],"max_items":50,"proxyConfiguration":{"useApifyProxy":true}}'

Use the Actor id with a ~ in API paths: tictechid~vanzi-instagram-scraper.

Pricing

Pay-per-event (PPE). Residential retries add proxy cost on our side only — you pay the same per-result price:

  • actor-start — once per run
  • result — once per dataset item (including profile rows)

Current list price: $0.40 per 1,000 results plus $0.0005 per run start. Check Pricing on the Actor page for the live price.

Usage Limits

  • Free tier: Run as often as you like within your monthly Apify free platform credit — there is no Actor-side run-count cap. Tip: free tier max items per run ≤ 100.
  • Paid plans: Larger runs and higher volume, limited only by your Apify plan's credit and concurrency.

Need more credit or concurrency? See Apify Pricing.

FAQ

Do I need an Instagram login? No — public HTML only.

Do I need a residential proxy? You don't have to pick one. The Actor starts on Apify DATACENTER; if Instagram blocks or returns nothing for a profile, it retries that profile only, once, on residential (one log line tells you when) — profiles that work on datacenter never touch residential. If still nothing, the run finishes SUCCEEDED with whatever it found. Set useResidential (or pick RESIDENTIAL in proxyConfiguration) to use residential from the start. Custom proxyUrls are also supported.

Why was my run expensive? Older builds forced residential and fetched every /p · /reel page when until was set. Current builds use datacenter by default and skip per-shortcode enrichment unless enrich_details is true.

What if there are no new reels this month? You still get the profile metadata row so follower/post counts update.

Empty dataset? Instagram rate-limits aggressively. On HTTP 429 the Actor backs off, rotates the proxy session, and soft-fails that URL (one quiet WARN) instead of hammering. One bad URL won’t fail the whole bulk run.

Support: Open an Issue on the Actor page or email contact@tictech.id.


For more details, contact the maintainer or email us at contact@tictech.id