Snapchat Spotlight Hashtag Video Extractor avatar

Snapchat Spotlight Hashtag Video Extractor

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Snapchat Spotlight Hashtag Video Extractor

Snapchat Spotlight Hashtag Video Extractor

Pull Snapchat Spotlight videos published under a hashtag or topic, with engagement stats, creator details, AI-generated descriptions and related topic tags.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

vexaloom-labs

vexaloom-labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Features

Limited permissions

Share

Snapchat's public Spotlight surface publishes short videos under hashtags, long-tail topic hubs, and an anonymous up-next feed. This actor collects those videos — by hashtag, topic URL, specific Spotlight link, or a paginated feed walk — and returns creator identity, engagement counts, media links, captions, hashtags, Snapchat's AI metadata, and hashtag context. No Snapchat account, cookie, API key, or proxy is needed.

Modes

ModeWhat it collectsInput
Hashtag or topic videosOne combined, deduplicated pool per hashtag: the tag page (about 28-32 videos) plus Explore results when Snapchat serves them, with optional video-detail enrichmenthashtags
Paginated Spotlight feedThe anonymous Spotlight up-next feed, page by page, until feedPages or maxItems is reachedfeedPages, optional spotlightUrls seed
Specific Spotlight URLsOne row per public Spotlight link or raw Snap IDspotlightUrls

Tag pages do not paginate (?page, ?cursor, ?offset, ?limit are ignored by Snapchat), so hashtag mode widens coverage by combining the tag page with Explore when it is available and — when enabled — enriching each video from Snapchat's public fetchSpotlight endpoint. Explore is best-effort: Snapchat sometimes returns 404 for /explore/<query>, in which case the tag page is still returned. Feed mode uses the same up-next API the public Spotlight viewer calls.

Input

FieldTypeDefaultDescription
modeselecthashtagFeedhashtagFeed, spotlightFeed, or spotlightUrls
hashtagsarray[]Bare words, #tags, Snapchat tag/topic/Explore paths or URLs, or a Spotlight video URL
resultsPerHashtaginteger50Keep up to this many videos per hashtag after merge (1-200)
includeVideoUrlsbooleantrueInclude watermarked and unwatermarked MP4 CDN links
includeRelatedTopicsbooleantrueInclude related topics, related hashtags, and S2I tags
includeLlmMetadatabooleantrueInclude Snapchat AI title, description, and keywords
includeHashtagMetadatabooleantrueInclude hashtag id/name/URL/source/description/video count
enrichDetailsbooleantrueBatch-fetch public video details (unwatermarked URL, hashtags, AI metadata, exact counts)
spotlightUrlsarray[]Spotlight links/IDs for URL mode, or an optional feed seed
feedPagesinteger5Up-next pages to request in feed mode (1-50, about 20-23 videos/page)
maxItemsinteger1000Hard cap on total rows (1-10,000)
minViewsinteger0Keep videos with at least this many views
minLikesinteger0Keep videos with at least this many likes
sinceDatestring""Keep videos uploaded on or after YYYY-MM-DD
sortByselectsourceOrder within each hashtag group: source, newest, mostViewed, or mostLiked

Example: one hashtag

{
"mode": "hashtagFeed",
"hashtags": ["food"],
"resultsPerHashtag": 50,
"maxItems": 50
}

Example: several hashtags with a view filter

{
"mode": "hashtagFeed",
"hashtags": ["#travel", "humor", "https://www.snapchat.com/topic/cappuccino-foam-technique"],
"resultsPerHashtag": 40,
"minViews": 10000,
"sortBy": "mostViewed",
"maxItems": 100
}

Example: paginated Spotlight feed

{
"mode": "spotlightFeed",
"feedPages": 5,
"maxItems": 75
}

Example: specific Spotlight videos

{
"mode": "spotlightUrls",
"spotlightUrls": [
"https://www.snapchat.com/@sema_janu/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYYm1lZmlnbGh2AZ_JQccIAZ_JQLedAAAAAQ",
"W7_EDlXWTBiXAEEniNoMPwAAYZWF3aHF1eGNoAZ7bAR9JAZ7bAR8hAAAAAQ"
]
}

Output

Each row is one Spotlight video.

  • snap_id, story_id, composite_story_id, story_subtype, snap_url — Snapchat identifiers and public URL
  • video_url, video_url_unwatermarked, thumbnail_url, video_thumbnail_url, large_thumbnail_url, embed_url — media links (CDN tokens expire)
  • duration_seconds, width, height, encoding_format — media facts
  • creator_username, creator_display_name, creator_profile_url — creator identity
  • view_count, like_count, share_count, comment_count, pending_comment_count, remix_count, recommend_count, rewatch_count, screenshot_count, score — engagement and ranking signals
  • description, caption, keywords, hashtags, sub_titles, attachment_url — text content
  • upload_date, latest_update_at, scraped_at — ISO 8601 UTC timestamps
  • llm_title, llm_description, llm_keywords, s2i_tags, detected_language — Snapchat AI and content classification
  • sound_title, sound_artist, sound_thumbnail_url — sound context when Snapchat exposes it
  • searched_hashtag, hashtag_id, hashtag_name, hashtag_url, hashtag_source, hashtag_description, hashtag_video_count — hashtag/topic context
  • related_topics, related_s2i_tags, related_hashtags — related topic graph and Explore topic rows
  • record_type, source_type, rank, feed_page — provenance (which surface produced the row)

Empty fields are omitted, never written as null, "", [], or {}. A field is present only when Snapchat actually supplied it.

Use cases

  • Trend research — see which Spotlight videos a hashtag is pushing right now
  • Creator discovery — find active creators in a niche with exact view/like/share counts
  • Social listening — repeat runs to track engagement movement for the same videos
  • Brand-safety review — scan s2i_tags, hashtags, and AI descriptions before associating a campaign with a hashtag
  • Media archiving — collect CDN MP4 and thumbnail links for a bounded set of videos

FAQ

Do I need a Snapchat account, cookies, or a proxy? No. Every surface used here is public and server-rendered, and the actor sends plain HTTP requests with no login, cookie jar, API key, or proxy configuration.

Why does hashtag mode return about 30-50 videos and not thousands? Snapchat's tag pages cap at roughly 28-32 cards and the public tag page ignores page/cursor/offset parameters. Explore adds about 20-25 more with little overlap when Snapchat serves it, so the merged pool is usually about 40-55. This actor does not invent pagination that Snapchat does not expose. Use spotlightFeed mode for open-ended pagination, or run several related hashtags.

How does spotlightFeed paginate? It starts from a public Spotlight video and repeatedly calls Snapchat's up-next endpoint with the last video ID and the accumulated tapStoryKey values, exactly as the public viewer does. feedPages bounds the walk and maxItems caps the output.

Why are some videos missing video_url_unwatermarked? Not every tag-page card includes the clean flat URL. enrichDetails batch-fetches Snapchat's public detail endpoint to fill it when available; some videos still only have the watermarked URL.

How long do video and thumbnail links stay valid? They carry Snapchat CDN tokens. Treat them as short-lived: download or re-host media soon after scraping.

Why do some rows have no description or caption? Feed and detail cards do not always expose creator text; those rows keep the AI llm_description and omit description rather than fabricating one.

Can I pass #food and a full tag URL? Yes. food, #food, https://www.snapchat.com/tag/food, and topic/Explore URLs are all accepted. A full Spotlight video link is also accepted in hashtags and is routed to the video-detail path.

What happens to my old input? The legacy keys hashtags, resultsPerHashtag, includeVideoUrls, includeRelatedTopics, and includeLlmMetadata still work. Old-style inputs that omit mode run in hashtag mode. An old proxyConfiguration key is accepted but ignored.

Limitations

  • Tag pages are capped by Snapchat (about 28-32 videos) and do not paginate. Hashtag mode combines tag + Explore when Explore is available and is intentionally bounded by resultsPerHashtag.
  • Snapchat intermittently returns 404 for /explore/<query>; the actor treats that as a missing surface and returns the tag/topic page rows instead of failing.
  • spotlightFeed follows Snapchat's up-next recommendations; it is a discovery feed, not a hashtag-filtered feed. Rows carry source_type=spotlightFeed so they can be filtered.
  • Comment text and transcripts are not collected; only public engagement counts and metadata are included.
  • Media URLs are signed by Snapchat and can expire. The actor does not re-host media.
  • Feed and detail responses vary by country and can omit fields; those fields are omitted per record.
  • With several hashtags, rows stay grouped in input order; sortBy orders videos within each hashtag group (feed mode sorts the entire feed).