Instagram Profile Reels Scraper - Feed by Username avatar

Instagram Profile Reels Scraper - Feed by Username

Pricing

from $3.00 / 1,000 instagram reel scrapeds

Go to Apify Store
Instagram Profile Reels Scraper - Feed by Username

Instagram Profile Reels Scraper - Feed by Username

Scrape public Instagram Reels from a profile Reels tab by username or profile URL, returning plays, likes, comments, duration, video URL, and audio. Cookieless and MCP-ready at $0.003 per Reel.

Pricing

from $3.00 / 1,000 instagram reel scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

4

Monthly active users

9 days ago

Last modified

Share

Instagram Profile Reels Scraper

Turn a public Instagram username, @handle, profile URL, or profile /reels tab URL into one dataset row per Reel. Each record includes play count, likes, comments, duration, video URL, audio metadata, caption, and provenance so agencies and AI agents can monitor a creator's public Reels tab without login or cookies.

This Actor is designed as a focused standalone workflow for a creator's public Reels tab. Instagram is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by Instagram or Meta.

Best fit for this Actor

  • Choose this Actor when the starting point is a public profile handle and the deliverable is the Reels tab feed: plays, likes, comments, duration, and media URLs.
  • Start with the default cap of 12 Reels per profile (one provider page), then raise maxReelsPerProfile only for the accounts that need a longer window.
  • Pair it with the Instagram Profile Scraper when you also need follower counts and bio context for the same handles, then pass selected Reel URLs to the Instagram Reels Scraper for mixed-mode jobs that include direct Reel URLs or hashtags.

Creator Reels tab monitoring

A social team tracks a handful of public creator handles. They run this Actor with usernames: ["natgeo"] and maxReelsPerProfile: 12, export play counts and captions, then schedule the same input weekly with onlyReelsNewerThan: "7 days" so each run stays a cheap, comparable snapshot. The dataset feeds a spreadsheet; RUN_SUMMARY records how many Reels were saved, filtered, or empty so the next schedule can stay aligned with budget.

Quick start input

{
"usernames": ["natgeo"],
"maxReelsPerProfile": 12,
"maxTotalReels": 100,
"providerOrder": "scrapecreators-first"
}

The quality-test sample is one public creator handle and one Reels-tab page. Profile URLs and /reels tab URLs are accepted as well.

Input reference

FieldTypeWhat it controls
usernamesstring[]Handles, @handles, profile URLs, or profile /reels URLs. Direct Reel URLs belong on the sibling Reels Actor.
maxReelsPerProfileintegerNewest-first cap per profile, default 12 (1–200). Extra pages are fetched after the first 12 items.
maxTotalReelsintegerRun-wide spend guard, default 100 (1–10000).
onlyReelsNewerThanstringOptional ISO date or relative window such as 7 days. Filtered Reels are unbilled.
skipPinnedPostsbooleanBest-effort drop of items flagged as pinned. Public Reels-tab APIs usually omit pinned slots already.
providerOrderstringscrapecreators-first (default), sociavault-first, or a -only pin. Keys are owner secrets.
includeRawDatabooleanAttach the unmodified provider item under raw. Default false.

What data you receive

One dataset item is one public Reel from the requested Reels tab.

FieldDescription
reelId / shortcode / reelUrlIdentity and canonical URL
username / ownerId / ownerVerifiedOwner identity
caption / hashtags / mentionsCaption text and parsed tags
playCount / likeCount / commentCountPublic engagement (Instagram-only plays)
durationSeconds / hasAudio / videoUrl / thumbnailUrlMedia
audioTitle / audioArtist / audioTypeOriginal or licensed audio when present
postedAt / position / provider / sourceUrlFreshness and provenance
{
"reelId": "3986021415458593743",
"shortcode": "DdRMVvHglvP",
"reelUrl": "https://www.instagram.com/reel/DdRMVvHglvP/",
"inputUsername": "natgeo",
"username": "natgeo",
"ownerId": "787132",
"ownerVerified": true,
"caption": "Hello #Nature",
"likeCount": 12,
"commentCount": 3,
"playCount": 100,
"durationSeconds": 30.5,
"hasAudio": true,
"postedAt": "2026-09-14T13:00:42.000Z",
"position": 1,
"provider": "scrapecreators",
"sourceUrl": "https://www.instagram.com/natgeo/reels/"
}

You can download the dataset as JSON, CSV, Excel, or HTML from the run's Export tab.

Use through the API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/instagram-profile-reels-scraper').call({
usernames: ['natgeo'],
maxReelsPerProfile: 12,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Inspect OUTPUT and RUN_SUMMARY for outcome, item counts, and charged events.

Use with AI agents through Apify MCP

Scrape the public Instagram Reels tab for one or more usernames. Return play count, likes, comments, duration, video URL, caption, and source URL. Cap at 12 Reels per profile. Read the dataset plus OUTPUT/RUN_SUMMARY for outcome and cost. Route direct Reel URLs to khadinakbar/instagram-reels-scraper and profile bios to khadinakbar/instagram-profile-scraper.

Connect the current client at https://mcp.apify.com. Preserve source URLs and respect maxTotalReels as the spend control.

Connect the workflow

After you have Reel URLs from this feed, use the Instagram Reels Scraper when the next job is mixed-mode (profile plus direct Reel URLs or hashtags). For the same creator's grid posts rather than Reels, continue with the Instagram Posts Scraper. Hashtag discovery belongs on the Instagram Hashtag Scraper before you choose which profiles to monitor here.

Pricing

This Actor uses Pay per event plus Apify platform usage. Open the live Pricing tab for current event details, and use Apify's run cost controls to keep the workflow aligned with your budget.

EventPrice
Actor start$0.00005
Reel saved (reel-scraped)$0.003

Empty Reels tabs, unknown handles, and filtered items receive no Reel charge. Platform usage (compute) is billed in addition to event charges. The opening status message shows the approximate maximum event cost from your input caps.

A 12-Reel quality sample is about $0.036 in named events plus platform usage.

Best results

  • Provide exact public handles, or paste the profile /reels URL.
  • Start with maxReelsPerProfile: 12, then raise the cap only for accounts that need a longer public window.
  • Use onlyReelsNewerThan: "7 days" for recurring monitors so each schedule stays comparable.
  • Confirm RUN_SUMMARY.outcome and itemsPushed before retrying an empty tab; a public profile with no Reels is a valid empty dataset.
  • Download video CDN URLs promptly when you need the files; Instagram media links expire.

Builder's note

I built this Actor because Store search for "Instagram profile Reels" often lands on mixed-mode tools that also accept hashtags and direct Reel URLs. I found the public Reels-tab providers return about 12 items per page, and a compact trim flag drops duration, video URL, audio, and the pagination cursor. The runtime therefore keeps the full page payload so agents get play counts and media URLs on the first page without a second lookup. In my testing, captions were present on the public creator sample even when older docs said they were missing.

Responsible use

Use this Actor for public Instagram Reels you are authorized to access and process. You are responsible for complying with Instagram's Terms of Service, privacy rules, and applicable laws. The Actor collects public Reels-tab fields only.