# Snapchat Spotlight Video Downloader (`crawlerbros/snapchat-spotlight-video-downloader`) Actor

Download Snapchat Spotlight videos. Provide one or more Spotlight URLs and get direct CDN video links, thumbnails, captions, creator info, and engagement stats.

- **URL**: https://apify.com/crawlerbros/snapchat-spotlight-video-downloader.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Videos, Social media, Developer tools
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 11 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.00 / 1,000 results

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Spotlight Video Downloader

Download videos from Snapchat Spotlight with direct CDN links, thumbnails, captions, creator profiles, and engagement stats — no login required.

### What It Does

Provide one or more Snapchat Spotlight URLs and the actor returns a structured record for each video containing:

- **Direct video URL** — MP4 link served from Snapchat's CDN (`cf-st.sc-cdn.net`)
- **Thumbnail URL** — Preview image CDN link
- **Caption** — Creator's description/caption
- **Creator info** — Username and profile URL
- **Engagement stats** — View count, share count
- **Duration** — Video length in seconds
- **Upload date** — When the video was posted (ISO 8601)

### Supported URL Formats

| Format | Example |
|--------|---------|
| Standard Spotlight | `https://www.snapchat.com/spotlight/<id>` |
| Profile Spotlight | `https://www.snapchat.com/@username/spotlight/<id>` |
| Short link | `https://t.snapchat.com/<id>` |

### Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `spotlightUrls` | `string[]` | Yes | List of Spotlight URLs to download |
| `proxyConfiguration` | `object` | No | Optional Apify proxy configuration |

#### Example Input

```json
{
  "spotlightUrls": [
    "https://www.snapchat.com/spotlight/eyJzb3VyY2VTbmFwSWQiOnsiZHNwSWQiOiI0ZjM4YTE2Ni1hMDQyLTQ4Y2ItYWQ3Ni02N2QzNzVkMGM4ZGYifX0.",
    "https://t.snapchat.com/AbCdEfGh"
  ]
}
````

### Output

One JSON record per input URL is saved to the dataset.

| Field | Type | Description |
|-------|------|-------------|
| `snapId` | string | Unique Spotlight video ID |
| `inputUrl` | string | The URL you provided |
| `videoUrl` | string | Direct MP4 download link |
| `thumbnailUrl` | string | Thumbnail image URL |
| `caption` | string | Creator's caption (if any) |
| `username` | string | Creator's Snapchat username |
| `profileUrl` | string | Creator's profile URL |
| `durationSeconds` | number | Video length in seconds |
| `viewCount` | integer | Number of views (omitted if hidden) |
| `shareCount` | integer | Number of shares (omitted if hidden) |
| `uploadedAt` | string | ISO 8601 upload timestamp |
| `scrapedAt` | string | ISO 8601 scrape timestamp |
| `error` | string | Set only when the URL could not be processed |

#### Example Output

```json
{
  "snapId": "eyJzb3VyY2VTbmFwSWQiOnsiZHNwSWQiOiI0ZjM4YTE2Ni...",
  "inputUrl": "https://www.snapchat.com/spotlight/eyJzb3VyY2VTbmFwSWQi...",
  "videoUrl": "https://cf-st.sc-cdn.net/d/abcdef.mp4",
  "thumbnailUrl": "https://cf-st.sc-cdn.net/i/abcdef.jpg",
  "caption": "Check this out! 🔥 #viral",
  "username": "snapuser123",
  "profileUrl": "https://www.snapchat.com/@snapuser123",
  "durationSeconds": 15.0,
  "viewCount": 125000,
  "shareCount": 340,
  "uploadedAt": "2024-11-14T10:30:00+00:00",
  "scrapedAt": "2026-04-14T12:00:00+00:00"
}
```

### FAQ

**Do video URLs expire?**
Yes. Snapchat CDN URLs contain expiring tokens and are typically valid for several hours to days. Download the video file promptly if you need permanent storage.

**Do I need a proxy?**
No proxy is required for public Spotlight pages in most regions. If you experience blocks, add a residential proxy via the Proxy Configuration input.

**What if a URL fails?**
Failed URLs produce an error record with the `error` field set. The actor continues processing remaining URLs without stopping.

**What URL formats are supported?**
Standard Spotlight URLs, profile-specific Spotlight URLs, and `t.snapchat.com` short links are all supported.

**Can I download private or friends-only Snaps?**
No. This actor only works with public Spotlight content that is accessible without logging in.

# Actor input Schema

## `spotlightUrls` (type: `array`):

One or more Snapchat Spotlight URLs to download. Supports standard URLs (snapchat.com/spotlight/...), profile URLs (snapchat.com/@user/spotlight/...), and short links (t.snapchat.com/...).

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

Optional proxy settings. Snapchat public Spotlight pages work without a proxy in most regions.

## Actor input object example

```json
{
  "spotlightUrls": [
    "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYanhvYnpia3FuAZz0j0kpAZz0j0jtAAAAAQ"
  ]
}
```

# Actor output Schema

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

Dataset containing scraped Spotlight video records

# 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 = {
    "spotlightUrls": [
        "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYanhvYnpia3FuAZz0j0kpAZz0j0jtAAAAAQ"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/snapchat-spotlight-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 = { "spotlightUrls": ["https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYanhvYnpia3FuAZz0j0kpAZz0j0jtAAAAAQ"] }

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/snapchat-spotlight-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 '{
  "spotlightUrls": [
    "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYanhvYnpia3FuAZz0j0kpAZz0j0jtAAAAAQ"
  ]
}' |
apify call crawlerbros/snapchat-spotlight-video-downloader --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Snapchat Spotlight Video Downloader",
        "description": "Download Snapchat Spotlight videos. Provide one or more Spotlight URLs and get direct CDN video links, thumbnails, captions, creator info, and engagement stats.",
        "version": "1.0",
        "x-build-id": "9fc6dA6HyMYTb1RgX"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~snapchat-spotlight-video-downloader/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-snapchat-spotlight-video-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~snapchat-spotlight-video-downloader/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-snapchat-spotlight-video-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~snapchat-spotlight-video-downloader/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-snapchat-spotlight-video-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "spotlightUrls"
                ],
                "properties": {
                    "spotlightUrls": {
                        "title": "Spotlight URLs",
                        "minItems": 1,
                        "type": "array",
                        "description": "One or more Snapchat Spotlight URLs to download. Supports standard URLs (snapchat.com/spotlight/...), profile URLs (snapchat.com/@user/spotlight/...), and short links (t.snapchat.com/...).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional proxy settings. Snapchat public Spotlight pages work without a proxy in most regions."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
