# Instagram Reels Scraper: Views, Likes & Audio (`scrapers_lat/instagram-reels-scraper`) Actor

Scrape public Instagram reels by username or reel URL, no login. Extract view count, likes, comments, duration, caption, audio track, thumbnail and video URL. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/instagram-reels-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Social media, Automation, Developer tools
- **Stats:** 17 total users, 12 monthly users, 96.4% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.15 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![Instagram Reels Scraper: Views, Likes & Audio](https://scrapers.lat/banners/instagram-reels-scraper.png)](https://console.apify.com/actors/OutLzQdBEAfO2Kv8A/input)

## Instagram Reels Scraper: Views, Likes & Audio

> Extract public Instagram reels by username or reel URL with the most complete field set on the market: views and plays, likes, comments, a ready-to-use engagement rate, paid-partnership detection, duration, caption, hashtags, mentions, audio track, tagged users, location, the owner's follower count and contact details, and the direct video URL. No login required.

**📥 [Input](https://apify.com/scrapers_lat/instagram-reels-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/instagram-reels-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/instagram-reels-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/instagram-reels-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Global-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>48+ fields</strong><br>per reel</td>
<td align="center"><strong>Filter and sort</strong><br>date, views, likes</td>
<td align="center"><strong>Global</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

<br>

### What you get on every reel

The richest reel record available, in one flat row ready for a spreadsheet or database:

- **Engagement**: view count, play count, like count, comment count, a computed engagement rate (interactions over followers, ready to sort and benchmark), plus flags for hidden counts and disabled comments.
- **Sponsorship**: a paid-partnership flag and the sponsor handle when a reel is branded content, for influencer-marketing intelligence.
- **Content**: caption, hashtags, mentions, accessibility alt text, thumbnail and display images, dimensions and duration.
- **Video and audio**: the direct video URL, audio title, artist, audio id, whether it is original audio, and a structured music object.
- **Creator**: owner username, id, full name, verified badge, follower count, following and post counts, profile picture, bio, category, external link and public business email and phone when the account lists them.
- **Context**: tagged users (with their username, id, verified badge and picture), coauthors, location name and id, pinned status, reshareable flag, product type and the exact post timestamp.

### Filter and sort before you pay

Optional inputs let you keep only the reels you need and order them, so your result limit is spent on the reels that matter:

- **Date range**: `onlyPostsNewerThan` and `onlyPostsOlderThan` accept absolute dates (2026-01-31) or relative windows (7 days, 3 months).
- **Thresholds**: `minLikes` and `minViews` drop reels below your bar.
- **Skip pinned**: exclude reels an account has pinned to the top.
- **Sort by**: most recent, oldest, most views, most plays, most likes or most comments.

### Who is it for

| Use case | Who benefits |
|---|---|
| Track reel views and engagement over time | Social media analysts |
| Monitor a competitor's reel output | Brand and growth teams |
| Collect reels for trend and audio research | Content strategists |
| Archive a creator's reels with video URLs | Agencies and researchers |
| Pull specific reels by URL for reporting | Marketers and journalists |

### Frequently Asked Questions

**Which Instagram reels can this scraper collect?**
It collects public reels only, no login needed. Pass one or more public usernames to get the reels from an account's recent public media, or pass specific reel URLs or shortcodes to fetch those exact reels with view count, likes, comments, duration and the video URL.

**How many reels can I get per profile?**
Instagram exposes the reels among each account's most recent public media without login, so a profile typically returns its recent reels rather than the full historical archive. For higher volume, pass several usernames at once, or supply specific reel URLs for the exact reels you need.

**Can I scrape a single reel by its link?**
Yes. Put the reel link (for example https://www.instagram.com/reel/CxAbCdEfGhi/) in the Reel URLs field, or just the shortcode in the Reel Shortcodes field. Post and TV links are also accepted.

**Does it return the video file and the audio used?**
Every reel includes a direct videoUrl to the MP4, a thumbnail image, and the audio details (musicTitle, musicArtist, audio id, and whether it is original audio). Video links are time limited by Instagram, so download them soon after the run.

**Does it include the creator's follower count and contact details?**
Yes. Each reel carries the owner's follower count, following and post counts, verified status, profile picture, bio, category and external link. When the account has listed a public business email or phone number, those are included too, so you can build creator and lead lists in one pass.

**Can I filter by date or sort by views?**
Yes. Use onlyPostsNewerThan and onlyPostsOlderThan for a date range, minLikes and minViews for thresholds, skipPinnedPosts to drop pinned reels, and sortBy to order results by recency, views, plays, likes or comments. A note on views: Instagram hides the view count on many reels and returns it as null or zero, so view based filtering and sorting only apply to reels where the platform still exposes that number. Likes, comments and dates are available on every reel.

**What happens with private accounts or missing reels?**
Private accounts and accounts with no public reels return a clear error record instead of failing the run, so your dataset always tells you what was and was not available.

### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [National Geographic Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-natgeo): Scrape National Geographic (@natgeo) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.
- [Nike Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-nike): Scrape Nike (@nike) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.
- [NASA Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-nasa): Scrape NASA (@nasa) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.
- [GoPro Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-gopro): Scrape GoPro (@gopro) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.
- [Red Bull Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-redbull): Scrape Red Bull (@redbull) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.
- [NBA Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-nba): Scrape NBA (@nba) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.
- [Netflix Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-netflix): Scrape Netflix (@netflix) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.
- [Spotify Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-spotify): Scrape Spotify (@spotify) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.
- [Adidas Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-adidas): Scrape Adidas (@adidas) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.
- [Starbucks Instagram Reels Scraper](https://apify.com/scrapers_lat/instagram-reels-scraper/examples/instagram-reels-starbucks): Scrape Starbucks (@starbucks) latest public Instagram reels with view counts, likes, comments, captions, audio, duration and video URLs.

### Export, API and AI agents (x402 + MCP)

Export the scraped data to **JSON, CSV or Excel**, pull it as a **dataset** through the Apify **API**, or wire it into your app with **no code**. This web scraper and data extractor also works for bulk data extraction and scheduled runs.

For AI agents: this Actor is available on **x402**, Apify's agentic payment standard built with Coinbase. An AI agent can discover, pay for and run it on its own with a funded wallet and a single HTTP request: no account, no subscription, no API key and no human in the loop. It also runs as an **MCP** tool inside Claude, Cursor and other AI clients out of the box. Learn more about [x402 agentic payments on Apify](https://docs.apify.com/platform/integrations/x402).

### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [Instagram Profile & Posts Scraper](https://apify.com/scrapers_lat/instagram-scraper): Public Instagram profiles, followers and recent posts, no login.
- [TikTok Creative Center Top Ads Scraper](https://apify.com/scrapers_lat/tiktok-creative-center-scraper): Trending TikTok ads and creative insights by region and industry.
- [YouTube Video & Channel Data Scraper](https://apify.com/scrapers_lat/youtube-scraper): Video stats, channel details and metadata from YouTube.
- [X (Twitter) Tweets & Profiles Scraper](https://apify.com/scrapers_lat/x-twitter-scraper): Tweets, profiles and engagement metrics from X.
- [Reddit Posts & Comments Scraper](https://apify.com/scrapers_lat/reddit-scraper): Posts, comments and scores from any subreddit or thread.
- [LinkedIn Jobs, Company & Seniority Scraper](https://apify.com/scrapers_lat/linkedin-jobs-scraper): Job listings with company and seniority detail from LinkedIn.

### Why teams choose this scraper

- **You are never charged for empty or failed runs** — you only pay for data you actually receive.
- **Maintained and monitored** — if the source site changes, we fix it fast.
- **Clean, typed output** — one record per result, ready for your CRM, spreadsheet or database.

If this scraper saves you time, a quick ⭐ review on Apify helps other people find it and helps us keep improving it.

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> This actor is an independent tool and has no affiliation with Instagram. It only accesses data that is publicly available on the platform. Use it in accordance with Instagram's terms of service.

# Actor input Schema

## `maxReels` (type: `integer`):

Maximum number of reels to collect across all inputs. Optional.

## `withDetails` (type: `boolean`):

When enabled, each reel found on a profile is enriched from its public reel page to add the video duration and confirm the view count and video URL. Turn off for a faster, lighter run that uses only the profile listing.

## `usernames` (type: `array`):

Public Instagram usernames to scrape reels from (without the @). Instagram exposes the reels among each account's most recent public media without login, so a profile returns the reels it has posted recently. Only public accounts are supported; private accounts return an error record.

## `reelUrls` (type: `array`):

Specific reel links to scrape, for example https://www.instagram.com/reel/CxAbCdEfGhi/. Post and TV links (/p/, /tv/) are also accepted. Each URL returns one reel record with view count, likes, comments, duration, caption, audio and the video URL.

## `shortcodes` (type: `array`):

Reel shortcodes (the code in a reel URL, for example CxAbCdEfGhi) as an alternative to full URLs.

## `onlyPostsNewerThan` (type: `string`):

Keep only reels posted after this point. Accepts an absolute date (2026-01-31 or a full ISO timestamp) or a relative window such as "7 days", "2 weeks" or "3 months". Leave empty for no lower bound.

## `onlyPostsOlderThan` (type: `string`):

Keep only reels posted before this point. Accepts an absolute date (2026-01-31 or a full ISO timestamp) or a relative window such as "7 days" or "6 months". Combine with the newer-than filter to target a date range.

## `minViews` (type: `integer`):

Keep only reels with at least this many views. Note: Instagram hides the view count on many reels (it is returned as null or 0), and those reels are excluded when this filter is set.

## `minLikes` (type: `integer`):

Keep only reels with at least this many likes.

## `skipPinnedPosts` (type: `boolean`):

Exclude reels the account has pinned to the top of its profile.

## `sortBy` (type: `string`):

Order the collected reels before the results limit is applied. "Most recent" is the default Instagram order. Sorting by views depends on Instagram exposing the view count, which is not available for every reel.

## Actor input object example

```json
{
  "maxReels": 10,
  "withDetails": true,
  "usernames": [
    "natgeo"
  ],
  "skipPinnedPosts": false,
  "sortBy": "recent"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxReels": 10,
    "usernames": [
        "natgeo"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/instagram-reels-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxReels": 10,
    "usernames": ["natgeo"],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/instagram-reels-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxReels": 10,
  "usernames": [
    "natgeo"
  ]
}' |
apify call scrapers_lat/instagram-reels-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/instagram-reels-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/OutLzQdBEAfO2Kv8A/builds/46n8AhDqpT3JBtm71/openapi.json
