# Snapchat Reels Vedio Downloder (`datapilot/snapchat-reels-vedio-downloder`) Actor

extract video ID, title, description, creator name, username, views, shares, duration, thumbnail, and video download URL. Supports JSON-LD, Next.js and regex extraction, exact MP4 duration detection, Residential Proxy, retries, and Apify Dataset output.

- **URL**: https://apify.com/datapilot/snapchat-reels-vedio-downloder.md
- **Developed by:** [Data Pilot](https://apify.com/datapilot) (community)
- **Categories:** Videos
- **Stats:** 4 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 result scrapes

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

👻 **Snapchat Reels Video** Downloader is a powerful Apify Actor designed to discover, extract, and collect **Snapchat Reels Video** metadata and direct download links from any public Snapchat Spotlight or Story URL. This tool provides comprehensive **Snapchat Reels Video** intelligence including title, description, creator details, view/share counts, exact video duration, thumbnail, and a direct no-login download link for any accessible Snapchat video. Whether you're building a content archiving tool, tracking creator performance, or conducting social media research, the Snapchat Reels Video Downloader delivers actionable **Snapchat Reels Video** insights efficiently.

With triple-layer JSON extraction, byte-level MP4 duration parsing, raw HTML regex fallback, and reliable Apify Dataset delivery, the Snapchat Reels Video Downloader ensures comprehensive **Snapchat Reels Video** coverage across any list of video URLs. It focuses on key **Snapchat Reels Video** signals including exact duration, creator identity, and download URL, making it an essential tool for content research and creator analytics.

***

### 📋 Table of Contents

- [Features](#-features)
- [Data Source](#-data-source)
- [How It Works](#-how-it-works)
- [Input](#-input)
- [Output](#-output)
- [Technical Stack](#-technical-stack)
- [Data Fields](#-data-fields-explained)
- [Use Cases](#-use-cases)
- [Quick Start](#-quick-start)
- [Configuration](#-configuration)
- [Performance](#-performance)
- [Important Notes](#-important-notes)
- [License & Legal](#-license--legal)

***

### 🔥 Features

- **Triple-Layer Data Extraction** – Parses JSON-LD structured data, Next.js `__NEXT_DATA__` blocks, and raw HTML regex patterns, in that priority order, for maximum **Snapchat Reels Video** coverage.
- **Byte-Level MP4 Duration Reading** – When a duration isn't exposed in the page data, downloads the first chunk of the video file and reads the exact duration directly from its MP4 `mvhd` header atom.
- **Smart Count Parsing** – Converts view/share counts written as "1.2K", "3.4M", or "1.1B" into precise integers.
- **Direct Download Link Extraction** – Pulls the video's media URL and cleans escaped URL characters for a ready-to-use **Snapchat Reels Video** download link.
- **Creator Identity Resolution** – Extracts both the creator's display name and username/snapcode handle.
- **Retry-Resilient Requests** – Automatically retries on rate limits (429) and auth errors (401/403) with backoff delays.
- **Residential Proxy Support** – Apify residential proxy for reliable **Snapchat Reels Video** access.
- **Batch Processing** – Extract any number of Snapchat video URLs in a single run.
- **Real-Time Dataset Push** – Pushes each **Snapchat Reels Video** record to Apify Dataset as soon as it's extracted.
- **Graceful Error Handling** – Skips a private or expired video without stopping the whole run.

***

### 📊 Data Source

#### **Snapchat Public Spotlight & Story Pages**

- **Authority**: Snapchat's own public-facing Spotlight and Story pages (`snapchat.com/spotlight/...`, `snapchat.com/add/.../story/...`)
- **Access Method**: Browser-impersonated HTTP requests via , run through an executor for async compatibility, plus a targeted byte-range request for duration extraction
- **Coverage**: Any publicly accessible **Snapchat Reels Video** URL provided as input
- **Data**: Embedded JSON-LD structured data, Next.js page data, or raw HTML meta tags as a fallback
- **Access**: Public video pages, no API key or login required
- **Update Frequency**: Reflects each **Snapchat Reels Video**'s current live state at time of run

***

### ⚙️ How It Works

The Snapchat Reels Video Downloader accepts a list of Snapchat video URLs and fetches each page's HTML using a Chrome-impersonated HTTP session, retrying automatically on rate limits or auth errors. For each successfully fetched page, the Actor first checks for JSON-LD structured data (`VideoObject`/`SocialMediaPosting`/`CreativeWork`), then falls back to parsing the page's `__NEXT_DATA__` block for Spotlight/Story metadata, and finally applies raw HTML regex extraction for any fields still missing. From whichever source succeeds, it extracts the download URL, thumbnail, title, description, creator name/username, view count, and share count. If no duration is found in the page data, the Actor downloads the first 64KB of the video file and reads the exact duration directly from the MP4 container's `mvhd` header atom. Every video with a successfully resolved download URL is pushed to the Apify Dataset immediately after extraction.

**Key Processing Steps:**

1. **Input Parsing** – Accept a list of **Snapchat Reels Video** URLs
2. **Proxy Setup** – Configure Apify residential proxy for the impersonated HTTP session
3. **URL Loop** – Iterate through each provided Snapchat video URL
4. **Page Fetch** – Request the video page's HTML with retry handling for rate limits and auth errors
5. **JSON-LD Parsing** – Attempt to extract structured video data from embedded JSON-LD blocks
6. ****NEXT\_DATA** Fallback** – Parse the Next.js page props for Spotlight/Story/curated story data if JSON-LD is incomplete
7. **Raw HTML Fallback** – Apply regex extraction on media URL, thumbnail, and meta tags for any remaining gaps
8. **Count Parsing** – Convert shorthand view/share counts (e.g., "1.2K") into precise integers
9. **Byte-Range Duration Fetch** – Download the video's first chunk and parse its MP4 `mvhd` atom if duration is still 0
10. **Dataset Push** – Push each successfully extracted record to the Dataset immediately
11. **Rate Limiting** – Apply a short delay between video URL requests

**Key Benefits:**

- Pull **Snapchat Reels Video** metadata and download links for any public video without manual visits
- Get exact video durations even when Snapchat's page data omits them
- Monitor creator engagement metrics across a batch of videos
- Feed content archiving pipelines, creator analytics dashboards, or research tools
- Automate recurring **Snapchat Reels Video** extraction as new content is published

***

### 📥 Input

The Actor accepts the following input parameters:

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `startUrls` / `urls` | array or string | *(required)* | One or more **Snapchat Reels Video** URLs to extract. |
| `proxyConfiguration` | object | `{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}` | Apify proxy configuration for the extraction session. |

**Example Input:**

```json
{
  "startUrls": [
    "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYbW5",
    "https://www.snapchat.com/add/username/story/1234567890"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

**Extract a Single Video:**

```json
{
  "urls": "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYbW5"
}
```

**Extract Multiple Videos:**

```json
{
  "startUrls": [
    "https://www.snapchat.com/spotlight/AAAAAAAAAAAAAAAAAAAAAAAAAAAA",
    "https://www.snapchat.com/spotlight/BBBBBBBBBBBBBBBBBBBBBBBBBBBB"
  ]
}
```

***

### 📤 Output

The Actor pushes **Snapchat Reels Video** records with the following structure:

| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Video title, derived from description or creator name |
| `id` | string | The Snapchat Spotlight or Story ID extracted from the URL |
| `source` | string | Always `"Snapchat"` |
| `url` | string | The original video page URL provided as input |
| `download_url` | string | Direct, cleaned download URL for the video file |
| `thumbnail` | string | Direct URL to the video's cover/thumbnail image |
| `duration` | string | Formatted video duration (`MM:SS` or `HH:MM:SS`) |
| `duration_raw` | integer | Video duration in seconds, from page data or byte-level MP4 parsing |
| `description` | string | Full video caption/description |
| `creator_name` | string | Display name of the video's creator |
| `creator_username` | string | The creator's username or snapcode handle |
| `view_count` | integer | Total view count, parsed from shorthand notation if needed |
| `share_count` | integer | Total share count, parsed from shorthand notation if needed |
| `timestamp` | integer | Unix timestamp of when the record was scraped |

**Example Snapchat Reels Video Record:**

```json
{
  "title": "You won't believe this transition 🔥",
  "id": "W7_EDlXWTBiXAEEniNoMPwAAYbW5",
  "source": "Snapchat",
  "url": "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYbW5",
  "download_url": "https://cf-st.sc-cdn.net/...",
  "thumbnail": "https://cf-st.sc-cdn.net/...",
  "duration": "00:14",
  "duration_raw": 14,
  "description": "You won't believe this transition 🔥",
  "creator_name": "Jane Creator",
  "creator_username": "janecreator",
  "view_count": 1820000,
  "share_count": 42100,
  "timestamp": 1755072000
}
```

***

### 🧰 Technical Stack

- **HTTP Client:** \`\` with Chrome impersonation for reliable access to Snapchat's video pages
- **Concurrency:** `asyncio` with an executor bridge for running the impersonated client asynchronously
- **JSON Parsing:** `json` for extracting JSON-LD and `__NEXT_DATA__` blocks
- **Pattern Matching:** `re` for structured data extraction, count normalization, and raw HTML fallback parsing
- **Binary Parsing:** Manual MP4 `mvhd` atom byte parsing for exact duration extraction
- **Text Handling:** `html` for unescaping HTML entities in captions and titles
- **Date Handling:** `datetime` with timezone-aware UTC timestamps
- **Proxy:** Apify Proxy with `RESIDENTIAL` configuration by default
- **Logging:** Apify Actor logging system
- **Platform:** Apify Actor serverless environment

***

### 📊 Data Fields Explained

#### **Video Identity**

- **id**: The Spotlight or Story identifier extracted from the URL
- **title**: A short title derived from the video's caption or creator name
- **url**: The original video page URL provided as input

#### **Media Assets**

- **download\_url**: Direct link to the video file itself
- **thumbnail**: Direct link to the video's cover image
- **duration / duration\_raw**: The video's exact length, formatted and in raw seconds

#### **Creator Details**

- **creator\_name**: The creator's display name
- **creator\_username**: The creator's username or snapcode handle

#### **Engagement Metrics**

- **view\_count, share\_count**: Public engagement totals at time of scrape, normalized from shorthand notation

***

### 🎯 Use Cases

- **Content Archiving** – Save metadata and download links for videos you want to reference or preserve
- **Creator Analytics** – Track engagement metrics across a creator's Spotlight catalog
- **Trend Research** – Study caption text, duration, and engagement patterns across viral Spotlight videos
- **Competitive Benchmarking** – Compare engagement stats across your own and competitor content
- **Academic Research** – Study public social media trends and engagement at scale
- **Media Monitoring** – Reference specific Snapchat videos in reporting or analysis

***

### 🚀 Quick Start

#### **1. Prepare Input**

Go to Apify Console and enter:

```json
{
  "startUrls": ["https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYbW5"]
}
```

#### **2. Run the Actor**

Click **Start**. The Actor will:

- Fetch each Snapchat video page with retry handling
- Parse JSON-LD, then `__NEXT_DATA__`, then raw HTML as fallbacks
- Read exact duration from the video file if not found in page data
- Push each successfully extracted record to the Dataset

#### **3. Monitor Progress**

Console shows:

```
[1/1] Extracting Snapchat Video: https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYbW5
Extracted: 'You won't believe this transition' | Creator: @janecreator | Duration: 00:14
🎉 Scraping complete! Successfully extracted 1 Snapchat videos.
```

#### **4. View & Download Results**

- **Results Tab**: All **Snapchat Reels Video** records
- **Export**: JSON, CSV, Excel, or HTML
- **Filter**: By creator or engagement metrics
- **API Access**: Available via the Apify API

***

### ⚙️ Configuration

Single video extraction:

```json
{
  "urls": "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYbW5"
}
```

Batch extraction:

```json
{
  "startUrls": [
    "https://www.snapchat.com/spotlight/AAAAAAAAAAAAAAAAAAAAAAAAAAAA",
    "https://www.snapchat.com/spotlight/BBBBBBBBBBBBBBBBBBBBBBBBBBBB"
  ]
}
```

Custom proxy group:

```json
{
  "startUrls": ["https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYbW5"],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

***

### 📈 Performance

#### **Processing Speed**

- One HTTP request per video URL, with up to 3 retries on rate limits or auth errors
- An additional small byte-range request only when duration isn't found in the page data
- 0.5 second delay between video requests to reduce blocking

#### **Resource Usage**

- Memory: Low, since no browser instance is launched and only a small video chunk is ever downloaded
- Network: One to two requests per **Snapchat Reels Video** URL, plus retries if needed
- Proxy: One residential proxy tunnel shared across the impersonated session for the run

***

### ⚠️ Important Notes

#### **Legal & Compliance**

- **Public Data Only**: Retrieves only publicly accessible **Snapchat Reels Video** content exposed on the video's own page
- **Privacy**: Downloading and reusing video content may be subject to copyright and Snapchat's Terms of Service — use only for legitimate, permitted purposes
- **Legal**: Not legal advice — consult qualified professionals before using this data for compliance-sensitive decisions, especially around redistribution of downloaded content

#### **Data Quality**

- **Freshness**: Reflects each **Snapchat Reels Video**'s live state at time of run
- **Completeness**: Private or expired Snapchat content will fail to extract and is skipped with a warning
- **Accuracy**: Sourced directly from Snapchat's own embedded page data, with duration cross-verified at the byte level when needed
- **Verification**: Cross-check high-stakes figures (views, shares) against the live Snapchat app or website

#### **Best Practices**

- Always configure a residential proxy for the most reliable **Snapchat Reels Video** access
- Provide full, direct Spotlight or Story URLs rather than shortened or profile links
- Re-run periodically to track how engagement metrics change over time
- Expect extraction to fail gracefully for private or expired videos
- Respect content owners' rights before redistributing any downloaded video

***

### 📄 License & Legal

**Terms of Use:**

- Use for legitimate research, archiving, and analytics purposes
- Respect Snapchat's Terms of Service and applicable copyright law
- Do not use for unauthorized redistribution of copyrighted video content
- Use **Snapchat Reels Video** data responsibly and in compliance with applicable privacy and copyright laws

**Disclaimer:**
Snapchat Reels Video Downloader is provided as-is for research and analytics purposes. Users are responsible for compliance with Snapchat's ToS, copyright law, and all applicable regulations. This is not legal advice.

***

### ⚖️ Snapchat Reels Video Excellence

This Actor is optimized for **Snapchat Reels Video** research with:

- ✅ Triple-layer extraction for maximum page-version compatibility
- ✅ Byte-level exact duration parsing when page data is incomplete
- ✅ Smart shorthand count normalization (K/M/B)
- ✅ Retry-resilient requests with automatic backoff
- ✅ Real-time Dataset push
- ✅ Production-ready code

# Actor input Schema

## `startUrls` (type: `array`):

List of Snapchat spotlight or story URLs (e.g., https://www.snapchat.com/spotlight/...).

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

Select Residential Proxy for reliable scraping.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniCdJfQAAAEZkYW5pYnBhbQAY50gKxQAY50f1qAAAAAA"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `crawlResults` (type: `string`):

No description

## `snapchatOverview` (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 = {
    "startUrls": [
        "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniCdJfQAAAEZkYW5pYnBhbQAY50gKxQAY50f1qAAAAAA"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("datapilot/snapchat-reels-vedio-downloder").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 = { "startUrls": ["https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniCdJfQAAAEZkYW5pYnBhbQAY50gKxQAY50f1qAAAAAA"] }

# Run the Actor and wait for it to finish
run = client.actor("datapilot/snapchat-reels-vedio-downloder").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 '{
  "startUrls": [
    "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniCdJfQAAAEZkYW5pYnBhbQAY50gKxQAY50f1qAAAAAA"
  ]
}' |
apify call datapilot/snapchat-reels-vedio-downloder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,datapilot/snapchat-reels-vedio-downloder"
        }
    }
}

```

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/XYCjR1lRPYbyWCf9C/builds/5ySCbgeYuGJR3HbS6/openapi.json
