# Instagram Video Downloader (`codenest/instagram-video-downloader`) Actor

Effortlessly download  high-quality Instagram videos with complete engagement analytics, including likes, comments, user details, and captions. Access direct CDN links for high-quality videos and thumbnails for professional media analysis and content archiving.🚀Instagram Video Downloader.

- **URL**: https://apify.com/codenest/instagram-video-downloader.md
- **Developed by:** [CodeNest](https://apify.com/codenest) (community)
- **Categories:** Videos, Social media, Automation
- **Stats:** 7 total users, 0 monthly users, 44.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Instagram Video Downloader - Professional Media Extraction Tool

**🚀 Effortlessly download Instagram videos with our enterprise-grade powerful actor! This Instagram Video Downloader enables you to extract videos from posts while preserving high quality, comprehensive metadata, and direct CDN access.**

***

### 📊 Overview

Need to archive Instagram content or repurpose videos? This **Instagram Video Downloader** delivers:

- 📹 Direct video downloads from Instagram posts
- 🔍 Full metadata extraction (likes, comments, descriptions)
- 👤 Creator information and upload dates
- 🖼️ High-quality thumbnails included
- 🔗 Direct CDN access for reliable downloads

Perfect for marketers 📈, content agencies 🎬, and social media analysts 📊!

### ⚡ Core Capabilities/Key Features

#### 🎯 Media Options

- **Video Downloads**: Direct MP4 video URLs from Instagram posts
- **Thumbnail Extraction**: High-quality preview images
- **Bulk Processing**: Handle multiple Instagram posts per run
- **Quality Preservation**: Original video quality maintained

#### 📋 Metadata Mastery

- **Engagement Metrics**: Likes, comments count
- **Content Analysis**: Descriptions and captions
- **Creator Details**: Usernames and user IDs
- **Timeline Data**: Upload dates in readable format

#### 🔧 Advanced Tech

- **Direct CDN Links**: Bypass Instagram app restrictions
- **URL Validation**: Smart Instagram URL processing
- **Structured Output**: Organized JSON data format

***

### ⌨️ Input Configuration

Just enter the Instagram post URLs in the Input Section then click the "start" button and wait for the results. The **Instagram Video Downloader** accepts URLs like this:

```json
{
  "key_value": false,
  "post_urls": [
    {
      "url": "https://www.instagram.com/p/DM-qZyuxRpf/?utm_source=ig_web_copy_link",
      "method": "GET"
    }
  ]
}
```

#### 🛠️ Input Specifications

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `post_urls` | Array | ✅ Yes | Instagram post URLs to process |
| `url` | String | ✅ Yes | Valid Instagram post URL (p/ format) |
| `method` | String | ✅ Yes | HTTP method (GET recommended) |
| `key_value` | Boolean | ❌ No | Additional configuration option |

***

### 📤 Output Structure

The **Instagram Video Downloader** provides comprehensive output:

```json
[
  {
    "post_url": "https://www.instagram.com/p/DM-qZyuxRpf/?utm_source=ig_web_copy_link",
    "user_id": "20824486",
    "likes": 162000,
    "comments": 155,
    "hashtags": [],
    "description": "A Statue of Liberty slam from Victor Wembanyama through the lens of @natlyphoto 👽🗽 Is this your pick for Photo of the Year? Use your NBA ID to vote for Wemby's picture-perfect dunk, now on the NBA App!.",
    "caption": "NBA on Instagram: \"A Statue of Liberty slam from Victor Wembanyama through the lens of @natlyphoto 👽🗽\n\nIs this your pick for Photo of the Year? Use your NBA ID to vote for Wemby's picture-perfect dunk, now on the NBA App!\"",
    "username": "nba",
    "upload_date": "August 5, 2025",
    "videos": [
      {
        "video_url": "https://scontent-sjc6-1.cdninstagram.com/o1/v/t16/f2/m84/AQM1K8jlvRf1-9aZxju1CYDCZ8cBn3peAa7YDNROa4JqTG4JmU3OsqhjCTImMOKEknfs6uVO2X0quSnd4Z68W90z-OWi9U3Nu5j2UA0.mp4",
        "thumbnail_url": "https://scontent-sjc6-1.cdninstagram.com/v/t51.2885-15/527599169_18574921039024487_1261849078471129411_n.jpg"
      }
    ]
  }
]
```

#### 📊 Output Field Documentation

**📝 Post Metadata**
| Field | Description |
|-------|-------------|
| `post_url` | Original Instagram post URL |
| `user_id` | Unique Instagram user identifier |
| `username` | Content creator's Instagram handle |
| `upload_date` | Human-readable publication date |
| `likes` | Number of likes on the post |
| `comments` | Number of comments on the post |

**📄 Content Information**
| Field | Description |
|-------|-------------|
| `description` | Full post description text |
| `caption` | Post caption with formatting |
| `hashtags` | Array of associated hashtags |

**🎬 Media Assets**
| Field | Description |
|-------|-------------|
| `video_url` | Direct video download URL |
| `thumbnail_url` | High-quality preview image |

***

### 💎 Quality & Reliability

#### 🎯 Video Quality Features

- **Original Resolution**: Maintains source video quality
- **Direct CDN Access**: Bypasses compression
- **Fast Downloads**: Optimized URL extraction
- **Reliable Links**: Validated video URLs

#### 🔒 Reliability Features

- **Structured Data Output**: Consistent JSON format
- **Error Handling**: Comprehensive validation
- **URL Normalization**: Handles various Instagram URL formats
- **Metadata Accuracy**: Precise engagement metrics

***

### 🎯 Use Cases

This **Instagram Video Downloader** is perfect for:

- **Content Creators** – Archive and repurpose Instagram content
- **Social Media Managers** – Track competitor video performance
- **Researchers** – Analyze video engagement patterns
- **Marketers** – Gather content for campaign analysis
- **Developers** – Build Instagram-powered applications

### 🌟 Why Choose Our Instagram Video Downloader?

- **Comprehensive Data**: Get videos plus full engagement metadata
- **Reliable Performance**: Stable and efficient downloading process
- **User-Friendly**: Simple interface for all skill levels
- **Regular Updates**: Maintained for Instagram compatibility
- **Professional Grade**: Enterprise-ready **Instagram Video Downloader** solution

***

#### ⚠️ Limitations

- Only works with public Instagram posts
- The actor may hit rate limits depending on Instagram's restrictions
- Requires valid Instagram post URLs in correct format

### 🔗🛠 Related Actors (Full Content Scraping Suite)

Explore our full scraping suite for enhanced social media scraping:

#### 📸 Instagram Scrapers:

- [Instagram Reels Downloader](https://apify.com/codenest/instagram-reels-downloader)
- [Instagram Reels Thumbnail Downloader](https://apify.com/codenest/instagram-reels-thumbnail-downloader)
- [Instagram Post Downloader (Image & Video)](https://apify.com/codenest/instagram-post-downloader-image-video)
- [Instagram Image Downloader](https://apify.com/codenest/instagram-image-downloader)
- [Instagram Reels Scraper & Downloader](https://apify.com/codenest/instagram-reels-downloader-scraper)
- [Instagram Reels Audio Downloader](https://apify.com/codenest/instagram-reels-audio-downloader)
- [Instagram Reels Scraper](https://apify.com/codenest/instagram-reels-scraper)
- [Instagram Reels Thumbnail Scraper & Downloader](https://apify.com/codenest/instagram-reels-thumbnail-scraper-downloader)
- [Instagram Reels Audio Scraper & Downloader](https://apify.com/codenest/instagram-reels-audio-scraper-downloader)
- [Instagram Story Downloader](https://apify.com/codenest/instagram-story-downloader)
- [Instagram Story Scraper](https://apify.com/codenest/instagram-story-scraper)

***

### 📧 Need Customization?

Want \*batch processing, \*\*additional metadata, or \**enhanced features* for your **Instagram Video Downloader**?

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

***

# Actor input Schema

## `post_urls` (type: `array`):

A list of public Instagram post URLs (images and/or videos).

## `key_value` (type: `boolean`):

Enable or disable storing files in the key-value store.

## Actor input object example

```json
{
  "post_urls": [
    {
      "url": "https://www.instagram.com/p/DM-qZyuxRpf/?utm_source=ig_web_copy_link"
    }
  ],
  "key_value": false
}
```

# 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 = {
    "post_urls": [
        {
            "url": "https://www.instagram.com/p/DM-qZyuxRpf/?utm_source=ig_web_copy_link"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("codenest/instagram-video-downloader").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 = { "post_urls": [{ "url": "https://www.instagram.com/p/DM-qZyuxRpf/?utm_source=ig_web_copy_link" }] }

# Run the Actor and wait for it to finish
run = client.actor("codenest/instagram-video-downloader").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "post_urls": [
    {
      "url": "https://www.instagram.com/p/DM-qZyuxRpf/?utm_source=ig_web_copy_link"
    }
  ]
}' |
apify call codenest/instagram-video-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,codenest/instagram-video-downloader"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/IlaUwxVcUJlWkMIqn/builds/5aizmsjRpPpipiWn2/openapi.json
