Snapchat Spotlight Video Transcript Extractor avatar

Snapchat Spotlight Video Transcript Extractor

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Snapchat Spotlight Video Transcript Extractor

Snapchat Spotlight Video Transcript Extractor

Turn Snapchat Spotlight video URLs into timestamped transcripts, using native captions when Snapchat provides them and AI speech recognition otherwise, plus duration, caption and upload metadata.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Xyrelith Data

Xyrelith Data

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

9 hours ago

Last modified

Features

Limited permissions

Share

Public Snapchat Spotlight clips carry spoken words that Snapchat does not always show as text in a reusable form. This actor returns a clean transcript for each clip — first trying the caption track Snapchat already published, then, when asked, generating one from the audio with speech recognition.

You can feed it exact Spotlight links, a creator's pinned Spotlight videos, a hashtag page, or a country's trending Spotlight feed. Every row also includes the creator, engagement counts, video timing and thumbnail so the transcript can be joined to the rest of your data.

What you get

  • Published captions when available. Snapchat exposes a WebVTT caption file for many videos. The actor downloads it, parses the cue timings, and returns both segments and the concatenated fullText.
  • Speech recognition as a fallback. For videos without published captions, auto mode transcribes the audio with Whisper. Three model sizes trade speed for accuracy.
  • Four ways to choose videos. Paste links, pull a creator's pinned Spotlight highlights, browse a hashtag, or page through a country feed.
  • Metadata alongside text. Creator handle and display name, avatar, title, description, embedded caption, keywords, hashtags, duration, upload date, resolution, and view/share/comment/like counts.
  • Smaller datasets on demand. Turn off timed segments to keep fullText, wordCount and segmentCount without the per-cue array.
  • Clean rows. Empty values are omitted instead of written as null, and each row carries recordType, sourceUrl and scrapedAt.

Modes

ModeWhat it readsTypical input
bySpotlightUrlsThe exact videos you pastehttps://www.snapchat.com/spotlight/<id>, https://www.snapchat.com/@user/spotlight/<id>, https://t.snapchat.com/<code>, or a bare snap ID
byUsernameA public creator's pinned Spotlight highlightsbrentrivera, @brentrivera, https://www.snapchat.com/@brentrivera
byTopicVideos listed on a hashtag pagecomedy, #comedy, https://www.snapchat.com/tag/comedy
byFeedA country's trending Spotlight feed, 25 videos per pageUS, GB, PK

Discovery modes stop after maxVideosPerSource videos per handle, hashtag or feed. maxItems caps the total number of rows in the run.

Output fields

FieldDescription
recordTypeAlways spotlightTranscript
snapIdSpotlight snap ID
sourceUrlCanonical Snapchat page for the video
modebySpotlightUrls, byUsername, byTopic or byFeed
inputUrlThe link you supplied (paste-URL mode only)
discoveredViaHandle, hashtag or country that surfaced the video (discovery modes only)
titleSnapchat's generated title, when present
descriptionSnapchat's generated description, when present
captionCaption embedded in the video
usernameCreator's Snapchat handle
creatorNameCreator's display name
creatorUrlCreator profile link
creatorAvatarUrlCreator avatar image link
videoUrlDirect CDN video link (may expire)
thumbnailUrlThumbnail image link
durationSecondsVideo length in seconds
uploadedAtUpload time, ISO 8601 UTC
width, heightVideo dimensions in pixels
keywordsKeywords Snapchat associates with the video
hashtagsHashtag entries from the keyword list
viewCount, shareCount, commentCount, likeCountPublic engagement counts at scrape time
transcriptSourcenative for published captions, whisper for generated text
transcriptAvailableWhether a usable transcript was produced
transcriptUrlWebVTT caption file link, when one exists
languageen for published captions; detected or hinted code for generated transcripts
languageProbabilityLanguage-detection confidence (0-1) for generated transcripts
whisperModelModel size used for generated transcripts
segmentsTimed cues: [{startTime, endTime, text}]
segmentCountNumber of cues
fullTextWhole transcript as one string
wordCountWord count of fullText
scrapedAtWhen the row was produced, ISO 8601 UTC
errorExplanation when fetching or transcription failed for that row

Input

FieldTypeDefaultDescription
modestringbySpotlightUrlsWhich discovery path to use.
spotlightUrlsarray–Links or IDs; required when mode is bySpotlightUrls.
usernamesarray–Creator handles; used when mode is byUsername.
topicsarray–Hashtags or topics; used when mode is byTopic.
countrystringUSTwo-letter feed country; used when mode is byFeed.
transcriptionMethodstringautoauto, native or whisper.
whisperModelstringbasetiny, base or small.
languagestringautoOptional language hint for speech recognition.
includeSegmentsbooleantrueInclude the timed segments array.
maxItemsinteger100000Maximum rows to push, including error rows.
maxVideosPerSourceinteger20Videos collected per handle, hashtag or feed.

Legacy keys from the previous version (spotlightUrl, urls, startUrls, maxResults, method, model) are still accepted and mapped to the current fields when the new key is absent.

{
"mode": "bySpotlightUrls",
"spotlightUrls": [
"https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYYmViYXF5amNyAZXOAULlAZXOAOzLAAAAAQ",
"https://t.snapchat.com/example"
],
"maxItems": 5
}

Transcribe a creator's pinned Spotlight videos

{
"mode": "byUsername",
"usernames": ["brentrivera"],
"maxVideosPerSource": 10,
"transcriptionMethod": "auto"
}

Browse a hashtag with a fixed transcript style

{
"mode": "byTopic",
"topics": ["comedy"],
"maxVideosPerSource": 20,
"transcriptionMethod": "whisper",
"whisperModel": "small",
"language": "en"
}

Page a country feed

{
"mode": "byFeed",
"country": "GB",
"maxVideosPerSource": 50,
"includeSegments": false
}

How it reads Snapchat

All requests are anonymous: no login, cookie, API key or proxy account is needed. The actor reads the public video page, its embedded Schema.org VideoObject data, the published WebVTT caption file, and the public Spotlight discovery surfaces (profile highlights, tag pages and the feed's public GraphQL query). When a page is unavailable, the transcript endpoint for that snap ID is used as a fallback.

Limits and notes

  • Published captions exist only for some videos. In a mixed 34-video probe, 8 had native captions; the rest need auto or whisper if you want text.
  • Native captions are returned with language: en, matching Snapchat's published caption behaviour.
  • Creator mode uses pinned Spotlight highlights (usually around 16 videos), not a creator's complete posting history.
  • Tag pages usually list 20-35 videos; feed pages return 25 videos per page and are paged until maxVideosPerSource is reached.
  • CDN video and thumbnail links can expire. Re-run the actor or copy the files if you need durable media.
  • A video with no speech, only music, or very low confidence returns transcriptAvailable: false plus an error instead of invented text.
  • A removed, expired or region-blocked clip returns a row with transcriptAvailable: false and an explanatory error.
  • Follower counts, sound/lens names and recommendation counts are not published on the clip page, so they are not returned.
  • Comments, downloads, private profiles and login-gated content are outside this actor's scope.

FAQ

Do I need a Snapchat account?

No. The actor only reads public pages and public caption files.

What happens when a video has no published captions?

With auto, the actor downloads the video and runs speech recognition. With native, it returns transcriptAvailable: false and explains why.

Which Whisper model should I pick?

base is the usual choice. tiny is faster and cheaper for clear speech. small helps with accents and non-English audio.

Can I request transcripts in a particular language?

Set language to an ISO 639-1 code for speech recognition. Published captions are returned as Snapchat provides them.

Why is a transcript missing segments?

The video may have text but no caption file, or you may have turned off includeSegments. fullText, wordCount and segmentCount remain available.

Are results identical on every run?

Transcript text and metadata are stable, but engagement counters and CDN links change over time, and discovery modes can surface a slightly different set as feeds rotate.