Instagram Reels Scraper API - Play Counts, MP4 URLs avatar

Instagram Reels Scraper API - Play Counts, MP4 URLs

Pricing

from $1.50 / 1,000 post (image or carousel)s

Go to Apify Store
Instagram Reels Scraper API - Play Counts, MP4 URLs

Instagram Reels Scraper API - Play Counts, MP4 URLs

Scrape the reels from any public Instagram profile: exact play, like and comment counts, duration, sound, caption and the direct MP4 URL with dimensions. Posts are skipped and never billed. No login.

Pricing

from $1.50 / 1,000 post (image or carousel)s

Rating

0.0

(0)

Developer

Blackcube

Blackcube

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

The Instagram suite

Paste Instagram usernames and get their reels: exact play, like and comment counts, duration, sound, caption and the direct MP4 URL. Image posts are skipped and never billed. No login, no cookies, no proxy to configure — it reads the public feed Instagram shows to anyone. Failures are free: a profile that is private, missing or empty costs nothing and returns a row saying which.

Exact numbers, not display numbers. Instagram's page says "1.4M likes" and "46M plays"; the rows carry 1,487,695 and 46,522,596.

Quick start

  1. Press Start — the defaults are a working run.
  2. Replace them with your own usernames or profile URLs (nasa, @nasa and https://www.instagram.com/nasa/ all work), one per line.
  3. Take the dataset as JSON, CSV or Excel, or via the API. Every row has a type; the free coverage row says what was asked for and what arrived.

What people use it for

  • Short-video research. Which reels a creator or brand posts, how each performs, and the file itself for analysis or transcription.
  • Influencer vetting. Engagement per post over the newest posts, paid-partnership flags, co-authored posts, verified status.
  • Archiving and datasets. Captions, hashtags, mentions, dates, locations and media URLs for a list of profiles, newest first, as far back as you ask.
  • Feeding an AI agent or workflow. One flat schema, a type on every row, and a free coverage row that says what was asked for and what arrived.

What the rows look like

A reel row

{
"type": "reel",
"profile": "cristiano",
"shortcode": "Dcgs4DvIr3u",
"url": "https://www.instagram.com/reel/Dcgs4DvIr3u/",
"mediaType": "video",
"productType": "clips",
"likeCount": 1487695,
"commentCount": 18722,
"playCount": 46522596,
"videoDurationSec": 21.68,
"hasAudio": true,
"media": [{ "kind": "video", "url": "https://instagram.f...fbcdn.net/o1/v/t2/f2/m86/....mp4", "width": 720, "height": 1280, "id": null }],
"music": { "title": "Original audio", "artist": "cristiano", "isOriginal": true }
}

playCount is Instagram's exact play count for the reel. Media URLs are signed by Instagram and expire after a few hours — download during the run, or turn them off.

What it costs

You pay forPrice
Each reel or video post delivered (play count, duration, sound and the MP4 URL included)$2.00 per 1,000 reels
Each profile feed read (only when at least one post from it was delivered; never counted against your result cap)$2.00 per 1,000 profiles
Optional monthly pass: 30 days with no per-row charges, charged once, no automatic renewal$19.00

Free, always: a profile that does not exist, is private or has no posts, every post that is not a reel, a post skipped by your content or date filter, a post you already received on a monitoring run whose numbers did not move, a malformed input, every error row, the coverage row and the run summary. A run that reads nothing costs nothing.

The monthly pass is for heavy use: turn it on and the run charges it once after it has read at least one profile, then every run you start with it on for the next 30 days delivers posts, reels and feed checks without per-row charges. It pays for itself above roughly 5,000 posts or 3,000 profile checks a month. It is never charged silently — only when you run with it on and no pass is active.

Set Cost ceiling (USD) to stop any run before it passes a number you choose; the free summary row reports what the run actually spent.

FAQ

Do I need an Instagram login, cookies or a proxy?

No. This Actor reads the public feed Instagram serves to anyone, and it never signs in, never sends a cookie and never uses a session. Everything is handled for you and there is nothing to buy on top.

Can I get follower counts, the bio, stories or comments?

Not from this Actor, and it says so rather than pretending. Instagram only shows those to signed-in accounts; every row does carry the poster's username, full name, verified and private flags. What you get is the feed itself: every post and reel with exact like, comment and play counts, captions, media and dates.

How far back can I go?

As far as the profile's public feed goes, 12 posts per page. Set Newest posts per profile for a depth, or Only posts from the last N days to stop at a date. Pinned posts sit first regardless of date and do not end the walk.

What happens to a profile that is private, missing or has no posts?

It costs nothing. You get a free error row that says which (private, not-found, no-posts), and the run keeps going.

Does a run fail if everything I asked for is gone?

No. "All of these are private or deleted" is a correct answer, not a failure, so the run succeeds and returns free rows explaining each one. Only Instagram actually refusing us fails a run.

Can I put this on a schedule without paying twice for the same posts?

Yes. Turn Monitor on. Delivered posts and the counts seen are remembered per profile in a named store; a post whose numbers have not moved comes back as a free row marked unchanged, and each profile read is billed as one feed check.

How does the monthly pass work?

Turn Monthly pass on. The run charges it once, after it has read at least one profile, and for 30 days every run you start with it on delivers rows and feed checks without per-row charges. It is never renewed automatically — it is charged again only when you run with it on after it expired.

Will I be charged twice if the same post appears twice?

No. A collaboration post that appears in two co-authors' feeds, or a profile you listed twice under two spellings, is one row and one charge.

Limits, stated plainly

Instagram shows follower and following counts, the bio, stories, highlights, the comments under a post, hashtag and location pages, and search only to signed-in accounts (measured 2026-09-02 from two independent networks). This Actor reads public feeds only and never signs in, so it sells none of those — and says so here rather than on your invoice.

Media URLs are signed by Instagram and expire after a few hours. A private account's posts are not readable at all; the row says private.

Like counts an author has hidden come back as null, never as zero.

Use it from n8n, MCP, the API or a schedule

Built to be called by a workflow, not only from the Store form. The Actor is vonsensey/instagram-reels-scraper-api; every snippet below sends {}, which runs the defaults shown on the form — replace it with your own input.

n8n

Install the Apify community node (@apify/n8n-nodes-apify under Settings → Community Nodes, or search "Apify" on n8n Cloud). Add Apify → Run Actor with Actor vonsensey/instagram-reels-scraper-api and your input JSON, then Apify → Get Dataset Items on the run's defaultDatasetId and pipe the rows anywhere. For scheduled runs, the On new Apify Event trigger fires when a run of this Actor finishes.

MCP (Claude, Cursor, VS Code, any MCP client)

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vonsensey/instagram-reels-scraper-api",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
}

Your agent then calls vonsensey/instagram-reels-scraper-api as a tool with the same input the form takes and reads the dataset back.

REST API (one call, rows in the response)

curl -X POST "https://api.apify.com/v2/acts/vonsensey~instagram-reels-scraper-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d '{}'

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("vonsensey/instagram-reels-scraper-api").call(run_input={})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('vonsensey/instagram-reels-scraper-api').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Make, Zapier, LangChain, CrewAI

The Apify app in Make and Zapier has a Run an Actor module: pick vonsensey/instagram-reels-scraper-api. In LangChain and CrewAI the Apify tool wrappers take the same Actor id. A daily schedule needs nothing but the Console: Schedules → Create → this Actor → cron, and the dataset fills on its own.