# Loom Video Downloader (`codenest/loom-video-downloader`) Actor

Download any Loom video with full metadata in one click! Get HD videos, thumbnails, descriptions, uploader info, and engagement data. Perfect for archiving team communications, repurposing content, or building Loom-powered applications. Save time with batch processing and direct CDN links!

- **URL**: https://apify.com/codenest/loom-video-downloader.md
- **Developed by:** [CodeNest](https://apify.com/codenest) (community)
- **Categories:** Videos, Automation, Developer tools
- **Features:** Limited permissions
- **Stats:** 27 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 loom video downloadeds

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

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

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

## Loom Video Downloader - Professional Screen Recording Downloader 🎥

**Effortlessly download Loom videos with our powerful enterprise-grade actor! This Apify **Loom Video Downloader** enables you to batch download screen recordings while preserving high video quality, comprehensive metadata, and direct CDN access.**

***

### 📋 Overview

Need to archive Loom screen recordings or repurpose video content? This **Loom Video Downloader** delivers:

- 🎬 Multiple format support - Download in original quality
- 📊 Rich metadata - Titles, descriptions, uploader info
- 🖼️ Thumbnails - High-quality GIF and JPG previews
- 🔒 Privacy handling - Works with public Loom videos
- ⚡ Batch processing - Handle multiple URLs in one run

Perfect for remote teams 👥, content creators 🎨, educators 👨‍🏫, and business professionals 💼 who rely on **Loom Video Downloader** for their workflow!

***

### ✨ Core Capabilities/Key Features

#### 🎯 Media Options

- **Original Quality**: Download in source resolution (up to 1080p)
- **Direct CDN Links**: Get permanent download URLs
- **Multiple Formats**: Access transcoded MP4 files
- **Bulk Mode**: Process 100+ Loom URLs per run

#### 📊 Metadata Mastery

- **Creator Profiles**: Uploader names and avatars
- **Upload Dates**: YYYYMMDD timestamps for organization
- **Duration**: Precise timing in seconds
- **Engagement Data**: View counts and reactions

#### 🔧 Advanced Tech

- **Video Properties**: Resolution, format, screen type
- **Organization Data**: Workspace and team information
- **Privacy Settings**: Download permissions status
- **Reaction Tracking**: Emoji reactions and timestamps

***

### ⚙️ Input Configuration

Just enter the Loom video URLs in the Input Section, then click the "start" button and wait for the results. This **Loom Video Downloader** accepts both embed and share URL formats:

```json
{
  "loom_urls": [
    {
      "url": "https://www.loom.com/embed/4c0c4d7396a543b8a55d67bcf5c0f41c"
    },
    {
      "url": "https://www.loom.com/share/50fca6637e8e4c5e9ea2d5186baf3d21"
    }
  ]
}
```

#### 📝 Input Specifications

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `loom_urls` | Array | Yes | Loom video URLs to process |
| `url` | String | Yes | Valid Loom URL (embed/ or share/ format) |

***

### 📤 Output Structure

The **Loom Video Downloader** provides comprehensive output with all video information:

```json
[
  {
    "input_url": "https://www.loom.com/embed/4c0c4d7396a543b8a55d67bcf5c0f41c",
    "video_id": "4c0c4d7396a543b8a55d67bcf5c0f41c",
    "share_url": "https://www.loom.com/share/4c0c4d7396a543b8a55d67bcf5c0f41c",
    "embed_url": "https://www.loom.com/embed/4c0c4d7396a543b8a55d67bcf5c0f41c",
    "title": "Nice test man!",
    "description": "Use Loom to record quick videos of your screen and cam.",
    "thumbnail": "https://cdn.loom.com/sessions/thumbnails/...gif",
    "duration_seconds": 30,
    "upload_date": "20250923",
    "uploader": "Yoel y Juampi",
    "formats": [
      {
        "format_id": "http-transcoded",
        "url": "https://cdn.loom.com/sessions/transcoded/...mp4",
        "ext": "mp4",
        "width": 1920,
        "height": 1080
      }
    ],
    "more_metadata": {
      "meta_tags": {},
      "loom_data": {}
    }
  }
]
```

#### 📑 Output Field Documentation

**🎯 Core Information Section**
| Field | Description |
|-------|-------------|
| `input_url` | Original URL provided to the **Loom Video Downloader** |
| `video_id` | Unique Loom video identifier |
| `share_url` | Public sharing URL format |
| `embed_url` | Embeddable URL format |
| `title` | Video title as set by creator |
| `description` | Video description text |
| `thumbnail` | Preview image URL (GIF/JPG) |
| `duration_seconds` | Video length in seconds |
| `upload_date` | Publication date in YYYYMMDD format |
| `uploader` | Creator's display name |

**🎬 Media Assets**
| Field | Description |
|-------|-------------|
| `format_id` | Format identifier for download |
| `url` | Direct video download URL |
| `ext` | File extension (mp4) |
| `width` | Video width in pixels |
| `height` | Video height in pixels |

**🔍 Extended Metadata**
| Field | Description |
|-------|-------------|
| `meta_tags` | All HTML meta tags from the page |
| `loom_data` | Complete Loom API data object |
| `video_properties` | Technical recording specifications |
| `Organization` | Workspace/team information |
| `reactions` | User reactions with timestamps |

***

### 🎚️ Quality Tiers Available

The **Loom Video Downloader** automatically detects and provides the best available quality:

1. **🎥 Full HD** - 1920x1080 (1080p) for high-quality screen recordings
2. **📺 HD Ready** - 1280x720 (720p) for standard definition
3. **📱 Mobile Optimized** - Adaptive resolutions for bandwidth efficiency

Each format includes complete technical specifications for professional workflows.

***

### 🔧 Technical Features

#### 🎬 Advanced Format Support

- Transcoded MP4 video extraction
- Original resolution preservation
- Thumbnail generation (GIF + JPG)
- Multiple URL format support (embed/share)

#### 📊 Metadata Extraction

- Complete Loom API data integration
- Organization and workspace details
- Privacy and permission settings
- Reaction and engagement tracking
- Upload timestamps with precision

#### 🔒 Reliability Features

- Direct CDN access for maximum reliability
- Automatic format selection
- Comprehensive error handling
- URL validation and normalization

***

### 💼 Use Cases

- **👥 Remote Teams** – Archive important team communications and tutorials
- **🎨 Content Creators** – Repurpose Loom content across platforms with our **Loom Video Downloader**
- **👨‍🏫 Educators** – Save educational screen recordings for offline access
- **📊 Business Professionals** – Maintain records of client presentations
- **🔍 Researchers** – Analyze Loom video content and metadata patterns
- **💻 Developers** – Build applications powered by Loom video data

***

### ⭐ Why Choose Our Loom Video Downloader?

- **⚡ Reliable Performance**: Stable and efficient downloading process specifically built for Loom
- **🖥️ User-Friendly**: Simple interface for both beginners and advanced users
- **🔄 Regular Updates**: Maintained to ensure compatibility with Loom platform changes
- **📊 Comprehensive Data**: Get all the metadata you need in one place
- **🎯 Accurate Extraction**: Precise video information every time

***

### ⚠️ Limitations

- Only works with public Loom videos (videos with public sharing enabled)
- Videos with download disabled by creator may have restricted access
- The **Loom Video Downloader** respects Loom's download permission settings

***

### 📧 Need Customization?

Want \*higher resolutions, \*\*batch processing enhancements, or \**custom metadata extraction* for your **Loom Video Downloader**?

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

***

**Ready to streamline your Loom video downloads? Try our **Loom Video Downloader** today!** 🚀

# Actor input Schema

## `loom_urls` (type: `array`):

List of Loom share or embed URLs.

## Actor input object example

```json
{
  "loom_urls": [
    {
      "url": "https://www.loom.com/share/50fca6637e8e4c5e9ea2d5186baf3d21"
    }
  ]
}
```

# Actor output Schema

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

All extracted Loom video download URLs, metadata, and formats stored in the default dataset.

# 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 = {
    "loom_urls": [
        {
            "url": "https://www.loom.com/share/50fca6637e8e4c5e9ea2d5186baf3d21"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("codenest/loom-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 = { "loom_urls": [{ "url": "https://www.loom.com/share/50fca6637e8e4c5e9ea2d5186baf3d21" }] }

# Run the Actor and wait for it to finish
run = client.actor("codenest/loom-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 '{
  "loom_urls": [
    {
      "url": "https://www.loom.com/share/50fca6637e8e4c5e9ea2d5186baf3d21"
    }
  ]
}' |
apify call codenest/loom-video-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,codenest/loom-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/GrUI8DKuhafno2oTx/builds/WUIacmQNm5kaEXpD8/openapi.json
