Pricing
from $1.00 / 1,000 results
Snapchat Hashtag Scraper
Scrape Snapchat Spotlight videos by hashtag. Extracts video metadata, engagement stats (views, likes, shares, comments), creator info, and download URLs.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer
Actor stats
0
Bookmarked
35
Total users
9
Monthly active users
a day ago
Last modified
Categories
Share
Collect Snapchat Spotlight videos by hashtag or topic β no login, no API key, no browser automation needed. Supply any hashtag, topic name, or topic URL and get video metadata, direct download URLs, engagement stats (views, likes, shares, comments), creator profiles, and AI-generated descriptions in seconds.
Perfect for trend research, content discovery, influencer identification, social listening, and competitive analysis on Snapchat.
What You Get
- Up to 32 Spotlight videos per hashtag from Snapchat's public server-rendered pages
- Direct video download URLs (watermarked and unwatermarked)
- Full engagement metrics: view count, like count, share count, comment count, remix count
- Creator profile info: username, display name, and profile URL
- AI-generated title, description, and keywords for each video (via Snapchat's LLM metadata)
- Related topic tags and scene-to-interest (S2I) tags
- Thumbnail URLs, video dimensions, duration, and upload timestamps
- Works without a Snapchat account or cookies
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
hashtags | string[] | Yes | β | Hashtags, topic names, or topic URLs. Examples: food, #travel, humor, https://www.snapchat.com/topic/humor |
resultsPerHashtag | integer | No | 30 | Max videos to extract per hashtag (1β32). Snapchat's SSR page returns at most 32 results |
includeVideoUrls | boolean | No | true | Include direct video download URLs. Note: URLs contain expiring tokens |
includeRelatedTopics | boolean | No | true | Include related topic tags and S2I tags in each record |
includeLlmMetadata | boolean | No | true | Include AI-generated title, description, and keywords from Snapchat's metadata |
proxyConfiguration | object | No | β | Apify proxy settings. Most hashtags work without proxy |
Example Input
{"hashtags":["food","#travel","humor"],"resultsPerHashtag":30,"includeVideoUrls":true,"includeRelatedTopics":true,"includeLlmMetadata":true}
Output
One record is produced per Spotlight video. All fields use snake_case. Fields with no data are omitted from the record.
Core Video Fields
| Field | Type | Description |
|---|---|---|
snap_id | string | Unique Spotlight snap ID |
story_id | string | Story ID this snap belongs to |
snap_url | string | Public URL to the Spotlight video (https://www.snapchat.com/spotlight/{snap_id}) |
video_url | string | Direct video download URL (watermarked). Present when includeVideoUrls is true |
video_url_unwatermarked | string | Direct video URL without watermark. Present when includeVideoUrls is true |
thumbnail_url | string | Video thumbnail image URL |
video_thumbnail_url | string | Alternate video-specific thumbnail URL |
large_thumbnail_url | string | Large-format thumbnail URL |
encoding_format | string | Video encoding format (typically "video/mp4") |
duration_seconds | number | Video duration in seconds |
width | integer | Video width in pixels |
height | integer | Video height in pixels |
upload_date | string | Upload timestamp (ISO 8601 UTC) |
searched_hashtag | string | The hashtag/topic that was searched to find this video |
scraped_at | string | Scrape timestamp (ISO 8601 UTC) |
Creator Fields
| Field | Type | Description |
|---|---|---|
creator_username | string | Creator's Snapchat username |
creator_display_name | string | Creator's display name |
creator_profile_url | string | Creator's profile URL |
Engagement Stats
| Field | Type | Description |
|---|---|---|
view_count | integer | Total view count |
like_count | integer | Total boost/like count |
share_count | integer | Total share count |
comment_count | integer | Total live comment count |
remix_count | integer | Total remix count |
recommend_count | integer | Total recommend count |
rewatch_count | integer | Total rewatch count (sparse) |
screenshot_count | integer | Total screenshot count (sparse) |
pending_comment_count | integer | Pending/unmoderated comment count (sparse) |
Content Fields
| Field | Type | Description |
|---|---|---|
description | string | Video description text (from snap or LLM fallback) |
caption | string | Embedded caption text |
keywords | string[] | Keywords derived from LLM metadata or hashtags in description |
sub_titles | array | Overlay subtitle/caption objects embedded in the snap |
attachment_url | string | External link attached to the snap (sparse) |
Story Metadata Fields
| Field | Type | Description |
|---|---|---|
composite_story_id | string | Composite story ID for multi-snap stories |
story_subtype | integer | Story subtype identifier |
is_featured | boolean | Whether the video is featured/promoted |
is_creator_suggestion | boolean | Whether this is a creator suggestion card |
score | integer | Internal ranking score |
latest_update_at | string | Last update timestamp for the story (ISO 8601 UTC) |
AI Metadata Fields
Present when includeLlmMetadata is true.
| Field | Type | Description |
|---|---|---|
llm_title | string | AI-generated title for the video |
llm_description | string | AI-generated description of the video content |
llm_keywords | string[] | AI-generated keyword tags |
Scene & Topic Tags
| Field | Type | Description |
|---|---|---|
s2i_tags | string[] | Scene-to-interest tags derived from video content |
Related Topics
Present when includeRelatedTopics is true. These fields are added to every record from the same hashtag search.
| Field | Type | Description |
|---|---|---|
related_topics | object[] | Related topic tags. Each entry: {tagName, score, level} |
related_s2i_tags | object[] | Related scene-to-interest tags. Each entry: {tagName, score, level} |
Example Output
{"snap_id":"AbCdEf1234567890","story_id":"story-xyz-001","snap_url":"https://www.snapchat.com/spotlight/AbCdEf1234567890","video_url":"https://cf-st.sc-cdn.net/video/watermarked.mp4?token=abc","video_url_unwatermarked":"https://cf-st.sc-cdn.net/video/clean.mp4?token=xyz","thumbnail_url":"https://cf-st.sc-cdn.net/thumb/food-snap.jpg","encoding_format":"video/mp4","duration_seconds":12.6,"width":1080,"height":1920,"creator_username":"foodiequeen","creator_display_name":"Foodie Queen","creator_profile_url":"https://www.snapchat.com/@foodiequeen","view_count":248000,"like_count":14300,"share_count":3200,"comment_count":870,"remix_count":45,"description":"Best tacos in LA β you have to try this!","keywords":["tacos","food","LA","streetfood"],"upload_date":"2026-06-25T14:10:00+00:00","searched_hashtag":"food","llm_title":"Delicious street tacos in Los Angeles","llm_description":"A creator shows off their favourite taco spot in LA with vivid close-up shots.","llm_keywords":["tacos","streetfood","losangeles","foodie"],"s2i_tags":["food","mexican_cuisine","street_food"],"related_topics":[{"tagName":"cooking","score":0.87,"level":1},{"tagName":"recipe","score":0.74,"level":2}],"related_s2i_tags":[{"tagName":"restaurant","score":0.91,"level":1}],"scraped_at":"2026-06-28T12:00:00+00:00"}
FAQ
Do I need a Snapchat account or cookies? No. The scraper fetches public Snapchat topic pages over HTTP without any credentials or browser automation.
How many results can I get per hashtag?
Snapchat's server-rendered pages contain at most 32 Spotlight results per hashtag. Set resultsPerHashtag to any value between 1 and 32.
Can I use topic names without a # symbol?
Yes. You can pass bare words like food, hash-prefixed like #travel, or full topic URLs like https://www.snapchat.com/topic/humor. The scraper normalises all formats automatically.
How long are the video download URLs valid? Video URLs contain signed CDN tokens that expire after a period set by Snapchat (typically hours to a few days). Download or proxy the media as soon as possible after scraping.
What is the difference between video_url and video_url_unwatermarked?
video_url is the watermarked version Snapchat displays to end users. video_url_unwatermarked is a clean version without the Snapchat overlay, when available in the page data.
What are S2I tags? Scene-to-interest (S2I) tags are Snapchat's internal content classification labels derived from visual analysis of the video. They are useful for categorising content beyond user-supplied hashtags.
What does includeLlmMetadata add?
When enabled, three extra fields are added to each record: llm_title (a concise title generated by Snapchat's AI), llm_description (a sentence or two describing the video), and llm_keywords (keyword tags). These are embedded by Snapchat in the page metadata and require no additional API calls.
Other Snapchat Scrapers
Explore the full Snapchat scraper suite on Apify:
| Actor | Description |
|---|---|
| Snapchat Profile Scraper | Full profile metadata, highlights, lenses, and spotlight data |
| Snapchat Hashtag Scraper | Spotlight videos by hashtag or topic with AI metadata |
| Snapchat User Stories Scraper | Curated highlights and active story snaps |
| Snapchat Spotlight Video Downloader | Download Spotlight videos with AI metadata, transcripts, and comments |
| Snapchat Search Scraper | Search across videos, lenses, users, places, and shows |
| Snapchat Lens Scraper | AR lens metadata, trending lenses, and creator info |
| Snapchat Publisher Scraper | Discover publisher pages, shows, episodes, and spotlights |
| Snapchat Ads Gallery Scraper | EU/UK ad transparency library β ads and sponsored content |
| Snapchat Spotlight Comments Scraper | Comment threads from Spotlight videos |
| Snapchat Topic Scraper | Spotlight videos by topic with related tags |
| Snapchat Snapcode Scraper | Download Snapcode images (SVG/PNG) for any username |
| Snapchat Snap Map Scraper | Public Snap Map places and their latest snaps |
| Snapchat Discover Scraper | Shows and stories from Snapchat's Discover feed |
