Instagram Reel Scraper — All Reels by Profile, Play Counts avatar

Instagram Reel Scraper — All Reels by Profile, Play Counts

Pricing

from $1.50 / 1,000 reels

Go to Apify Store
Instagram Reel Scraper — All Reels by Profile, Play Counts

Instagram Reel Scraper — All Reels by Profile, Play Counts

Scrape every reel on any public Instagram profile, newest first, with play counts that are actually populated. Caption, likes, comments, duration, audio, co-authors, paid-partnership flag and video URL on one row. Date cut-off and per-profile limit. No login, no cookies, no browser

Pricing

from $1.50 / 1,000 reels

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

20

Total users

18

Monthly active users

a day ago

Last modified

Share

Instagram Reel Scraper

Instagram Reel Scraper

Every reel on any public Instagram profile, newest first, with play counts that are actually populated. Give it a handle, get back caption, likes, comments, play count, duration, audio, co-authors, paid-partnership flag, tagged accounts and the video URL — one row per reel. No login, no cookies, no browser.

Why Use This Scraper?

  • Play counts on every row. Measured on @nasa, 2026-08-26: 25 of 25 reels returned a populated playCount, from 73,766 to 14,480,933.
  • The limit is the limit. Ask for 25 and the run pages until it has 25, then stops. Three upstream pages, 11.7 seconds, 25 unique reels, no duplicates.
  • Correct author on collab reels. A profile's reel feed is not uniformly its own work — those same 25 @nasa reels carried 11 distinct owner accounts, because a collab reel belongs to the partner and merely credits the profile you asked for. Every row is enriched with its own owner's follower count.
  • Stop at a date. onlyPostsNewerThan halts paging the moment a reel falls outside your window, so you are never charged for history you did not ask for.
  • Audio, co-authors and sponsorship. musicTitle, musicArtist, musicIsOriginalAudio, coauthors, sponsors and isPaidPartnership on every row.
  • One request per 12 reels. Profiles resolve once and authors are memoized per run, so 200 reels from one account do not cost 200 lookups.

Switching From Another Instagram Reel Scraper?

What you needHow this Actor answers it
Your pipeline is keyed on videoPlayCount / videoViewCountBoth ship as aliases of playCount / viewCount, same values. Nothing to rewrite.
Play counts come back null or zeroplayCount was populated on every reel measured. countsHidden is true when the creator turned counts off, so an absent number is explained rather than guessed at.
View counts look far lower than the appInstagram serves view_count as a literal 0 on this route. Reporting it would read as "no views", so it is nulled and playCount is the number that matches the app.
A run that stops early or returns a random countresultsLimit is honoured exactly, per profile. The log states how many reels came back, from how many pages, and why it stopped.
Follower counts that are wrong on collab reelsEach row carries the follower count of the reel's actual owner.
Reel audio is missingmusicId, musicTitle, musicArtist, musicIsOriginalAudio, musicUrl.
paidPartnership is not returnedisPaidPartnership, plus sponsors[] and coauthors[].

Overview

The output is reel-shaped: one row per reel, newest first. Ask for 25 reels across two profiles and you get 50 rows, with inputPost on each so they stay attributable.

Supported Inputs

InputExampleWhat you get
Bare handlenasaThat profile's reels, newest first
Profile URLhttps://www.instagram.com/nasa/Same
Many at once["nasa", "natgeo"]resultsLimit reels per profile

Private accounts and handles that do not exist return an explanatory row rather than failing the run, so one bad handle in a list of fifty does not cost you the other forty-nine.

Use Cases

  • Creator and competitor tracking — pull a rival's last 100 reels and watch play counts move week over week.
  • Influencer vetting — engagement per reel against the owner's real follower count, including on collabs.
  • Sponsorship monitoringisPaidPartnership and sponsors[] show who is running paid campaigns.
  • Audio trend researchmusicTitle and musicIsOriginalAudio across a set of accounts.
  • Content archivingvideoUrl and thumbnailUrl for reels published since a chosen date.

How It Works

Each handle resolves to an account id once, then the reel feed is paged 12 at a time until your resultsLimit is met, the profile runs out, or a reel falls outside onlyPostsNewerThan. Every reel is enriched with its own owner's profile, memoized so a repeated owner costs one lookup rather than one per row.

Pure HTTP against Instagram's own JSON, no browser and no login. A profile that is private, deleted or has no reels produces an explanatory row instead of an exception, and a run that produces nothing at all fails loudly rather than delivering an empty dataset.

Input Configuration

FieldTypeDefaultNotes
usernamesarrayrequiredHandles or profile URLs. Duplicates are dropped before anything is looked up, so you are not billed twice.
resultsLimitinteger30Max reels per profile, newest first.
onlyPostsNewerThanstringYYYY-MM-DD. Paging stops at the first reel older than this.
skipPinnedPostsbooleanfalseSkip reels pinned to the top of the profile. Pinned reels are often old, which can make newest-first ordering look wrong.
includeMediaUrlsbooleantrueVideo, thumbnail and audio URLs. Signed Instagram CDN links, valid roughly 24–36 hours after the run.
includeAuthorStatsbooleantrueOwner follower / following / post counts, bio, category, public business email and phone. Memoized per run.
includeHashtagsMentionsbooleantrueHashtags and @-mentions parsed from the caption.
includeTaggedUsersbooleantrueTagged accounts, co-authors and paid-partnership sponsors.

Example input

{
"usernames": ["nasa"],
"resultsLimit": 25,
"onlyPostsNewerThan": "2026-06-01",
"skipPinnedPosts": false
}

Output Overview

One flat row per reel, 55 fields with the default toggles on. No nested arrays to flatten except coauthors, sponsors, hashtags, mentions and taggedUsers.

Instagram withholds the usertag list on video, so reels used to come back with an empty taggedUsers even when accounts were visibly tagged in them. They are now filled from a separate lookup, batched ten reels per request.

Output Samples

A real row from @nasa, trimmed to the fields most runs care about:

{
"postId": "3971730051816042598",
"shortcode": "Dcea3BiPTBm",
"postUrl": "https://www.instagram.com/reel/Dcea3BiPTBm/",
"postType": "reel",
"caption": "Teamwork makes the dream work! High fives and cheers rang out both in space and on E…",
"createdAt": "2026-08-25T19:55:51.000Z",
"likeCount": 40868,
"commentCount": 379,
"playCount": 3066548,
"viewCount": null,
"videoPlayCount": 3066548,
"videoViewCount": null,
"durationSeconds": 41.05099868774414,
"countsHidden": false,
"isPaidPartnership": false,
"authorUsername": "nasajohnson",
"authorFullName": "NASA’s Johnson Space Center",
"authorFollowerCount": 1557735,
"coauthors": [
"astro_annimal",
"iss",
"nasa"
],
"hashtags": [],
"musicTitle": "Original audio",
"musicIsOriginalAudio": true,
"thumbnailUrl": "https://scontent-lhr6-2.cdninstagram.com/v/t51.82787-15/784389248_18617945356026724_6029818964473376604_n.jpg?…",
"videoUrl": "https://scontent-lhr11-1.cdninstagram.com/o1/v/t2/f2/m86/AQPY7jNyIzyetpKDGsbUOOsc_a6SxYqJzyHzDiFe9bNN5dUTFwCLyBasOsxb94eTAMiU-cFyqjqwJ5vkjEDU6JCZaWd7e_sNX85dcdI.mp4?…",
"inputPost": "nasa"
}

Key Output Fields

FieldNotes
playCountTimes the reel was played. Populated on every reel measured. Mirrored as videoPlayCount.
viewCountnull by design — Instagram serves a literal 0 on this route, and playCount is the number that matches the app. Mirrored as videoViewCount.
countsHiddentrue when the creator disabled like and view counts, so a missing number is explained rather than guessed at.
authorUsername / authorFollowerCountThe reel's actual owner, which on a collab reel is the partner account rather than the profile you requested.
coauthors[]Joint owners credited on the reel, including the profile you asked for when it is a collab.
isPaidPartnership / sponsors[]Sponsorship disclosure.
musicTitle / musicArtist / musicIsOriginalAudioLicensed track, or the creator's own audio.
durationSecondsReel length in seconds.
videoUrl / thumbnailUrlSigned Instagram CDN links, valid roughly 24–36 hours after the run.
inputPostThe handle you supplied, so rows from a multi-profile run stay attributable.

FAQ

Does it get every reel on a profile? It pages newest-first until your resultsLimit is met or the profile runs out. Raise resultsLimit to go deeper; the log tells you which of the two stopped the run.

Why do some rows show a different author than the profile I asked for? Collab reels are owned by the partner account and merely credit the profile. Measured on @nasa, 25 reels carried 11 distinct owners. Each row is enriched with its own owner's stats, and coauthors[] shows the credited accounts.

Why is viewCount null when playCount has a number? Instagram does not populate view_count on this route — it returns a literal 0. Reporting 0 would read as "no views", so it is nulled. playCount is the real metric.

Do I need to log in or provide cookies? No. Only public profiles are read, and no account is used.

Does it work on private profiles? No. A private profile returns an explanatory row rather than failing the run, so one private handle in a long list does not cost you the rest.

Am I charged twice if I list the same profile twice? No. Handles are de-duplicated before anything is looked up.

Can I restrict it to recent reels? Yes. onlyPostsNewerThan takes YYYY-MM-DD and stops paging at the first reel older than that date.

Why is a media URL not loading later? videoUrl and thumbnailUrl are signed Instagram CDN links that expire roughly 24–36 hours after the run. Download promptly, or use the Instagram Video Downloader actor for permanent copies.

Support

Open an issue on the Actor's Issues tab. Bug reports with a run id get looked at first.

Additional Services

Need a custom scraper, a scheduled feed, or this data delivered somewhere specific? Get in touch through the Apify Store profile.

Explore More Scrapers

🤖 For AI Agents & LLM Apps

Purpose: Return every reel on a public Instagram profile, newest first — caption, play count, engagement, the reel owner's follower stats, co-authors, sponsorship, hashtags, audio and media URLs.

Minimal tested input:

{ "usernames": ["nasa"], "resultsLimit": 25 }

Output: array of flat objects, one per reel. Core fields: postId, shortcode, postUrl, postType, caption, createdAt, likeCount, commentCount, playCount (aliased videoPlayCount), viewCount (aliased videoViewCount, null by design), durationSeconds, countsHidden, isPaidPartnership, authorUsername, authorFullName, authorFollowerCount, coauthors[], sponsors[], hashtags[], mentions[], taggedUsers[], musicId, musicTitle, musicArtist, musicIsOriginalAudio, thumbnailUrl, videoUrl, musicUrl, inputPost, scrapedAt.

Billing: per delivered row. resultsLimit is the per-profile cap and doubles as the spend control. A run that returns nothing charges for nothing.

Agent-relevant behaviour: authorUsername is the reel's owner, which on a collab reel differs from the requested profile — join on inputPost if you need the requested handle. viewCount is intentionally null; use playCount. Media URLs expire in roughly 24–36 hours.

⚠️ Disclaimer

This Actor reads only publicly available Instagram data — no login, no cookies, no private content. You are responsible for using the output lawfully, including under the GDPR, the CCPA and Instagram's terms where they apply to you. Nothing here is legal advice. Media URLs point at Instagram's own CDN and the underlying content remains the property of its creators.

SEO Keywords

instagram reel scraper, scrape instagram reels, instagram reels by profile, instagram reel play count, instagram reels api, instagram video scraper, instagram engagement scraper, instagram stats scraper, instagram metadata extractor, instagram caption scraper, instagram hashtag extractor, instagram tagged users scraper, instagram influencer data, instagram reel metrics, instagram reels export, instagram reels json, instagram reels to csv, instagram content analysis, instagram collab reels, instagram paid partnership scraper, instagram audio scraper, apify instagram reel scraper