Snapchat Spotlight Videos Scraper avatar

Snapchat Spotlight Videos Scraper

Pricing

from $1.32 / 1,000 spotlight video extracteds

Go to Apify Store
Snapchat Spotlight Videos Scraper

Snapchat Spotlight Videos Scraper

Discover public Snapchat Spotlight videos and export creator, media, caption, engagement, rank, URL, and observation data for recurring trend monitoring.

Pricing

from $1.32 / 1,000 spotlight video extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Browse Snapchat's anonymously public Spotlight surface and export normalized snapchat spotlight videos for creator, trend, and campaign research.

The Actor works without a Snapchat login. It can browse the current public Spotlight feed or extract specific public Spotlight URLs. Each useful row includes stable story and snap identifiers, source rank, creator fields, media references, engagement counts, and an observation timestamp.

What does Snapchat Spotlight Videos Scraper do?

The Actor turns Snapchat's public Spotlight web pages into analysis-ready records.

Use it to:

  • discover videos without supplying known URLs;
  • capture the order shown on the public Spotlight page;
  • resolve a known public Spotlight URL;
  • collect creator identity when Snapchat attributes a video;
  • export public media and thumbnail references;
  • compare engagement observations between scheduled runs;
  • filter the current feed by a minimum view count.

It does not log in, post content, bypass privacy settings, or access private snaps.

Who is this Actor for?

Social media researchers

Create a snapshot of the current public feed for qualitative or quantitative analysis.

Creator and talent teams

Identify public creators appearing in the observed Spotlight selection and retain source URLs for review.

Brand and campaign analysts

Track public video captions, hashtags, creators, and visible engagement signals over time.

Data teams

Send consistent JSON rows to a warehouse, spreadsheet, webhook, or automation pipeline.

Why use this Spotlight discovery scraper?

Most Spotlight tools begin with a URL or profile you already know. This Actor also starts from the anonymously available discovery feed.

Its output is designed for recurring observations:

  • storyId and snapId support deduplication;
  • sourceRank preserves observed feed order;
  • observedAt distinguishes repeated snapshots;
  • engagement counts remain numeric;
  • nullable fields reflect what Snapchat actually exposes;
  • malformed or unrecognized upstream pages fail clearly instead of producing misleading empty data.

The implementation uses public embedded page data and does not download media files. That keeps runs lightweight while preserving the public media references exposed by Snapchat.

What Snapchat Spotlight data can I extract?

FieldMeaning
storyIdStable Spotlight story identifier
snapIdStable snap identifier
sourceRankOne-based rank in the observed discovery feed
sourceTypediscovery or url
urlCanonical public Spotlight URL
titlePublic or generated video title when exposed
descriptionPublic video description when exposed
captionEmbedded text caption when exposed
creatorUsernameAttributed public creator username
creatorDisplayNameAttributed creator display name
creatorUrlPublic creator profile URL
creatorFollowerCountFollower count when exposed
thumbnailUrlPublic preview image reference
mediaUrlPublic media CDN reference
mediaTypeNormalized video, image, or unknown type
durationMsDuration in milliseconds
width, heightMedia dimensions
viewCountVisible view count
shareCountVisible share count
commentCountVisible comment count
boostCountVisible boost count
recommendCountVisible recommendation count
hashtagsPublic hashtags attached to the video
postedAtPublication timestamp when exposed
observedAtTimestamp of this Actor observation

Fields can be null when Snapchat does not expose them for a record.

How to scrape Snapchat Spotlight videos

  1. Open the Actor in Apify Console.
  2. Leave Spotlight video URLs empty to browse the current public feed.
  3. Set Maximum videos to the largest number of rows you need.
  4. Optionally set Minimum view count to create a high-engagement shortlist.
  5. Click Start.
  6. Open the Dataset tab to inspect, download, or integrate the results.

A useful first run is:

{
"maxItems": 10,
"minViewCount": 0
}

Input parameters

startUrls

Optional array of public Snapchat Spotlight URLs. Accepted paths look like:

https://www.snapchat.com/spotlight/<spotlight-id>
https://www.snapchat.com/@creator/spotlight/<spotlight-id>

When omitted or empty, the Actor browses the current discovery feed. A maximum of 50 unique explicit URLs is processed per run.

maxItems

Maximum useful records to save. The allowed range is 1 through 100 and the default is 25. The current public page can naturally expose fewer records.

minViewCount

Keep only records with at least this many currently exposed views. The default is 0. The same filter applies to discovery and explicit-URL inputs.

Output example

This shortened example reflects the current output shape. Values are illustrative and anonymized:

{
"storyId": "W7_EXAMPLE_SPOTLIGHT_STORY_ID",
"snapId": "W7_EXAMPLE_SPOTLIGHT_SNAP_ID",
"sourceRank": 1,
"sourceType": "discovery",
"url": "https://www.snapchat.com/spotlight/W7_EXAMPLE_SPOTLIGHT_STORY_ID",
"title": "A sunny afternoon in the park",
"caption": "Weekend walk #outdoors",
"creatorUsername": "examplecreator",
"creatorDisplayName": "Example Creator",
"thumbnailUrl": "https://cf-st.sc-cdn.net/example-thumbnail.jpg",
"mediaUrl": "https://bolt-gcdn.sc-cdn.net/example-video.mp4",
"mediaType": "video",
"durationMs": 9800,
"viewCount": 120000,
"commentCount": 85,
"hashtags": ["#outdoors"],
"postedAt": "2025-01-15T12:00:00.000Z",
"observedAt": "2025-01-15T12:05:00.000Z"
}

The default dataset is available as JSON, CSV, Excel, XML, RSS, or HTML through Apify.

How much does it cost to discover Snapchat Spotlight videos?

The Actor uses pay-per-event pricing. A run has a small one-time start charge and then charges only for useful Spotlight rows saved to the dataset. Rejected, duplicate, filtered, or failed records are not item-charged.

At the current BRONZE price of $0.0022 per saved video plus a $0.004 run start, typical examples are:

Saved videosBRONZE calculation
1$0.004 start + 1 × $0.0022
10$0.004 start + 10 × $0.0022
25$0.004 start + 25 × $0.0022
100 explicit URLs$0.004 start + 100 × $0.0022

Higher subscription tiers receive lower item prices. Apify displays the applicable tier before you start a run. Infrastructure usage may be shown separately according to your Apify plan and the active pricing configuration.

Recurring monitoring workflow

A dataset row is an observation, not a permanent statement about ranking or engagement. For recurring monitoring:

  1. Create an Apify Task with discovery input.
  2. Schedule it at an interval suitable for your research.
  3. Store snapId, sourceRank, engagement fields, and observedAt.
  4. Compare snapshots in your warehouse or automation tool.
  5. Treat missing records as absent from that observation, not deleted from Snapchat.

Example high-view filter:

{
"maxItems": 25,
"minViewCount": 1000000
}

Export to spreadsheets and data pipelines

Download the Dataset tab as CSV or Excel for manual analysis. For automated work, use the dataset API or connect Apify integrations.

Useful patterns include:

  • append every scheduled run to a warehouse;
  • deduplicate one-time research by snapId;
  • preserve multiple rows per snapId for time-series analysis;
  • notify a team when a new observed row crosses an engagement threshold;
  • join creatorUsername to your authorized creator research tables.

Run with the Apify API

Replace YOUR_TOKEN with an Apify API token.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~snapchat-spotlight-discovery-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"maxItems":10,"minViewCount":0}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/snapchat-spotlight-discovery-scraper').call({
maxItems: 10,
minViewCount: 0,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("automation-lab/snapchat-spotlight-discovery-scraper").call(
run_input={"maxItems": 10, "minViewCount": 0}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Use with MCP and AI assistants

Add the Actor to Claude Code through Apify MCP:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/snapchat-spotlight-discovery-scraper"

Claude Desktop setup

Use this MCP configuration in Claude Desktop:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/snapchat-spotlight-discovery-scraper"
}
}
}

Cursor setup

Add the same HTTP MCP URL in Cursor Settings → Tools & MCP → New MCP Server.

VS Code setup

Add the same HTTP MCP server to your workspace MCP configuration, then enable the automation-lab/snapchat-spotlight-discovery-scraper tool.

Example prompts:

  • “Browse 10 public Snapchat Spotlight videos and summarize the exposed topics.”
  • “Extract this public Spotlight URL and return its creator and engagement fields.”
  • “Find videos in the current observation with at least one million views.”

AI-generated interpretations should retain the source URL and observation time.

Limits and data freshness

  • The discovery mode represents the public web feed returned for that run.
  • It is not a complete historical archive or a promise of global coverage.
  • Feed order and selection can vary by time and Snapchat's own ranking.
  • The Actor currently performs one public discovery-page request and does not paginate beyond the records embedded there.
  • Explicit URLs must remain anonymously reachable.
  • Media URLs are references and may expire or change.
  • Engagement values can change after collection.
  • Titles, captions, creator identity, and counts can be absent.
  • The Actor does not download or store media files.
  • The Actor does not scrape comments, transcripts, profiles, private stories, or login-only data.

Reliability and failure behavior

Transient transport failures are retried a bounded number of times. An invalid input URL fails validation before a request is made. With several explicit URLs, one unavailable target is isolated while other valid targets can still produce rows. If every target fails, the Actor run fails with a diagnostic message.

A valid discovery response with no rows passing minViewCount is a successful zero-result run. An unrecognized Snapchat page structure is an error rather than a silent empty result.

For troubleshooting, first retry with minViewCount set to 0 and a small maxItems.

Use the Actor only for lawful collection of anonymously public information. Respect Snapchat's terms, intellectual-property rights, privacy rights, and applicable laws. Do not use the output to harass people, infer sensitive traits, build prohibited surveillance, or republish media without permission.

You are responsible for your input, retention policy, downstream use, and any required notices or consent. Public availability does not remove copyright or privacy obligations.

FAQ

Does this Actor require a Snapchat account?

No. It reads anonymously available public web pages.

Can it discover videos without known URLs?

Yes. Leave startUrls empty to use the current public Spotlight discovery feed.

Can it process a known Spotlight URL?

Yes. Supply one or more public Spotlight URLs in startUrls.

Why did I receive fewer rows than maxItems?

The public feed may expose fewer records, your view filter may reject records, or a supplied URL may no longer be public. maxItems is a ceiling, not a guaranteed count.

Why are some fields null?

Snapchat does not expose every creator, caption, title, metric, or timestamp on every public record. Null values preserve that distinction.

Does mediaUrl mean the video is stored in my run?

No. It is the public CDN reference exposed by Snapchat at observation time.

How do I monitor changes?

Schedule an Apify Task and compare snapId, engagement fields, sourceRank, and observedAt between run datasets.

What if Snapchat changes its page?

The Actor validates the structured feed. A structural change should produce a clear failed run rather than incorrect rows; check the run log and retry later.

Choose this Actor when the job begins with Spotlight discovery or normalized Spotlight video observations.