Snapchat Video Downloader Scraper
Pricing
Pay per event + usage
Snapchat Video Downloader Scraper
Download public Snapchat Spotlight MP4 files and export creator, upload date, views, thumbnail, and media metadata without login.
Pricing
Pay per event + usage
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Snapchat Video Downloader
Download MP4 files and structured metadata from anonymously reachable public Snapchat Spotlight videos.
This Snapchat video downloader accepts supplied Spotlight or /t/ share URLs, resolves the exact requested snap, and returns a fresh direct media URL, thumbnail, creator, upload date, visible engagement, dimensions, and duration.
It can also copy each MP4 into the run's Apify key-value store for durable access from your own workflows.
The Actor does not need a Snapchat account, cookies, or an API key. It does not access private, friends-only, expired, removed, login-only, or DRM-protected content.
What can the Snapchat Video Downloader do?
- Resolve public
snapchat.com/spotlight/...URLs to their direct video assets. - Follow public
snapchat.com/t/...share links to the underlying video. - Save original MP4 files in the run's default key-value store.
- Run in metadata-only mode to avoid copying video bytes.
- Export titles, descriptions, dates, views, creator fields, thumbnails, and media details.
- Process up to 100 supplied URLs in one bounded run.
- Deduplicate repeated URLs by stable Snapchat snap ID.
- Continue after an individual private, removed, oversized, or invalid URL.
- Fail clearly when no supplied URL produces a useful public video.
This is a supplied-URL downloader, not a keyword search, profile crawler, hashtag scraper, or private-content tool.
Who is this Actor for?
Content owners and creators can archive their own public Spotlight uploads with source metadata.
Social media teams can preserve authorized campaign clips and attach engagement context to an asset library.
Researchers and journalists can create reproducible snapshots of public videos they are permitted to retain.
Developers and data engineers can turn a list of Snapchat links into typed JSON plus MP4 records for downstream processing.
Compliance and brand teams can schedule bounded archives of specifically approved public URLs.
Only download or retain media when you have the right to do so.
Why use this Snapchat downloader?
A browser download often gives you only a file. This Actor returns the file together with a structured record that can be sent to a spreadsheet, database, webhook, or automation.
The implementation uses Snapchat's logged-out server-rendered data for the exact supplied snap. It does not launch a browser, collect unrelated feed items, or require account credentials. That keeps runs lightweight while preserving the useful creator, date, engagement, thumbnail, and media fields exposed with the public page.
File saving is optional.
Use saveVideos: true for durable run storage, or saveVideos: false when a fresh CDN URL and metadata are enough.
Supported Snapchat URLs
Supported inputs:
https://www.snapchat.com/spotlight/<snap-id>https://www.snapchat.com/@creator/spotlight/<snap-id>https://www.snapchat.com/t/<share-id>
A short /t/ URL must resolve anonymously to a public video.
Canonical creator Spotlight URLs are accepted after redirects.
Not supported:
- profile-only URLs such as
https://www.snapchat.com/@username; - the generic Spotlight feed without a snap ID;
- private or friends-only snaps;
- expired public Stories;
- login-gated content;
- deleted or non-video posts;
- arbitrary direct CDN URLs;
- Snapchat search, Discover, planets, login, chat, or Memories.
Extracted Snapchat video data
| Field | Meaning |
|---|---|
snapId | Stable snap ID for the requested video |
url | Resolved canonical public Snapchat URL |
title | Public or Snapchat-provided generated title, when available |
description | Public description, when available |
uploadDate | ISO 8601 upload timestamp |
viewCount | Visible views, or null |
shareCount | Visible shares, or null |
commentCount | Visible comments, or null |
creatorName | Public creator display name |
creatorUsername | Public Snapchat username |
creatorUrl | Public creator profile URL |
thumbnailUrl | Fresh Snapchat CDN thumbnail URL |
mediaUrl | Fresh direct Snapchat CDN video URL |
durationMs | Video duration in milliseconds |
width, height | Video dimensions in pixels |
videoFileKey | Key-value store record key when saving is enabled |
videoFileUrl | Apify API URL for the saved MP4 |
videoSizeBytes | Size of the copied MP4 |
scrapedAt | Time when the record was produced |
Public pages do not expose every counter or text field for every video.
Fields that Snapchat omits are returned as null rather than guessed.
How to download a public Snapchat video
- Open an anonymously reachable public Spotlight video.
- Copy its Spotlight URL or public Snapchat share link.
- Open this Actor in Apify Console.
- Add the URL under Spotlight or public share URLs.
- Leave Save MP4 files enabled if you need a stored copy.
- Set a suitable per-file size limit.
- Click Start.
- Open the Downloaded Snapchat videos dataset view.
- Use Saved MP4 or open the run's key-value store to retrieve the file.
The exact prefilled Spotlight URL is a real logged-out public input and is suitable for a first run. Public content can later be removed by its owner or Snapchat.
Input parameters
| Input | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | Public Spotlight or /t/ share URLs; 1–100 entries |
maxItems | integer | 20 | Maximum unique successful records; 1–100 |
saveVideos | boolean | true | Copy MP4 files into the default key-value store |
maxVideoSizeMb | integer | 100 | Maximum accepted size for each saved MP4; 1–500 MB |
Example input:
{"startUrls": [{"url": "https://www.snapchat.com/spotlight/W7_EXAMPLE_PUBLIC_SNAP_ID_123456789"}],"maxItems": 1,"saveVideos": true,"maxVideoSizeMb": 100}
Use the real prefilled URL in Console instead of the anonymized documentation ID above.
Output example
The default dataset contains one record per successfully resolved unique video:
{"snapId": "W7_EXAMPLE_PUBLIC_SNAP_ID_123456789","url": "https://www.snapchat.com/@samplecreator/spotlight/W7_EXAMPLE_PUBLIC_SNAP_ID_123456789","title": "A quick outdoor video","description": "A short example clip recorded outdoors.","uploadDate": "2025-01-15T12:00:00.000Z","viewCount": 12500,"shareCount": 240,"commentCount": 18,"creatorName": "Sample Creator","creatorUsername": "samplecreator","creatorUrl": "https://www.snapchat.com/@samplecreator","thumbnailUrl": "https://cf-st.sc-cdn.net/example-thumbnail","mediaUrl": "https://cf-st.sc-cdn.net/example-video","durationMs": 12790,"width": 540,"height": 960,"videoFileKey": "video-W7_EXAMPLE_PUBLIC_SNAP_ID_123456789.mp4","videoFileUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/video-W7_EXAMPLE_PUBLIC_SNAP_ID_123456789.mp4","videoSizeBytes": 1291851,"scrapedAt": "2025-01-15T12:01:00.000Z"}
The saved-file API URL may require the run owner's Apify token because run storage is private by default.
The direct mediaUrl is controlled by Snapchat and may expire or change.
Where are downloaded MP4 files stored?
With saveVideos: true, the Actor writes each successful MP4 to the default key-value store.
Keys use this pattern:
video-<snap-id>.mp4
The dataset record points to the same key through videoFileKey and videoFileUrl.
Download it from Console, the Apify API, or an authenticated integration.
With saveVideos: false, the three saved-file fields are null and mediaUrl still contains the fresh Snapchat CDN link returned during the run.
This mode uses less transfer and storage.
How much does it cost to download Snapchat videos?
This Actor uses pay-per-event pricing with one start event and one item event for each successful video record.
Invalid, duplicate, private, removed, oversized, and failed URLs are not item events.
There is no separate charge event for the MP4 file, metadata fields, or thumbnail.
The start event is $0.015. Per-video prices decrease across the six Apify usage tiers:
| Tier | Price per successful video |
|---|---|
| FREE | $0.0021436 |
| BRONZE | $0.001864 |
| SILVER | $0.0014539 |
| GOLD | $0.0011184 |
| PLATINUM | $0.0007456 |
| DIAMOND | $0.00052192 |
For example, at the BRONZE tier the Actor costs about $0.016864 for 1 video, $0.03364 for 10 videos, or $0.2014 for 100 videos. Calculate any run as:
run price = $0.015 start event + successful videos × your active item tier
Your Apify plan tier determines the per-video rate. Large files can increase platform usage charged according to Apify's normal storage and transfer rules; use the input's file-size and item-count limits to keep archives bounded. Metadata-only mode avoids MP4 copy transfer but uses the same successful-item event because it produces the same typed video record.
Batch downloads and scheduled archives
For a bounded batch, supply several approved public URLs and set maxItems to the maximum number you want stored.
The Actor processes each URL independently and keeps useful records when another URL fails.
For scheduled authorized archiving:
- Maintain the approved URL list in your task input.
- Schedule the task at the frequency appropriate for your use case.
- Export each run's dataset and key-value store before retention expires.
- Deduplicate records in your destination using
snapId. - Treat a missing post as removed, private, expired, or temporarily unavailable; do not infer why.
The Actor does not discover new videos automatically and does not compare runs for you.
Use an automation or database keyed by snapId for change tracking.
Integrations and export workflows
Send records to:
- Google Sheets for an editorial archive index;
- Airtable or Notion for an approved asset library;
- Amazon S3, Google Cloud Storage, or another object store for long retention;
- a webhook for media processing or moderation;
- a database keyed by
snapIdfor recurring authorized archives; - another Actor for transcription, classification, or analysis.
Always pass authenticated storage URLs or copy the file bytes when the downstream system cannot access private Apify run storage.
Run with the Apify API
Replace YOUR_APIFY_TOKEN and use real authorized Snapchat URLs.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~snapchat-public-video-downloader/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://www.snapchat.com/spotlight/REAL_SNAP_ID"}],"maxItems": 1,"saveVideos": true,"maxVideoSizeMb": 100}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/snapchat-public-video-downloader').call({startUrls: [{ url: 'https://www.snapchat.com/spotlight/REAL_SNAP_ID' }],maxItems: 1,saveVideos: true,maxVideoSizeMb: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/snapchat-public-video-downloader").call(run_input={"startUrls": [{"url": "https://www.snapchat.com/spotlight/REAL_SNAP_ID"}],"maxItems": 1,"saveVideos": True,"maxVideoSizeMb": 100,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Do not put tokens in source control. Use environment variables or your platform's secret manager.
Use with Apify MCP
Add this Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/snapchat-public-video-downloader"
Claude Desktop setup
Add the following server configuration to Claude Desktop:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/snapchat-public-video-downloader"}}}
Cursor setup
Add the same JSON server entry in Cursor Settings → MCP.
VS Code setup
Add the same server URL through your VS Code MCP extension or workspace MCP configuration.
Example prompts:
- "Download this public Snapchat Spotlight video and return the saved MP4 link plus upload date and views."
- "Resolve these approved Spotlight URLs in metadata-only mode and create a CSV-ready dataset."
- "Archive these three public campaign Spotlight videos with a 75 MB per-file limit."
Review tool inputs before running them and provide only URLs you are authorized to process.
Reliability, limits, and failure behavior
Snapchat controls the source pages and CDN URLs. A public video can be removed, made private, geo-restricted, or changed without notice.
The Actor:
- retries bounded transient page and media failures;
- validates final redirects remain on Snapchat;
- allows video downloads only from Snapchat CDN hosts;
- validates media response content types;
- stops reading a file when it exceeds the configured limit;
- skips failed URLs while preserving successful records;
- emits no item event for a failed URL;
- fails the run when every supplied URL fails;
- returns
nullfor omitted metadata rather than inventing values.
The Actor does not guarantee that temporary CDN links remain valid after the run. Enable MP4 saving when you need a run-owned copy.
Troubleshooting
Why did a URL produce no record?
Confirm that it opens in a logged-out browser and points to one specific public video. Profile pages, the generic Spotlight feed, expired Stories, private snaps, removed videos, and login-only content are unsupported. Check the run log for the per-URL reason.
Why is the saved MP4 link unauthorized?
Default run storage is private. Open the record while authenticated in Apify Console, include your Apify token in an authorized API request, or copy the file to your own storage. Do not expose a long-lived token in a public URL.
Why is videoFileUrl null?
saveVideos was disabled.
Use mediaUrl during its validity window or rerun with file saving enabled.
Why was an oversized video skipped?
The MP4 exceeded maxVideoSizeMb.
Increase the limit only when you expect and can afford the extra transfer and storage.
The hard input maximum is 500 MB per video.
Why are views or descriptions null?
Snapchat does not expose every field for every post. The Actor preserves missing values as null.
Responsible and legal use
Use this Actor only for public content you are legally allowed to access, download, retain, and process. Respect copyright, publicity rights, privacy, contractual restrictions, platform terms, and applicable law. Do not use it to bypass access controls, impersonate users, collect private content, or redistribute media without permission.
Minimize retained personal data. Choose an appropriate storage retention period, restrict access to downloaded files, and honor valid deletion requests. The Actor is a technical tool; using it does not grant rights to third-party content.
Related Snapchat Actors
- Snapchat Scraper — collect public profile metadata when your job starts from usernames rather than supplied video URLs.
- Snapchat Discover Scraper — extract supported public Discover data for editorial monitoring.
- Snapchat Ads Library Scraper — work with Snapchat's public political ads transparency archive.
These Actors serve different source surfaces. They do not replace the supplied-URL MP4 download workflow here.
FAQ
Does this Actor require a Snapchat login?
No. It processes only content available to a logged-out visitor.
Can it download private snaps or Memories?
No. Private, friends-only, account-only, and Memories content is outside scope.
Can it search Spotlight by keyword or username?
No. Supply exact public video URLs. Use a related profile or discovery Actor only when that separate product supports your source and workflow.
Does it remove watermarks or modify videos?
No. It copies the source video response as returned by Snapchat and does not re-encode or alter it.
Are duplicate URLs charged twice?
No. The Actor deduplicates successful records by snap ID within a run.
Are failed URLs charged as items?
No.
Only successfully resolved records produce the item event.
The one-time start event still applies to the run.
Can I keep files permanently?
Apify storage retention depends on your plan and storage settings. Copy files to your own durable storage when you need longer retention.
Is metadata-only mode supported?
Yes.
Set saveVideos to false to receive fresh media links and metadata without copying MP4 bytes into run storage.