Snapchat User Spotlight Scraper: Creator Profile Stats avatar

Snapchat User Spotlight Scraper: Creator Profile Stats

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Snapchat User Spotlight Scraper: Creator Profile Stats

Snapchat User Spotlight Scraper: Creator Profile Stats

Scrape Snapchat user Spotlight profiles and creator stats, including usernames, profile details, Spotlight videos, views, likes, comments, followers, captions, hashtags, and engagement data. Ideal for creator research, trend analysis, and competitor insights.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

API Empire

API Empire

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

a day ago

Last modified

Share

Snapchat Scraper — Spotlight Videos, Profiles & Stats as JSON

Snapchat User Spotlight Scraper: Creator Profile Stats extracts a public creator's Spotlight videos, their creator profile, their AR lenses, the accounts Snapchat recommends alongside them, and a per-account performance roll-up — all from a single public profile page fetch. Every response returns typed, normalized JSON: no HTML, no selectors, no parsing. Give it a username or profile link and it returns the creator's Spotlight video stats, subscriber count, bio, lenses, related accounts, and computed engagement metrics in one run.

What is Snapchat User Spotlight Scraper: Creator Profile Stats?

Snapchat User Spotlight Scraper: Creator Profile Stats is an Apify Actor that reads a public Snapchat profile page and turns it into five structured row types: Spotlight videos, the creator's profile, their published AR lenses, the accounts Snapchat recommends next to them, and a performance roll-up computed from the same run's videos. No Snapchat account or login is required — the Actor requests only the public snapchat.com/@username page.

  • Scrape Spotlight videos with view counts, engagement, and view-based ranking
  • Scrape the creator profile behind them (subscribers, bio, category, verification)
  • Scrape published AR lenses and Snapchat's recommended related accounts
  • Get a per-account performance roll-up recomputed from the same run's videos
  • Export as JSON or CSV — no proxy management, no parsing

What data does Snapchat User Spotlight Scraper: Creator Profile Stats collect?

The Actor returns five distinct row types per account, each toggleable from Input, plus an uncharged status row when an account can't be read.

Data TypeKey FieldsJSON Field Names
Spotlight videosviews, comments, boosts, engagement rate, view rank, hashtagsviewCount, commentCount, boostCount, engagementRate, viewsRank, hashtags
Creator profilesubscriber count, verification, bio, category, account datessubscriberCount, isVerified, bio, category, accountCreatedAt
AR lenseslens name, creator, unlock link, last updatedlensName, lensCreatorName, lensUnlockUrl, lensUpdatedAt
Related accountsrecommended username, display name, business profile idrelatedUsername, relatedDisplayName, relatedBusinessProfileId
Performance roll-uptotal/median/mean views, weighted engagement rate, posts/weektotalViews, medianViews, weightedEngagementRate, postsPerWeek

Need more Snapchat data?

If you only need the videos with topic and language filters instead of the full creator breakdown, see Snapchat Spotlight Scraper (Language & Topic Filters). To discover new creators by snapcode or bio link rather than scraping accounts you already know, see Snapchat Popular Accounts Scraper By Snapcode & Bio Links.

How does Snapchat User Spotlight Scraper: Creator Profile Stats differ from the official Snapchat API?

Snap's Public Profile API (part of the Snap Marketing API) is a direct comparison here: it exists, but it is not an open, self-serve endpoint for arbitrary public creators. As observed on Snap's developer documentation on 2026-08-15, the Public Profile API requires an OAuth-authenticated Marketing API app (scopes such as snapchat-profile-api), has no endpoint to list or discover creators (Snap states "we don't offer an API for fetching all Creators" — you request Profile ID lists from a Snap contact or search by known username), and its unauthorized/public tier returns only subscriber counts for profiles and shares/views for Spotlight content — deeper metrics, Story data, and demographic breakdowns require the creator to opt in and OAuth into your app.

FeatureSnap Public Profile APISnapchat User Spotlight Scraper
AccessOAuth Marketing API app, scoped approvalActor input, no OAuth or app review
Creator discoveryNo "list all creators" endpoint; ID lists via Snap contactAny public username or profile link
Public-tier fieldsSubscriber count; Spotlight shares/views onlyFull public profile page: bio, category, lenses, related accounts, per-video stats
Deeper metrics (bio, lenses, related accounts)Requires creator OAuth opt-inPublic page data, no creator cooperation needed
OutputMarketing API JSON, scoped to what's authorizedOne typed JSON row per entity per run
Setup timeDeveloper app registration and approvalAdd a username, start the run

Use Snap's Public Profile API when you have a creator's cooperation and need Snap-verified, opted-in metrics for a partnership or ads workflow. Use this Actor when you need public-page data on creators who haven't opted into your app, without an approval process.

Sources checked 2026-08-15: Public Profile API — Introduction, Public Profile API — FAQ.

Why do developers and teams scrape Snapchat?

For AI engineers and agent builders

Spotlight video rows (viewCount, engagementRate, hashtags, llmTitle) and the account-level roll-up (weightedEngagementRate, topHashtag, postsPerWeek) give an agent a ready-made numeric context on creator performance without a parsing step. A trend-monitoring agent can pull snapchatAccounts, rank by viewsRank, and feed the top rows straight into a summarization or alerting tool — every field is typed, so the agent never has to guess whether viewCount is a string or a number.

For marketers and brand teams

Brand and influencer teams use subscriberCount, isVerified, category, and the performance roll-up to shortlist creators for partnerships before reaching out — postsPerWeek and medianViews show posting cadence and typical reach at a glance, and relatedAccounts surfaces adjacent creators Snapchat itself recommends, useful for expanding a shortlist beyond names already known.

For researchers and analysts

Because the Actor only reads what Snapchat's own public profile page serves — no login, no private content — it fits public-data-only research on creator economy trends: hashtag usage (topHashtag, videosWithHashtags), posting frequency (daysCovered, postsPerWeek), and view distribution (medianViews, viewsP25, viewsP75 in the roll-up dataset) across a defined set of accounts.

For developers building data products

rankVideosByViews and the account roll-up are built to be pipeline-ready: every aggregate figure is published next to the real denominator it was computed from (videosAnalyzed, engagementRateSampleSize, videosWithHashtags), so a scheduled run can feed a dashboard or leaderboard without re-deriving numbers from raw video rows.

How to scrape Snapchat Spotlight data (step by step)

  1. Open Snapchat User Spotlight Scraper: Creator Profile Stats on its Apify Store listing and click Try for free (or Run, if already added to your account).
  2. Provide snapchatAccounts — a list of usernames or profile links, e.g. realmadrid or https://www.snapchat.com/@realmadrid. No field is strictly required by the input schema, but the run produces no data without at least one entry.
  3. Set the toggles for which row types you want: includeCreatorProfile, includeLenses, includeRelatedAccounts, includeAccountStats, and cap cost with maxVideosPerAccount. Filter creators with minSubscribers and verifiedOnly before any rows are produced for them.
  4. Click Start and watch the run log — it reports accounts requested, completed, and unavailable, plus a row count per type.
  5. Download results as JSON, CSV, Excel, or any other format the Apify dataset export supports, or pull them via the API.

What to do when Snapchat changes its structure

The Actor is maintained and its output schema is kept stable, so field names and types don't change on your end even when Snapchat's page markup does. No specific turnaround time is promised for fixes.

⬇️ Input

The Actor accepts the following parameters, read directly from .actor/actor.json. No parameter is required.

ParameterRequiredTypeDescriptionExample Value
snapchatAccountsNoarrayPublic Snapchat accounts to scrape. Accepts a bare username (realmadrid) or a profile link (https://www.snapchat.com/@realmadrid). Spotlight video links are not accounts and are ignored.["realmadrid", "nba"]
startUrlsNoarrayAccepted for backward compatibility with the original input format. Same meaning as snapchatAccounts. If both are filled, snapchatAccounts wins. Leave empty unless re-running an old input file.[]
maxVideosPerAccountNointegerUpper bound on Spotlight video rows per account. 0 means no cap. Default 5. Minimum 0.10
includeCreatorProfileNobooleanAdds one row of type "profile" per account with subscriber count, verification, bio, website, address, category, account-created/updated dates, and image links. Default true.true
includeLensesNobooleanAdds rows of type "lens" with the lens name, creator, icon/preview links, unlock link, and last-updated date. Accounts with no published lenses produce no lens rows. Default true.true
includeRelatedAccountsNobooleanAdds rows of type "relatedAccount" for accounts Snapchat recommends alongside this creator: username, display name, profile link, business profile id, and verification. These records are shallow by design (see Output below). Default true.true
minSubscribersNointegerSkip an account entirely when its subscriber count is below this number, before any of its rows are produced. Accounts whose subscriber count Snapchat does not publish are also skipped when this is above 0. 0 means no filter. Default 0.1000000
verifiedOnlyNobooleanSkip accounts that do not carry Snapchat's verification badge, before any of their rows are produced. Default false.false
includeAccountStatsNobooleanAdds one row of type "accountStats" per account with videos analysed, total/median/mean views, 25th/75th view percentiles, median/mean/view-weighted engagement rate, first/last publish date, days covered, posts per week, top hashtag, and best-performing video. Every figure is recomputable from the video rows in the same run. Default true.true
rankVideosByViewsNobooleanAdds viewsRank (1 = most viewed within that account's scraped set) and viewsPercentile to every video row. Videos with no published view count get a null rank rather than being forced into the ordering. Default true.true
proxyConfigurationNoobjectOptional connection settings for this run. The default is fine for most runs.{"useApifyProxy": true}

Example JSON input:

{
"snapchatAccounts": ["realmadrid", "https://www.snapchat.com/@nba"],
"maxVideosPerAccount": 10,
"includeCreatorProfile": true,
"includeLenses": true,
"includeRelatedAccounts": true,
"minSubscribers": 0,
"verifiedOnly": false,
"includeAccountStats": true,
"rankVideosByViews": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Common pitfall: maxVideosPerAccount is prefilled to 5 in the Console's input form, but its own description reads "0 means no cap" — if you call the Actor through the API and omit the field entirely, the run treats the missing value as 0 (no cap) rather than 5. Set it explicitly when automating runs.

⬆️ Output

Results are pushed to the Actor's dataset as typed JSON, one row per entity, and can be exported as JSON, CSV, Excel, XML, RSS, or HTML directly from the Apify Console or via the API. Rows of different types share one dataset (filter on type) and are also mirrored into separate per-run datasets (profiles, lenses, relatedAccounts, accountStats) when the run environment supports it.

Scraped Spotlight video (type: "video")

{
"type": "video",
"isChild": false,
"username": "realmadrid",
"spotlightId": "W7rE9x2FTZ2QAEEniAgh5g",
"spotlightUrl": "https://www.snapchat.com/spotlight/W7rE9x2FTZ2QAEEniAgh5g",
"videoTitle": null,
"llmTitle": "Ronaldo celebrates a last-minute winner",
"description": "What a finish! ⚽🔥",
"viewCount": 4820133,
"shareCount": 15320,
"commentCount": 2114,
"boostCount": 890,
"recommendCount": 6203,
"publishedAt": "2026-06-02T18:24:11Z",
"uploadDate": 1748889851000,
"uploadDateMs": "1748889851000",
"durationMs": 21400,
"durationSeconds": 21.4,
"width": 1080,
"height": 1920,
"thumbnailUrl": "https://cf-st.sc-cdn.net/d/thumb123.jpg",
"contentUrl": "https://cf-st.sc-cdn.net/d/video123.mp4",
"deeplink": "https://www.snapchat.com/spotlight/W7rE9x2FTZ2QAEEniAgh5g?...",
"hashtags": ["realmadrid", "football", "ucl"],
"engagementRate": 0.005069,
"viewsPerHour": 8123.4521,
"viewsRank": 1,
"viewsPercentile": 100.0,
"success": true,
"scrapedAt": "2026-08-15T09:12:03Z"
}

Scraped creator profile (type: "profile")

{
"type": "profile",
"isChild": false,
"username": "realmadrid",
"displayName": "Real Madrid C.F.",
"profileUrl": "https://www.snapchat.com/@realmadrid",
"subscriberCount": 18200000,
"isVerified": true,
"bio": "Official Snapchat of Real Madrid C.F.",
"websiteUrl": "https://www.realmadrid.com",
"address": "Madrid, Spain",
"category": "Sports Team",
"subcategory": "Football Club",
"profilePictureUrl": "https://cf-st.sc-cdn.net/d/profile123.jpg",
"snapcodeImageUrl": "https://app.snapchat.com/web/deeplink/snapcode?...",
"heroImageUrl": "https://cf-st.sc-cdn.net/d/hero123.jpg",
"businessProfileId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"hostUserId": "9f8e7d6c-5b4a-3210-fedc-ba9876543210",
"accountCreatedAt": "2015-03-11T00:00:00Z",
"profileUpdatedAt": "2026-08-01T14:03:22Z",
"hasSpotlight": true,
"hasHighlights": true,
"lensCount": 3,
"relatedAccountCount": 6,
"success": true,
"scrapedAt": "2026-08-15T09:12:03Z"
}

Scraped AR lens (type: "lens")

{
"type": "lens",
"isChild": true,
"username": "realmadrid",
"lensName": "Real Madrid Champions Mask",
"lensCreatorName": "Real Madrid C.F.",
"lensIconUrl": "https://lens.sc-cdn.net/icon456.png",
"lensPreviewImageUrl": "https://lens.sc-cdn.net/preview456.jpg",
"lensPreviewVideoUrl": "https://lens.sc-cdn.net/preview456.mp4",
"lensUnlockUrl": "https://www.snapchat.com/unlock/?type=SNAPCODE&uuid=abc123",
"lensUpdatedAt": "2026-05-14T10:00:00Z",
"success": true,
"scrapedAt": "2026-08-15T09:12:03Z"
}
{
"type": "relatedAccount",
"isChild": true,
"username": "realmadrid",
"relatedUsername": "fcbarcelona",
"relatedDisplayName": "FC Barcelona",
"relatedIsVerified": true,
"relatedBusinessProfileId": "b2c3d4e5-f6a7-8901-bcde-f21234567891",
"relatedProfileUrl": "https://www.snapchat.com/@fcbarcelona",
"success": true,
"scrapedAt": "2026-08-15T09:12:03Z"
}

Scraped performance roll-up (type: "accountStats")

{
"type": "accountStats",
"isChild": true,
"username": "realmadrid",
"videoCount": 10,
"videosAnalyzed": 9,
"viewsSentinelExcluded": 1,
"totalViews": 21400211,
"medianViews": 1980344,
"meanViews": 2377801.2222,
"viewsP25": 1120433.5,
"viewsP75": 3401220.0,
"medianEngagementRate": 0.00412,
"meanEngagementRate": 0.004605,
"weightedEngagementRate": 0.004321,
"engagementRateSampleSize": 9,
"firstVideoAt": "2026-05-01T08:15:00Z",
"lastVideoAt": "2026-08-10T20:41:00Z",
"videosWithPublishDate": 10,
"daysCovered": 101.5215,
"postsPerWeek": 0.6897,
"topHashtag": "football",
"videosWithHashtags": 7,
"bestVideoSpotlightId": "W7rE9x2FTZ2QAEEniAgh5g",
"bestVideoViews": 4820133,
"success": true,
"scrapedAt": "2026-08-15T09:12:03Z"
}

Status row for unreadable or empty accounts (uncharged)

When an account doesn't exist, can't be read on that run, or has no public Spotlight videos, the Actor pushes one status row instead of charging for it:

{
"type": "status",
"isChild": false,
"username": "some-account",
"success": false,
"error": "No public Snapchat account with this name",
"videoCount": 0,
"scrapedAt": "2026-08-15T09:12:03Z"
}

error is one of: "No public Snapchat account with this name", "This account has no public Spotlight videos", or "This account could not be read on this run". These rows are pushed without the row_result charged event (Actor.push_data(row) with no charged_event_name), so they do not count toward your bill. Filter them out of a downstream pipeline with type != "status". Accounts filtered out by minSubscribers or verifiedOnly produce no row at all — not even a status row.

How many results can you scrape with Snapchat User Spotlight Scraper: Creator Profile Stats?

There is no hard cap in the Actor itself on how many accounts you list in snapchatAccounts — every account you add is processed. The only built-in ceiling is maxVideosPerAccount, which trims each account's video list to that number after Snapchat's page returns them (default 5, 0 for no cap). The Actor makes one page request per account rather than paging through results — it reads whatever Spotlight items Snapchat embeds in that account's public profile document on that request, then applies the cap. Concurrency is bounded in code by an aiohttp connector limited to 10 total connections and 2 connections per host, so requests to snapchat.com are throttled to two in flight at a time regardless of how many accounts you list.

Integrate Snapchat User Spotlight Scraper: Creator Profile Stats and automate your workflow

Snapchat User Spotlight Scraper: Creator Profile Stats works with any language or tool that can send an HTTP request.

REST API integration

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run_input = {
"snapchatAccounts": ["realmadrid", "nba"],
"maxVideosPerAccount": 10,
"includeAccountStats": True,
}
run = client.actor("snapchat-user-spotlight-scraper-creator-profile-stats").call(
run_input=run_input
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["type"], item.get("username"))

Works in Python, Node.js, Go, Ruby, cURL.

Automation platforms (n8n, Make, LangChain)

Apify's official n8n node and Make module can call this Actor by its ID as a step in a larger workflow — set the same snapchatAccounts and toggle fields shown in Input above as the node's parameters, then route the resulting dataset items into the rest of your automation.

Scraping publicly accessible data is generally lawful in most jurisdictions; this Actor reads only what Snapchat's own public profile page serves — no login, no private accounts, no gated content. Because that page includes personal data about identifiable individuals and businesses (subscriber counts, bios, addresses, account IDs, related-account handles), GDPR and CCPA still apply to how you store, process, and reuse it once collected, separate from whether accessing it was itself lawful. You are responsible for having a lawful basis for any downstream storage or use of personal data, and for complying with Snapchat's own Terms of Service. Consult legal counsel for commercial use cases involving bulk personal data.

❓ Frequently asked questions

Does Snapchat User Spotlight Scraper: Creator Profile Stats work without a Snapchat account?

Yes. The Actor requests only the public snapchat.com/@username page and needs no Snapchat login, API key, or app approval — just the account's username or profile link.

How often is the scraped data updated?

Every run makes a fresh HTTP request to Snapchat's public profile page at run time. Nothing is cached between runs; scrapedAt on every row reflects when that specific run fetched the account.

What happens if an account doesn't exist or has no Spotlight videos?

The Actor pushes an uncharged status row with type: "status", success: false, and an error message ("No public Snapchat account with this name", "This account has no public Spotlight videos", or "This account could not be read on this run") instead of the usual video/profile rows.

Can I scrape private Snapchat accounts?

No. Only publicly accessible profile pages are read. Private accounts and any content that requires being logged in as a subscriber are not accessible to this Actor.

What counts as a chargeable result?

Every row pushed with the row_result charged event counts — that's every video, profile, lens, relatedAccount, and accountStats row. Status rows for accounts that couldn't be read or had no videos are pushed without that event and are not charged.

Does Snapchat User Spotlight Scraper: Creator Profile Stats work for AI agent workflows and LLM pipelines?

Yes, as an HTTP endpoint callable by any agent framework through the Apify API or apify_client. Every response is typed JSON with stable field names — viewCount, engagementRate, subscriberCount, and so on — so it can be passed directly to an LLM context window or an agent tool without a parsing step.

How does Snapchat User Spotlight Scraper: Creator Profile Stats handle Snapchat's anti-bot defences?

It retries each account up to 4 times with an increasing backoff and random jitter between attempts, sends browser-realistic request headers, and routes requests through Apify Proxy — if you leave proxyConfiguration at its default or a chosen proxy fails, the run falls back to Apify's default proxy automatically rather than going proxy-less.

What makes the multi-entity output different from running separate scrapes for each data type?

All five row types (video, profile, lens, relatedAccount, accountStats) come from one HTTP fetch of the same public profile document, not five separate requests. The performance roll-up is computed in the same run from the video rows it emits, and every aggregate is published next to its real denominator (videosAnalyzed, engagementRateSampleSize, videosWithHashtags) so the numbers are independently checkable against the video rows in the same dataset.

Does Snapchat User Spotlight Scraper: Creator Profile Stats return data in a format LLMs can use directly?

Yes. Typed, normalized JSON with stable field names, no HTML and no selectors. Pass it directly into an LLM context window, index it into a vector store, or route it through an agent tool.

Can I use Snapchat User Spotlight Scraper: Creator Profile Stats without managing proxies?

Yes. The Actor creates its own Apify Proxy fallback configuration for every run in code, so requests are routed through a proxy even if you leave the proxyConfiguration input at its default.

What happens when Snapchat changes its structure or blocks the scraper?

The Actor is maintained, and its output schema stays stable — field names and types don't change on your end when Snapchat's markup changes. No specific turnaround time is promised.

💬 Your feedback

Found a bug or missing a field? We want to know. Reach out through API Empire's support channel on the Apify Store listing (the Issues tab or Contact developer button) with the account you tested and the run's log — it's the fastest way to get a fix shipped.