Pricing
from $3.00 / 1,000 results
Snapchat Transcript Scraper
Extract transcripts from Snapchat Spotlight videos. Uses native WebVTT captions when available, with Whisper AI speech recognition as fallback. No login or cookies required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract transcripts from any Snapchat Spotlight video β no login, no API key, no browser required. Automatically retrieves native WebVTT captions when Snapchat provides them, and falls back to Whisper AI speech recognition for videos without captions.
Perfect for content repurposing, accessibility workflows, market research, brand monitoring, and building subtitle databases from Snapchat Spotlight content.
What You Get
- Native WebVTT transcript segments from Snapchat's embedded caption system (fast, zero AI cost)
- Whisper AI fallback using OpenAI's speech recognition model when no native captions exist
- Timestamps for every segment (
startTime,endTime,text) in VTT format - Full concatenated transcript as a single string (
fullText) - Video metadata: creator username, caption, duration, upload date, thumbnail URL
- Language detection with confidence score (Whisper mode)
- Works on public Spotlight videos β no Snapchat account required
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
spotlightUrls | string[] | Yes | β | One or more Snapchat Spotlight URLs. Supports snapchat.com/spotlight/..., profile-scoped snapchat.com/@user/spotlight/..., and short links t.snapchat.com/... |
transcriptionMethod | select | No | auto | auto β native WebVTT first, Whisper fallback; native β native captions only (fast, no AI); whisper β always use Whisper AI |
whisperModel | select | No | base | Whisper model size: tiny (~30s/video), base (~60s/video, recommended), small (~120s/video, best for non-English) |
language | string | No | β | Optional ISO 639-1 language hint for Whisper (e.g. en, ur, es, ar). Leave empty for auto-detection. Only applies when Whisper is used |
proxyConfiguration | object | No | β | Optional Apify proxy configuration |
Output
Each input URL produces one dataset record. Fields are omitted when not available.
| Field | Type | Description |
|---|---|---|
snapId | string | Spotlight snap ID |
inputUrl | string | Original URL supplied as input |
videoUrl | string | Direct CDN video URL (time-limited) |
thumbnailUrl | string | Video thumbnail URL |
username | string | Creator Snapchat username |
caption | string | Video caption or description |
durationSeconds | number | Video duration in seconds |
uploadedAt | string | Upload timestamp (ISO 8601 UTC) |
transcriptSource | string | "native" or "whisper" |
transcriptAvailable | boolean | Whether a usable transcript was extracted |
transcriptUrl | string | URL of the original WebVTT file (native only) |
language | string | Language code (e.g. "en", "ur") |
languageProbability | number | Whisper language confidence 0β1 (Whisper only) |
whisperModel | string | Model used: "tiny", "base", or "small" (Whisper only) |
segments | array | Timed segments: [{startTime, endTime, text}] |
segmentCount | integer | Number of transcript segments |
fullText | string | Full transcript as a single string |
scrapedAt | string | Scrape timestamp (ISO 8601 UTC) |
error | string | Error message if the URL failed |
Example Output
{"snapId":"W7_EDlXWTBiXAEEniNoMPwAAYaXFxdmVobmp6AZ499vl-AZ499rsXAAAAAQ","inputUrl":"https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYaXFxdmVobmp6AZ499vl-AZ499rsXAAAAAQ","username":"brentrivera","durationSeconds":60.0,"transcriptSource":"native","transcriptAvailable":true,"language":"en","segmentCount":8,"fullText":"Baby, I'm going to need 10 more minutes. Baby, it's been an hour...","segments":[{"startTime":"00:00:00.000","endTime":"00:00:02.500","text":"Baby, I'm going to need 10 more minutes."},{"startTime":"00:00:02.500","endTime":"00:00:04.000","text":"Baby, it's been an hour."}],"videoUrl":"https://cf-st.sc-cdn.net/...","thumbnailUrl":"https://bolt-gcdn.sc-cdn.net/...","uploadedAt":"2025-10-01T14:22:00+00:00","scrapedAt":"2026-06-28T09:45:00+00:00"}
How Transcription Works
Native (fast, free)
Snapchat embeds WebVTT captions in the __NEXT_DATA__ JSON of most Spotlight pages. The scraper extracts them directly β no audio download, no AI processing, typically < 5 seconds per video.
Whisper AI (universal fallback)
When no native captions exist, the scraper:
- Downloads the video from Snapchat's CDN
- Extracts the audio track with ffmpeg (16 kHz mono MP3)
- Runs the audio through faster-whisper (CTranslate2 backend, CPU, int8)
- Returns timestamped segments with language detection
Whisper hallucination detection automatically discards output where language confidence is below 40% or the output is repetitive β the record will have transcriptAvailable: false with an explanatory error field.
Model Comparison
| Model | Speed | Quality | Best For |
|---|---|---|---|
tiny | ~30s/video | Lower | Quick drafts, high-volume batch |
base | ~60s/video | Good | General use (recommended) |
small | ~120s/video | Better | Non-English, accented speech |
FAQ
Does this require a Snapchat account or login? No. All data is extracted from public Spotlight pages without authentication.
Will every video have a transcript?
Most popular Spotlight videos have native WebVTT captions. For videos without them, Whisper AI can transcribe the audio. Videos that are silent, mostly music, or very short may return transcriptAvailable: false.
How accurate are the transcripts?
Native transcripts are Snapchat's own captions β very accurate for English speech. Whisper base model achieves ~95% word error rate for clear English audio. Use small for non-English or heavily accented content.
Can I get transcripts in other languages?
Yes. Native transcripts are language-specific (Snapchat generates them per language). For Whisper, set language to the ISO 639-1 code (e.g. ur for Urdu, es for Spanish) for better accuracy, or leave it empty for auto-detection.
How do I handle rate limits? The scraper retries automatically on 429 and 5xx responses with exponential backoff. For large batches, Apify proxy is recommended.
What video formats does Whisper support? The scraper downloads the native Snapchat CDN video (typically H.264 MP4) and converts it to 16 kHz mono MP3 before transcription. Any video with an audio track will work.
How long does Whisper transcription take?
Roughly 0.5β2Γ the video duration on CPU (the base model on a typical Snapchat Spotlight video of 15β60 seconds takes 15β60 seconds of processing time). Cloud actors run on 2β4 vCPU machines.
Other Snapchat Scrapers
Explore the full Snapchat scraper suite on Apify:
- Snapchat Profile Scraper β Full public profile data, highlights, lenses, story snaps
- Snapchat Hashtag Scraper β Spotlight videos by hashtag or topic
- Snapchat User Stories Scraper β Curated highlights and active story snaps
- Snapchat Video Downloader β Direct CDN URLs for Spotlight videos
- Snapchat Search Scraper β Unified search across videos, lenses, users, topics, and places
- Snapchat Lens Scraper β AR lens details, trending lenses, lens search
- Snapchat Publisher Scraper β Publisher/show pages with premium episodes and seasons
- Snapchat Ads Gallery Scraper β EU/UK Snapchat ad library with impressions data
- Snapchat Spotlight Comments Scraper β Comment threads from Spotlight videos and creator profiles
- Snapchat Topic Scraper β Topic page spotlight videos with related tags and hierarchy
- Snapchat Snapcode Scraper β Snapcode images (SVG/PNG) for any username
- Snapchat Snap Map Scraper β Public Snap Map stories by location
- Snapchat Discover Scraper β Discover page premium publisher stories and episodes
