# Instagram Reels Scraper Pro (`codenest/instagram-reels-scraper-pro`) Actor

Scrape thousands of Instagram Reels in just minutes with complete metadata - profile data, follower counts, video URLs, views, reactions, comments, upload times, thumbnails & downloadable CDN links etc.

- **URL**: https://apify.com/codenest/instagram-reels-scraper-pro.md
- **Developed by:** [CodeNest](https://apify.com/codenest) (community)
- **Categories:** Social media, Videos, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event + usage

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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 Pro - Ultimate Profile-Based Reels Extractor

**Effortlessly scrape and download thousands of Instagram Reels from any profile with our powerful **Instagram Reels Scraper Pro**! This Apify actor enables bulk extraction of Reels videos, complete metadata, engagement metrics, and comprehensive profile information.**

***

### 📋 Overview

Need to archive Instagram Reels content, analyze viral trends, or repurpose videos? This **Instagram Reels Scraper Pro** delivers:

- 📱 **Profile-Based Scraping** - Extract Reels from any Instagram profile/page
- 🎬 **Bulk Video Download** - Get downloadable URLs for all Reels
- 📊 **Rich Engagement Data** - Views, reactions, comments, descriptions
- ⚡ **High Performance** - Concurrent scraping with customizable limits
- 🔍 **Complete Profile Metadata** - Bio, followers, following, profile photos
- 🌐 **Proxy Support** - Built-in Apify proxy integration for reliable scraping

Perfect for social media managers 📈, content creators 🎭, marketers 📊, and data analysts 🔬!

***

### ⭐ Core Capabilities of Instagram Reels Scraper Pro

#### 🎯 Profile Extraction

- **Multiple Profile Support** - Scrape from multiple Instagram profiles simultaneously
- **Complete Profile Data** - Bio, follower counts, profile/cover photos
- **Verification Status** - Detect verified accounts
- **Rich Metadata** - Full name, bio, posts count, and more

#### 📱 Reels Data Mastery

- **Downloadable Video URLs** - Direct CDN links for all Reels
- **Engagement Metrics** - Views, reactions, comments (formatted K/M/B)
- **Content Descriptions** - Captions and hashtags
- **Temporal Data** - Upload timestamps and durations
- **Thumbnail Extraction** - High-quality cover images

#### ⚡ Technical Features

- **Concurrency Control** - Adjustable parallel processing (1-10 threads)
- **Maximum Reels Limit** - Set per-profile extraction limits
- **Proxy Configuration** - Built-in Apify proxy support
- **Session Management** - Optional session persistence
- **JSON Output** - Clean structured data with optional file export
- **Error Resilience** - Individual profile failures don't stop batch

***

### ⚙️ Input Configuration

Simply enter Instagram profile URLs, configure limits, and click "Start". Input looks like this:

```json
{
  "headless": true,
  "maxReels": 30,
  "profileUrls": [
    "https://www.instagram.com/nba/",
    "nasa"
  ],
  "outputFile": "reels_data.json",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "sessionId": ""
}
```

#### 📝 Input Specifications

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `profileUrls` | Array | ✅ Yes | - | Instagram profile URLs or usernames to scrape |
| `maxReels` | Integer | ❌ No | 30 | Maximum Reels to extract per profile |
| `headless` | Boolean | ❌ No | true | Run browser in headless mode |
| `outputFile` | String | ❌ No | "reels\_data.json" | Output filename for JSON export |
| `proxyConfiguration.useApifyProxy` | Boolean | ❌ No | true | Enable Apify proxy rotation |
| `sessionId` | String | ❌ No | "" | Session ID for cookie persistence |

***

### 📤 Output Structure

Your **Instagram Reels Scraper Pro** produces comprehensive output with profile metadata and Reels data:

```json
[
  {
    "profile_url": "https://www.instagram.com/nba",
    "scraped_at": "2026-07-08T06:46:58.608924Z",
    "profile_metadata": {
      "username": "nba",
      "full_name": "NBA",
      "biography_clean": "Watch NBA Summer League action in Las Vegas: 7/9-7/19 on Prime and ESPN platforms!",
      "followers_count": 88390204,
      "following_count": 1305,
      "posts_count": 104797,
      "profile_pic_url_hq": "https://scontent...",
      "is_verified": true,
      "page_title": "NBA (@nba) • Instagram photos and videos"
    },
    "total_reels_scraped": 30,
    "reels": [
      {
        "reels num ": 1,
        "version": "1.0",
        "title": "@kingjames STEAL and THREE with 13.1 seconds left!",
        "author_name": "nba",
        "author_url": "https://www.instagram.com/nba",
        "author_id": 20824486,
        "media_id": "3882791015678104760_20824486",
        "provider_name": "Instagram",
        "provider_url": "https://www.instagram.com",
        "type": "rich",
        "width": 658,
        "height": null,
        "thumbnail_url": "https://scontent...",
        "thumbnail_width": 640,
        "thumbnail_height": 1136,
        "reel_url": "https://www.instagram.com/reel/DXicdtaklS4/",
        "shortcode": "DXicdtaklS4",
        "reel_downloadable_url": "https://scontent-lga3-3.cdninstagram.com/...",
        "reactions": "942.7K",
        "comments": "11.9K",
        "views": "24.6M",
        "upload_time": "2026-04-25T02:40:45Z"
      }
    ]
  }
]
```

#### 📖 Output Field Documentation

**🔹 Profile Metadata**
| Field | Description |
|-------|-------------|
| `username` | Instagram username |
| `full_name` | Display name on profile |
| `biography_clean` | Profile bio/description (cleaned) |
| `followers_count` | Total followers (integer) |
| `following_count` | Total following (integer) |
| `posts_count` | Total posts count (integer) |
| `profile_pic_url_hq` | High-resolution profile picture URL |
| `is_verified` | Boolean indicating verified status |
| `page_title` | Full page title with username |

**🔹 Reels Data**
| Field | Description |
|-------|-------------|
| `reels num` | Sequential Reels number (1-∞) |
| `reel_url` | Direct Instagram Reel URL |
| `shortcode` | Unique Reel shortcode identifier |
| `reel_downloadable_url` | Direct video download URL (CDN) |
| `title` | Reel caption/description |
| `author_name` | Content creator username |
| `author_id` | Instagram author ID |
| `media_id` | Unique media identifier |
| `thumbnail_url` | High-quality cover image |
| `reactions` | Like/reaction count (formatted) |
| `comments` | Comment count (formatted) |
| `views` | View count (formatted with K/M/B) |
| `upload_time` | ISO 8601 timestamp of upload |

***

### 🎨 Key Features of This Instagram Reels Scraper Pro

#### 📊 Engagement Analytics

- **View Counts** - Formatted with K (thousands), M (millions), B (billions)
- **Reaction Metrics** - Like and engagement data
- **Cross-Profile Comparison** - Analyze performance across multiple creators
- **Temporal Analysis** - Track upload patterns and timing

#### 🎬 Video Quality

- **Direct CDN Access** - Highest quality Instagram delivers
- **No Compression** - Preserves original video quality
- **Thumbnail Extraction** - High-resolution cover images
- **Duration Detection** - Automatic length extraction

#### 🔍 Profile Intelligence

- **Follower Insights** - Growth metrics and audience size
- **Verification Status** - Authenticity detection
- **Rich Bio Data** - Complete profile information
- **Post Count Analysis** - Content volume tracking

#### 🌐 Proxy & Security

- **Built-in Proxy Support** - Apify proxy rotation for reliability
- **Session Management** - Cookie persistence for consistent scraping
- **Rate Limiting** - Smart request throttling
- **Headless Mode** - Efficient resource usage

***

### 💡 Use Cases for Instagram Reels Scraper Pro

- **📱 Social Media Managers** - Archive client Reels content
- **📊 Competitor Analysis** - Track engagement and content strategies
- **🎬 Content Curators** - Gather trending Reels for repurposing
- **🔬 Researchers** - Study viral content patterns and engagement
- **📈 Marketing Analysts** - Benchmark performance metrics
- **🤖 AI Trainers** - Build datasets for video understanding models
- **📚 Educators** - Create case studies from successful Reels
- **💰 Influencer Marketing** - Analyze potential partnerships

***

### ✨ Why Choose Our Instagram Reels Scraper Pro?

- **⚡ Blazing Fast** - Concurrent scraping with optimized browser automation
- **🎯 100% Accurate** - Preserves all metadata without alteration
- **🔄 Regular Updates** - Adapts to Instagram platform changes automatically
- **📦 Complete Data** - Everything from profile info to video URLs
- **🛡️ Production Ready** - Battle-tested with thousands of profiles
- **💰 Cost Efficient** - Optimized to minimize compute time and resources
- **🔒 Privacy Focused** - No personal data stored or shared

***

### ⚠️ Limitations

- Only works with public Instagram profiles (non-private content)
- Some profiles may have rate limiting or access restrictions
- Extremely high concurrency (15+) may trigger Instagram security
- Requires valid profile URLs or usernames
- Reels older than 30 days may have limited availability

***

### 📧 Need Custom Features for Your Instagram Reels Scraper Pro?

Want **higher concurrency limits**, **specific metadata fields**, **custom output formats**, **enhanced filtering**, or **advanced analytics**?

✉️ Email **<codenest2.0@gmail.com>** for tailored enterprise solutions!

***

# Actor input Schema

## `profileUrls` (type: `array`):

Enter one or more Instagram profile URLs to scrape. Example: https://www.instagram.com/nba/reels/

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

Maximum number of reels to try to scrape per profile. The scraper will keep scrolling until this target is met or no more reels are available. Default is 50.

## `headless` (type: `boolean`):

Run Playwright browser in headless mode (no visible window). Default is true.

## `outputFile` (type: `string`):

Name of the output JSON file. Default is reels\_data.json.

## `proxyConfiguration` (type: `object`):

Select proxies to be used by the scraper.

## `sessionId` (type: `string`):

Optional: Your Instagram sessionid cookie value. Highly recommended to bypass login prompts.

## Actor input object example

```json
{
  "profileUrls": [],
  "maxReels": 50,
  "headless": true,
  "outputFile": "reels_data.json",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "sessionId": ""
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("codenest/instagram-reels-scraper-pro").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("codenest/instagram-reels-scraper-pro").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 '{}' |
apify call codenest/instagram-reels-scraper-pro --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/bCyQq5f7CfKxS6CNE/builds/RwfHF8qpAFeR2qPDb/openapi.json
