Snapchat Popular Accounts Scraper: Story & Spotlight Content
Pricing
from $2.99 / 1,000 results
Snapchat Popular Accounts Scraper: Story & Spotlight Content
Scrape popular Snapchat accounts and their Story and Spotlight content. Extract account details, post captions, media URLs, timestamps, views, likes, and engagement data for influencer research, content discovery, trend analysis, and competitor monitoring.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
SimpleAPI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Snapchat Popular Accounts Scraper — Story, Spotlight & Subscriber Data
Scrape public Snapchat profiles by keyword or URL and get back exact subscriber counts, verified badges, category, bio and website — plus, unlike a plain profile scraper, every profile's Story ("curated") and Spotlight highlight albums broken into individual snap items: media URL, thumbnail URL, timestamp and (for Spotlight) a real caption-track URL. Results are pushed as structured JSON dataset rows, one row per profile and one row per highlight snap. It is used for creator/brand research by niche, competitive monitoring, and feeding real Snapchat media links into downstream pipelines. No Snapchat login or developer account is required to run it.
What is Snapchat Popular Accounts Scraper: Story & Spotlight Content?
It is an Apify Actor that discovers public Snapchat accounts — by keyword, by pasting an Explore/Spotlight listing URL, or by pasting a direct profile URL — and scrapes each one's public profile page. No Snapchat account, login, or API key is needed; every request is a plain HTTP GET against snapchat.com. For every profile scraped, it also enumerates that profile's Story and Spotlight highlight albums snap-by-snap, so a single run returns both the account-level data and its highlight media inventory.
Key capabilities:
- 🔍 Keyword discovery across Snapchat's Explore and Spotlight-search surfaces, merged and de-duplicated into one profile list per keyword
- 🔗 Direct URL mode — paste an Explore/Spotlight listing URL to scrape its profiles, or a single profile URL to scrape it directly
- 👤 Full profile fields — username, display name, bio, exact subscriber count, verified badge, category/subcategory, website URL, snapcode image URL, stable account ID
- 🎞️ Story & Spotlight highlight snaps — per-snap media type, media URL, thumbnail URL, timestamp, and (Spotlight only) a caption-track URL, capped per profile so run size stays predictable
- ⚙️ Independent toggles for Story highlights, Spotlight highlights, and Spotlight-search discovery, so you can scope a run to exactly the surfaces you want
- 📤 Structured Apify dataset output, exportable to JSON, CSV, Excel, XML, or RSS from the Apify Console like any Apify dataset
What data can I extract with Snapchat Popular Accounts Scraper: Story & Spotlight Content?
Every run returns two row types in the same dataset: a profile row per scraped account and a highlight snap row per Story/Spotlight snap collected from it.
| Field | Example value | Use case |
|---|---|---|
id | "123456789" | Stable account identifier for de-duplication across runs |
username | "natgeo" | Unique handle, used to build the profile URL |
displayName | "National Geographic" | Human-readable name for reports and CRM records |
bio | "Experience the world through the eyes of..." | Positioning/messaging research |
subscriberCount | 18500000 | Exact subscriber count, not a rounded bucket |
isVerified | true | Filter to verified/official accounts |
location.country | "" | Reserved field — see limitations below |
location.state | "" | Reserved field — see limitations below |
location.displayAddress | "" | Public address string, when the profile publishes one |
profileInfo.category | "news_media" | Snapchat's own category tag |
profileInfo.subcategory | "magazine" | Snapchat's own subcategory tag |
profileInfo.tier | 0 | Always 0 — see limitations below |
profileInfo.websiteUrl | "https://www.nationalgeographic.com" | Outbound contact/traffic link |
profileInfo.snapcodeImageUrl | "https://app.snapchat.com/..." | Scannable snapcode image |
profileInfo.sameAsLinks | ["https://instagram.com/natgeo"] | Linked social profiles, when published |
profileInfo.logoUrl / heroImageUrl | "https://cf-st.sc-cdn.net/..." | Profile artwork |
profileInfo.createdAt / lastUpdatedAt | "2019-06-04T12:00:00+00:00" | Profile lifecycle timestamps |
flags.hasCuratedHighlights / hasSpotlightHighlights / hasStory | true | Whether the profile has content on each surface |
flags.isBrandProfile | true | Category/subcategory-derived brand flag |
flags.isLensCreator / hasLenses | false | Whether the page exposes a public Lenses list |
metadata.accountId | "123456789" | Same value as id |
metadata.profileIconColor | "#F4E04D" | Profile accent color |
searchKeyword | "fashion" | The keyword that discovered this profile ("" for URL-sourced profiles) |
sourceSections | ["explore"] | Which discovery surface(s) actually returned this profile |
sourceProfileUrl | "https://www.snapchat.com/add/natgeo" | The exact URL fetched |
highlightContent.snapsCollected | 20 | How many highlight snap rows were pushed for this profile |
highlightContent.curatedSnapsAvailable / spotlightSnapsAvailable | 47 | Total real snap count found on each surface, before capping |
highlightContent.cappedByLimit | true | Whether maxHighlightSnapsPerProfile truncated the real total |
scrapedAt | "2026-08-15T10:04:12+00:00" | Row scrape timestamp |
🎬 Story & Spotlight highlight snaps
Each highlight snap is pushed as its own dataset row, labelled type: "highlightSnap" and isChild: true, linked back to its profile by parentUsername and parentId. Fields: highlightType (curated or spotlight), highlightIndex, highlightId, highlightTitle, snapIndex, snapMediaType (raw 0/1), snapMediaTypeLabel (photo/video), mediaUrl, mediaPreviewUrl (thumbnail), captionTranscriptUrl (Spotlight-only VTT track, null otherwise), timestampInSec, snapTimestamp (ISO), sourceProfileUrl, scrapedAt, and runId. A media/marketing team can pull every Spotlight video URL and caption track for a set of creators in one run instead of opening each profile manually.
🧭 Targeting and discovery data
searchKeyword and sourceSections tell you which query and which surface (Explore vs Spotlight-search) actually surfaced each profile, so you can separate genuinely keyword-matched results from Spotlight-search's broader pool. profileInfo.category / subcategory group profiles by Snapchat's own taxonomy, and subscriberCount / isVerified let you rank or filter the list after the run.
How does this scraper differ from the official Snapchat API?
Snapchat does publish a Public Profile API with a Creator Discovery component, but its own developer FAQ (checked 2026-08-15) states plainly: "Right now we don't offer an API for fetching all Creators" — to discover creators at all, you "reach out to your Snapchat POC to get the list of Profile IDs." The Search API can look up one creator at a time by exact username or display name, but there is no keyword- or category-based bulk discovery endpoint.
| Feature | Snap Public Profile API | This Actor |
|---|---|---|
| Bulk creator discovery by keyword/category | ❌ Not offered — requires a Profile ID list from a Snapchat point of contact (per official FAQ, checked 2026-08-15) | ✅ searchKeywords searches Explore and Spotlight-search directly |
| Lookup of one known creator | ✅ Search API by exact username/display name | ✅ profileAndListingUrls accepts a direct profile URL |
| Story/Spotlight highlight snap URLs | Public metrics only (views/shares); full asset access needs the creator to opt in or OAuth into a partner platform (per official docs, checked 2026-08-15) | ✅ Returned directly — no creator opt-in required |
| Access requirements | Partner-level relationship with Snapchat | Runs immediately on Apify, no approval process |
| Output format | Defined by the partner API (not evaluated here) | Consistent Apify dataset row, JSON/CSV/Excel/XML export |
Why can't I just discover creators through the official API?
Because, per Snap's own developer FAQ (checked 2026-08-15), there is no endpoint for fetching all creators — you need either a pre-existing list of Profile IDs supplied by a Snapchat point of contact, or the creator's exact username/display name for the Search API. That blocks any workflow that starts from a topic or niche instead of a known identity. This Actor covers that specific gap: it searches Snapchat's own public Explore and Spotlight-search pages the way a browser would, by keyword, and returns the full profile plus highlight-snap data for every account it finds — no Profile ID list or partner relationship needed.
Use the official API if you already have a partner relationship with Snapchat and a known set of Profile IDs to pull official metrics for. Use this Actor when you need to discover accounts by topic or niche right now, without applying for API access.
How to use data extracted from Snapchat?
📊 Marketing and influencer/partnership teams
Run searchKeywords for a niche (e.g. "fitness", "skincare"), filter the output on subscriberCount and isVerified, and use profileInfo.websiteUrl and profileInfo.category to shortlist creators or brand accounts for outreach — all before opening a single profile in-app.
🏢 Social media agencies
Point profileAndListingUrls at a client's own profile plus its competitors, and re-run periodically to compare subscriberCount, flags.hasStory/hasSpotlightHighlights, and highlightContent.snapsCollected over time as a lightweight benchmarking snapshot.
🔬 Market research and intelligence
Run several keywords across a category (e.g. "fashion", "beauty", "streetwear") and use profileInfo.category/subcategory and sourceSections to map how many accounts cluster where, and which surface (genuinely keyword-scoped Explore vs. the broader Spotlight-search pool) actually surfaced them.
🤖 AI agents and automated pipelines
Feed mediaUrl, mediaPreviewUrl, and (for Spotlight) captionTranscriptUrl from the highlight snap rows into a retrieval or captioning pipeline as an agent tool, without writing an HTML scraper of your own.
⬇️ Input sample
| Parameter | Required | Type | Constraints | Description |
|---|---|---|---|---|
searchKeywords | No | array | stringList | Keywords to discover accounts (e.g. fashion, beauty, fitness). Each keyword is looked up across Snapchat's Explore and Spotlight-search surfaces, the two profile lists are merged and de-duplicated, and every unique profile is scraped — including its Story/Spotlight highlight content. Explore results are genuinely keyword-scoped; Spotlight-search results are a broader discovery surface and are not reliably keyword-filtered. Same field as keywords in the base actor. |
profileAndListingUrls | No | array | stringList | Direct Snapchat URLs to use instead of, or alongside, keywords: an Explore/Spotlight listing URL (its profiles are discovered and scraped) or a single profile URL (scraped directly). Same field as startUrls in the base actor. |
maxAccountsPerKeyword | No | integer | min 1, max 200, prefill 10 | Cap on how many discovered profiles to scrape per keyword (or per listing URL). Same field as maxProfilesPerUrl in the base actor. |
maxConcurrentFetches | No | integer | min 1, max 20, prefill 10 | How many profile pages to fetch in parallel. Same field as maxConcurrentProfiles in the base actor. |
includeCuratedHighlights | No | boolean | default true | Collect snap items from the profile's Story ("curated") highlight albums. |
includeSpotlightHighlights | No | boolean | default true | Collect snap items from the profile's Spotlight highlight albums. Spotlight snaps are the only ones that can carry a real caption-track URL. |
maxHighlightSnapsPerProfile | No | integer | min 0, max 2000, prefill 20 | Cap on how many highlight snap rows to save per profile, combined across Story and Spotlight. Real coverage swings from a handful of snaps to 700+ per profile. 0 = collect none (flags/counters on the profile row still populate). |
includeSpotlightDiscovery | No | boolean | default true | When using keywords: also search Snapchat's Spotlight-search surface for profiles (in addition to Explore). This surface is not reliably keyword-scoped — turn it off to discover accounts only from the genuinely keyword-matched Explore surface. |
keywords | No | array | stringList | Legacy alias for searchKeywords. Only read when searchKeywords is not set. |
startUrls | No | array | stringList | Legacy alias for profileAndListingUrls. Only read when profileAndListingUrls is not set. |
maxProfilesPerUrl | No | integer | min 1, max 200 | Legacy alias for maxAccountsPerKeyword. |
maxConcurrentProfiles | No | integer | min 1, max 20 | Legacy alias for maxConcurrentFetches. |
proxyConfiguration | No | object | proxy editor, prefill {"useApifyProxy": false} | Optional Apify Proxy configuration. Default is a direct connection — the Actor automatically escalates to Apify Proxy (datacenter, then residential) if Snapchat blocks a request or serves a suspiciously small page, up to 6 escalation attempts per request. |
Neither searchKeywords/keywords nor profileAndListingUrls/startUrls is individually required — but the run needs at least one of the four populated, or it logs a warning and exits with no rows.
{"searchKeywords": ["fashion", "streetwear"],"profileAndListingUrls": ["https://www.snapchat.com/add/natgeo"],"maxAccountsPerKeyword": 25,"maxConcurrentFetches": 10,"includeCuratedHighlights": true,"includeSpotlightHighlights": true,"maxHighlightSnapsPerProfile": 50,"includeSpotlightDiscovery": true,"proxyConfiguration": { "useApifyProxy": false }}
Common pitfall: leaving includeSpotlightDiscovery on for a niche-specific run pulls in Snapchat's general Spotlight-search pool, which is not reliably keyword-filtered — you can end up with profiles unrelated to your keyword mixed into the results. If you need purely keyword-matched accounts, set includeSpotlightDiscovery: false so discovery uses only the genuinely keyword-scoped Explore surface, and check each row's sourceSections to confirm.
⬆️ Output sample
Output is typed, normalized JSON — one row per profile and one row per highlight snap, in the same dataset, exportable as JSON, CSV, Excel, XML, or RSS from the Apify Console.
Profile row:
{"id": "123456789","username": "natgeo","displayName": "National Geographic","bio": "Experience the world through the eyes of NAT GEO photographers.","subscriberCount": 18500000,"isVerified": true,"location": {"country": "","state": "","displayAddress": ""},"profileInfo": {"logoUrl": "https://cf-st.sc-cdn.net/natgeo-logo.jpg","heroImageUrl": "https://cf-st.sc-cdn.net/natgeo-hero.jpg","createdAt": "2019-06-04T12:00:00+00:00","category": "news_media","subcategory": "magazine","tier": 0,"websiteUrl": "https://www.nationalgeographic.com","snapcodeImageUrl": "https://app.snapchat.com/web/deeplink/snapcode?username=natgeo","sameAsLinks": ["https://instagram.com/natgeo"],"lastUpdatedAt": "2026-07-30T09:12:00+00:00"},"flags": {"isLensCreator": false,"hasLenses": false,"hasHighlights": true,"isBrandProfile": true,"isSnapchatPlusSubscriber": false,"hasCuratedHighlights": true,"hasSpotlightHighlights": true,"hasStory": true},"metadata": {"accountId": "123456789","organizationId": "","profileIconColor": "#F4E04D"},"searchKeyword": "fashion","scrapedAt": "2026-08-15T10:04:12+00:00","sourceSections": ["explore"],"sourceProfileUrl": "https://www.snapchat.com/add/natgeo","highlightContent": {"curatedSnapsAvailable": 47,"spotlightSnapsAvailable": 12,"snapsCollected": 50,"cappedByLimit": true}}
Highlight snap row (child of the profile row above):
{"type": "highlightSnap","isChild": true,"parentUsername": "natgeo","parentId": "123456789","highlightType": "spotlight","highlightIndex": 0,"highlightId": "abcdef123456","highlightTitle": "Wildlife Highlights","snapIndex": 3,"snapMediaType": 1,"snapMediaTypeLabel": "video","mediaUrl": "https://community-cdn.snap.com/media/example-snap.mp4","mediaPreviewUrl": "https://community-cdn.snap.com/media/example-snap-thumb.jpg","captionTranscriptUrl": "https://community-cdn.snap.com/media/example-snap-captions.vtt","timestampInSec": 1755250000,"snapTimestamp": "2026-08-15T05:26:40+00:00","sourceProfileUrl": "https://www.snapchat.com/add/natgeo","scrapedAt": "2026-08-15T10:04:15+00:00","runId": "AbCdEfGhIjKlMnOpQr"}
How do you filter and target specific accounts?
- Keyword search vs. direct URL.
searchKeywordsdiscovers new accounts by topic across Explore and Spotlight-search — best when you don't already know who you're looking for.profileAndListingUrlsskips discovery: paste an Explore/Spotlight listing URL to scrape everyone on it, or a single profile URL (.../add/username) to scrape exactly one account. - Discovery-surface scope.
includeSpotlightDiscoverycontrols whether keyword search also queries Snapchat's Spotlight-search pool, which is not reliably keyword-scoped. Turn it off for purely keyword-matched results from Explore; leave it on for maximum discovery coverage and check each row'ssourceSectionsto see which surface actually matched. - Highlight-content scope.
includeCuratedHighlightsandincludeSpotlightHighlightsare independent toggles — run Story-only, Spotlight-only, or neither.maxHighlightSnapsPerProfilebounds the combined total per profile (0returns the profile row with no snap rows, buthighlightContentcounters still tell you what exists). - Volume controls.
maxAccountsPerKeywordcaps how many profiles are scraped per keyword or URL (1–200);maxConcurrentFetchescontrols request parallelism (1–20).
{ "searchKeywords": ["fitness"], "includeSpotlightDiscovery": false, "maxAccountsPerKeyword": 25 }
{ "profileAndListingUrls": ["https://www.snapchat.com/add/natgeo"], "maxHighlightSnapsPerProfile": 500 }
{ "searchKeywords": ["beauty", "skincare"], "maxAccountsPerKeyword": 100, "maxHighlightSnapsPerProfile": 0, "maxConcurrentFetches": 20 }
▶️ Want to try other Snapchat scrapers?
| Scraper | What it extracts |
|---|---|
| Snapchat Spotlight Scraper By Link, ID Or Share URL | Single Spotlight video details from a link, ID, or share URL |
| Snapchat User Spotlight Scraper By Keyword & Hashtag | Spotlight videos discovered by keyword or hashtag |
| Reddit Scraper: User Profiles & Subreddit Activity | Reddit user profiles and their subreddit activity |
| TikTok Scraper With Repost Insights Data | TikTok profile and video data, including repost insights |
| Instagram Post Details Scraper With Engagement Data | Instagram post details with engagement metrics |
How to extract Snapchat data programmatically
This Actor runs as a standard Apify Actor: one API call starts a run, and structured JSON comes back from the dataset — no Snapchat login or API key involved.
Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run_input = {"searchKeywords": ["fashion"],"maxAccountsPerKeyword": 20,"maxHighlightSnapsPerProfile": 30,}run = client.actor("<YOUR_USERNAME>/snapchat-popular-accounts-scraper-story-and-spotlight-content").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():if item.get("type") == "highlightSnap":continue # profile rows onlyprint(item["username"], item["subscriberCount"], item["profileInfo"]["category"])
Export to spreadsheets or CRM
Use the Apify Console's dataset Export button, or the dataset API with ?format=csv / ?format=xlsx, to turn a run's rows into a spreadsheet. Map username → Name, displayName → Display Name, subscriberCount → Subscribers, profileInfo.websiteUrl → Website, profileInfo.category → Category, and sourceProfileUrl → Profile Link for a straightforward CRM or spreadsheet import.
⚖️ Is it legal to scrape Snapchat?
Yes — this Actor only collects data that Snapchat already serves on its own public web pages, without logging in or bypassing any access control. That said, Snapchat profile and highlight data can include personal data about identifiable individual creators (display name, bio, linked social accounts), so GDPR and CCPA considerations apply if you store or process it in bulk: you need a lawful basis for collection, must honor deletion/access requests where applicable, and should not use the data to build profiles of individuals beyond what they've published publicly. Scraping is also subject to Snapchat's own Terms of Service, which govern how you may use the platform, separately from data-protection law. Consult legal counsel for commercial applications involving bulk storage of personal data.
❓ FAQ
What happens to profiles that no longer exist or can't be loaded?
They are skipped, not saved. If a profile page can't be parsed (no username found) or keeps failing after the Actor's connection-method escalation attempts are exhausted, it is logged as a warning in the run log and no row is pushed for it — so it is never charged.
Can I get Story and Spotlight highlight content along with the profile data?
Yes. includeCuratedHighlights and includeSpotlightHighlights both default to true, and every collected snap is pushed as its own highlightSnap row (capped by maxHighlightSnapsPerProfile, default 20, max 2000). The profile row's highlightContent object always shows the real curated/spotlight totals found, even if the cap truncated what was saved.
How accurate is the subscriber count and category data?
The Actor returns data exactly as it appears on the public Snapchat profile page at request time — subscriberCount is the exact figure Snapchat serves, not a rounded estimate. Accuracy depends on how current Snapchat's own page is; re-run the Actor for a fresh snapshot if you need up-to-date numbers.
How many records can I get per run?
Up to maxAccountsPerKeyword (max 200) profiles per keyword or URL, and up to maxHighlightSnapsPerProfile (max 2000) highlight snap rows per profile. There is no separate run-level cap beyond how many keywords/URLs you supply.
Can I discover accounts from only the genuinely keyword-matched surface?
Yes. Set includeSpotlightDiscovery to false so keyword discovery uses only Snapchat's Explore surface, which is genuinely keyword-scoped — the Spotlight-search surface is not reliably keyword-filtered and can surface unrelated profiles if left on.
Do I need to configure a proxy to run this scraper?
No — proxyConfiguration defaults to a direct connection. The Actor automatically escalates to Apify Proxy (datacenter, then residential) if Snapchat returns a block or a suspiciously small page, up to 6 escalation attempts per request, so proxy configuration is optional rather than required.
What does setting maxHighlightSnapsPerProfile to 0 do?
It collects zero highlight snap rows for every profile, but the profile row itself is still saved with highlightContent.curatedSnapsAvailable and spotlightSnapsAvailable populated, so you can still see how much highlight content exists without paying for the snap rows.
Does this scraper work with Claude, ChatGPT, and AI agent frameworks?
It is callable as a standard Apify Actor run via apify-client or the Apify REST API from any agent framework that can make HTTP calls — there is no verified MCP server for this specific Actor, so integrate it as an HTTP/API tool rather than an MCP tool.
Can I use this without a Snapchat API key or developer account?
Yes. You only need an Apify account to run the Actor — no Snapchat login, API key, or developer account is required, since every request is a plain fetch of Snapchat's own public pages.
Conclusion
Snapchat Popular Accounts Scraper: Story & Spotlight Content turns keyword or URL input into structured profile data and per-snap Story/Spotlight highlight media in a single run — exact subscriber counts, category tags, and real media/caption URLs, not estimates. It's built for marketing and research teams who need to discover Snapchat accounts by niche rather than by a pre-known list, something the official Snapchat API does not currently support for bulk discovery. Start a run from the Apify Console or trigger it via the Apify API to get your first dataset of profiles and highlight snaps.