# VK Video Downloader (`codenest/vk-video-downloader`) Actor

Effortlessly download any VK video with full metadata! Get direct CDN links, multiple quality options (144p to 1080p), engagement stats, and HLS streams. Perfect for content archiving, repurposing, and analysis.

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

## Pricing

$8.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

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

## VK Video Downloader - Ultimate VK Video Downloader Tool

**Effortlessly download any VK video with our powerful VK Video Downloader! This Apify actor enables you to batch download VK videos while preserving high video quality, comprehensive metadata and direct CDN access. Whether you need to download VK videos for archiving, repurposing, or analysis, our VK Video Downloader has you covered.**

***

### 📱 Overview

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

- 🎯 **Dual URL Support**: Works with both vk.com and vkvideo.ru domains
- 📊 **Complete Metadata**: Titles, uploaders, like counts, comments
- 🎬 **Multiple Formats**: MP4, WebM, M4A with various quality options
- 📈 **Batch Processing**: Download multiple VK videos in one run
- 🔄 **HLS Support**: Professional streaming format extraction
- 🖼️ **HD Thumbnails**: High-quality preview images

Perfect for content creators 🎥, social media managers 📊, researchers 🔬, and VK content enthusiasts! This VK Video Downloader is your go-to solution for all VK video downloading needs.

***

### ⚡ Core Capabilities/Key Features

#### 🎯 URL Handling

- **Dual Domain Support**: Seamlessly handles vk.com and vkvideo.ru URLs
- **Auto URL Normalization**: Converts between VK domains automatically
- **Batch Processing**: Download up to 100+ VK videos per run
- **Smart Extraction**: Auto-detects best extraction method

#### 🎬 Media Options

- **Multiple Quality Tiers**: 144p to 1080p Full HD downloads
- **Format Flexibility**: MP4, WebM, M4A audio formats
- **HLS Streaming**: Professional HLS format extraction
- **Separate Audio**: Get audio tracks independently
- **Thumbnails**: High-quality cover images for every VK video

#### 📊 Metadata Mastery

- **Uploader Profiles**: Complete uploader names and IDs
- **Engagement Metrics**: Like counts and comment statistics
- **Upload Dates**: YYYY-MM-DD timestamps for every VK video
- **Duration**: Exact video length in seconds
- **Technical Specs**: Codec information, bitrates, and resolution details

#### 🔧 Advanced Tech

- **CDN Direct Access**: Bypass restrictions with direct content delivery
- **HLS Support**: Professional HLS manifest extraction
- **Format Detection**: Auto-selects best available quality for each VK video
- **DASH Support**: Advanced DASH format extraction

***

### 📝 Input Configuration

Just enter your VK video URLs in the Input Section, click the "start" button, and wait for the results. The VK Video Downloader accepts both vk.com and vkvideo.ru formats:

```json
{
  "vk_urls": [
    {
      "url": "https://vk.com/video-22822305_456243020"
    },
    {
      "url": "https://vkvideo.ru/video-61462919_456240518"
    }
  ],
  "extraction_method": "auto"
}
```

#### 📋 Input Specifications

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `vk_urls` | Array | Yes | VK video URLs to process with the VK Video Downloader |
| `url` | String | Yes | Valid VK video URL (supports vk.com and vkvideo.ru) |
| `extraction_method` | String | No | "auto" (recommended), "direct", or "api" |

***

### 📤 Output Structure

When you use the VK Video Downloader, you'll receive comprehensive output like this:

```json
[
  {
    "input_url": "https://vk.com/video-22822305_456243020",
    "url_info": {
      "owner_id": "-22822305",
      "video_id": "456243020",
      "video_full_id": "-22822305_456243020",
      "vk_url": "https://vk.com/video-22822305_456243020",
      "vkvideo_url": "https://vkvideo.ru/video-22822305_456243020",
      "original_url": "https://vk.com/video-22822305_456243020"
    },
    "title": "Sample VK Video Title",
    "thumbnail": "https://iv.okcdn.ru/getVideoPreview...",
    "duration": 27,
    "upload_date": "20250331",
    "uploader": "Channel Name",
    "uploader_id": "-22822305",
    "like_count": 536,
    "comment_count": 2,
    "best_url": "https://vkvd637.okcdn.ru/?expires...",
    "formats": [...]
  }
]
```

#### 📊 Output Field Documentation

##### 📁 URL Information Section

| Field | Description |
|-------|-------------|
| `input_url` | Original URL provided to the VK Video Downloader |
| `owner_id` | VK video owner's unique identifier |
| `video_id` | Unique ID of the VK video |
| `video_full_id` | Combined owner+video identifier |
| `vk_url` | Standard vk.com format URL |
| `vkvideo_url` | New vkvideo.ru format URL |

##### 📈 Metadata Section

| Field | Description |
|-------|-------------|
| `title` | Video title from VK |
| `uploader` | Content creator's VK name |
| `uploader_id` | Creator's VK identifier |
| `upload_date` | Publication date in YYYYMMDD format |
| `duration` | Video length in seconds |
| `like_count` | Number of likes on the VK video |
| `comment_count` | Number of comments |
| `thumbnail` | High-quality preview image URL |

##### 🎥 Format Specifications

| Field | Description |
|-------|-------------|
| `format_id` | Unique identifier for each quality option |
| `url` | Direct download URL for the VK video |
| `ext` | File extension (mp4, webm, m4a) |
| `height` | Vertical resolution in pixels |
| `width` | Horizontal resolution in pixels |
| `tbr` | Total bitrate |
| `vbr` | Video bitrate |
| `abr` | Audio bitrate |
| `vcodec` | Video codec specification |
| `acodec` | Audio codec specification |
| `fps` | Frames per second |
| `format_note` | Format description |

***

### 📊 Quality Tiers Available

The VK Video Downloader automatically detects and provides multiple quality options for every VK video:

1. **🎬 Full HD** - 1920x1080 (1080p) with advanced codec support
2. **📺 HD Ready** - 1280x720 (720p) optimal quality
3. **📱 Standard Definition** - 854x480 (480p) balanced option
4. **📲 Mobile Optimized** - 640x360 (360p) for bandwidth conservation
5. **📻 Audio Only** - Separate M4A and WebM audio tracks
6. **🎞️ HLS Streaming** - Professional adaptive bitrate streams

Each quality tier includes technical specifications for professional editing workflows when you download VK videos.

***

### 🔧 Technical Features

#### 🎯 Advanced Format Support

- DASH video streaming format extraction for every VK video
- Multiple codec support (AVC/H.264, AV1, Opus)
- Separate audio/video stream access
- Container format detection (MP4, WebM, M4A)
- HLS manifest extraction and processing

#### 📊 Metadata Extraction

- Precise duration timing (second accuracy)
- Upload timestamp preservation
- Complete creator attribution data
- Engagement metrics (likes, comments)
- Technical format specifications for each VK video

#### 🛡️ Reliability Features

- Direct CDN access for maximum reliability
- Multiple quality fallback options
- Comprehensive error handling
- URL validation and normalization
- Support for both old and new VK domains

***

### 💼 Use Cases

- **📱 App Developers** – Build VK-powered apps using our VK Video Downloader
- **📊 Social Managers** – Archive client VK video content
- **🔍 Researchers** – Study VK video trends and patterns
- **🎬 Content Creators** – Repurpose VK videos for other platforms
- **📚 Archivists** – Preserve important VK video content
- **🎵 Music Enthusiasts** – Extract audio from VK videos
- **📈 Marketing Analysts** – Track VK video engagement metrics

***

### ⭐ Why Choose Our VK Video Downloader?

- **🚀 Reliable Performance**: Stable and efficient downloading process specifically optimized for VK videos
- **👤 User-Friendly**: Simple interface for both beginners and advanced users
- **🔄 Regular Updates**: Maintained to ensure compatibility with VK changes
- **📊 Comprehensive Data**: Get all the metadata you need for every VK video in one place
- **🌐 Dual Domain Support**: Works with both vk.com and vkvideo.ru seamlessly
- **⚡ Fast Processing**: Optimized CDN access for quick VK video downloads

***

### ⚠️ Limitations

- Only works with public VK videos
- The VK Video Downloader may hit rate limits depending on VK's restrictions
- Some videos may have regional availability restrictions
- Private or age-restricted VK videos require authentication

***

### 📧 Need Customization?

Want \*higher resolutions, \*\*batch downloads, or \**metadata enhancements* for your VK Video Downloader needs?

✉ Email **<codenest2.0@gmail.com>** for tailored solutions! We can create custom VK Video Downloader features specifically for your use case.

***

# Actor input Schema

## `vk_urls` (type: `array`):

List of VK video URLs (vk.com or vkvideo.ru).

## `extraction_method` (type: `string`):

Choose which extraction method to use. 'auto' tries all methods in order: yt-dlp → VK Embed API → BeautifulSoup.

## Actor input object example

```json
{
  "vk_urls": [
    {
      "url": "https://vk.com/video-22822305_456243020"
    }
  ],
  "extraction_method": "auto"
}
```

# 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 = {
    "vk_urls": [
        {
            "url": "https://vk.com/video-22822305_456243020"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("codenest/vk-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 = { "vk_urls": [{ "url": "https://vk.com/video-22822305_456243020" }] }

# Run the Actor and wait for it to finish
run = client.actor("codenest/vk-video-downloader").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 '{
  "vk_urls": [
    {
      "url": "https://vk.com/video-22822305_456243020"
    }
  ]
}' |
apify call codenest/vk-video-downloader --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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