Snapchat User Stories Scraper With Creator Profile Insights avatar

Snapchat User Stories Scraper With Creator Profile Insights

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Snapchat User Stories Scraper With Creator Profile Insights

Snapchat User Stories Scraper With Creator Profile Insights

Snapchat User Stories Scraper with Creator Profile Insights extracts public Stories, creator profiles, usernames, bios, followers, engagement, timestamps, captions, and media URLs. Discover creators, analyze content performance, monitor trends, and research Snapchat audiences.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

0

Monthly active users

3 days ago

Last modified

Share

Snapchat Scraper β€” Stories, Highlights & Creator Profile Data

A Snapchat stories scraper and Snapchat profile scraper in one Actor: give it a public creator's username or profile URL and it returns every snap in their current Story, every public Highlight, and a dedicated Profile Insights row β€” bio, subscriberCount, category/subcategory, website, address, badge, and cross-run subscriberCountDelta. No Snapchat login, session cookie, or API key is required. It's built for creator/influencer research, subscriber-growth monitoring, and content archiving teams that need structured JSON instead of a browser tab open on snapchat.com.

What is Snapchat Scraper β€” Stories, Highlights & Creator Profile Data?

It's an Apify Actor that reads a Snapchat creator's public snapchat.com/@username page and returns three kinds of dataset rows: a Story row, one Highlight row per curated Highlight, and (optionally) one Profile row with the creator's bio, subscriber count, and niche classification. No account or login is required β€” every field comes from the page Snapchat already serves to anonymous visitors.

Key features:

  • πŸ”Ž Discovery by username or URL β€” pass plain handles (fcbarcelona) or full profile links (https://www.snapchat.com/@fcbarcelona) in the same input list, batched in one run.
  • πŸ“Έ Full Story & Highlight snaps β€” every snap's media URL, preview thumbnail, timestamp, and (where present) location, sponsorship flag, and caption.
  • πŸ“‡ Creator profile insights β€” bio, subscriber count, subscriber tier, category/subcategory, website, address, badge tier, publisher type, and account-creation date, harvested from the same page fetch (no extra request).
  • πŸ“ˆ Cross-run subscriber-growth tracking β€” re-run on the same creators later and get a real subscriberCountDelta against the last recorded snapshot, with an honest null (not a faked 0) when there's no prior baseline yet.
  • 🌐 Automatic proxy escalation β€” no proxy by default; if Snapchat starts returning 403/429/503, the run escalates to a datacenter proxy and then a residential proxy.
  • πŸ“¦ Structured JSON output β€” every row lands in the Apify dataset the moment it's collected, exportable to JSON, CSV, Excel, or via API.

What data can I extract with Snapchat Scraper β€” Stories, Highlights & Creator Profile Data?

Every run returns structured fields across three row types, distinguished by type (profile, story, highlight) and isChild (false for the profile row, true for story/highlight rows).

FieldExample valueUse case
usernamefcbarcelonaJoin key across all rows for one creator
typeprofile / story / highlightFilter rows by kind
isChildfalseSeparate the profile row from story/highlight rows
displayNameFC BarcelonaHuman-readable creator name
bioOfficial Snapchat accountCreator research
subscriberCount4044300Reach sizing
subscriberTierBucketmega (1M+)Quick tier segmentation
subscriberCountDeltanullGrowth signal (see below)
previousSubscriberCountnullLast recorded snapshot
previousRunAtnullWhen that snapshot was taken
growthDeltaAvailablefalseWhether the delta is real or a first-run null
categorypublic-profile-category-v3-business-groupSnapchat's own niche classification
subcategorypublic-profile-subcategory-v3-sports-teamFiner-grained niche
websitehttp://barca.link/Q9m450Z25gYOutbound contact/link signal
addressBarcelona, Catalunya, EspaΓ±aLocation signal
badge1Creator badge tier
publisherTypenull (or a string when Snapchat sets one)Publisher classification
hasStoryfalseWhether a current Story exists right now
hasCuratedHighlightstrueWhether curated Highlights exist
hasSpotlightHighlightsfalseWhether Spotlight highlights exist
accountCreatedAt2016-03-01T00:00:00.000ZAccount age
profilePictureUrlhttps://cf-st.sc-cdn.net/...Avatar image
snapcodeImageUrlhttps://app.snapchat.com/...Snapcode image
squareHeroImageUrlnull (or an image URL)Business hero image
storyTitleFC BarcelonaStory/Highlight display title
thumbnailUrlhttps://cf-st.sc-cdn.net/...Thumbnail for the Story/Highlight
highlightIdAQAAAA...Stable Highlight identifier
snapListarray (see below)Every snap in that Story/Highlight
scrapedAt2026-07-29T12:00:39.000ZWhen the row was collected

Each snapList[] entry (Story and Highlight rows) carries:

FieldExample valueUse case
snapIndex0Order within the Story/Highlight
isSponsoredfalseAd/sponsorship flag
snapTitlenull (or caption text)Caption, when the creator added one
snapSubtitlesnull (or an array)Sub-caption text, when present
latnull (or a number)Geotag latitude, when the creator added one
lngnull (or a number)Geotag longitude
hasAttachmentfalseWhether the snap has a linked attachment
intervalStartTimeMs1732000000000Playback offset within the story timeline
audioTranscriptionObjectUrlnull (or a URL)Audio transcription asset, when present
createTime2026-07-29T11:58:00.000ZWhen the snap was posted (ISO)
mediaPreviewUrlhttps://cf-st.sc-cdn.net/...Preview image URL
mediaUrlhttps://cf-st.sc-cdn.net/...Full media URL (image or video)

Creator profile & growth analytics

The Profile row is the decision-driving data: subscriberCount plus the derived subscriberTierBucket (nano (<1K), micro (1K-10K), mid (10K-100K), macro (100K-1M), mega (1M+)) size a creator instantly, while category/subcategory give Snapchat's own niche classification. With trackSubscriberGrowth on, every re-run against the same username adds subscriberCountDelta β€” the real change since the last run, computed from a snapshot the Actor stores for you. The very first run for any creator always reports subscriberCountDelta: null and growthDeltaAvailable: false, because there is no prior snapshot to diff against β€” never a faked 0.

Targeting & scoping fields

type and isChild let you split a dataset export into "just the profile rows" versus "just the content rows" in one filter. category, subcategory, subscriberTierBucket, and badge are the fields to group or segment creators by once you've scraped a batch β€” there's no location radius or date-range filter here, since each row is scoped to one creator's current public state rather than a searchable catalogue.

Why not build this yourself?

Snapchat has no public API for reading an arbitrary creator's Stories, Highlights, or profile analytics β€” Snap Kit covers login/creative integrations and the Snapchat Marketing API covers ad-campaign management, neither of which exposes a third-party creator's public content or subscriber count. The only way to get this data yourself is to parse Snapchat's own web page.

That page ships its data inside a __NEXT_DATA__ JSON blob embedded in the server-rendered HTML β€” a structure that can change without notice β€” plus a secondary ld+json block this Actor cross-checks against for fields the primary block leaves empty. Getting that parsing right, handling Snapchat's 403/429/503 blocking with proxy escalation, and maintaining a persistent snapshot store to compute cross-run subscriber deltas is exactly the maintenance burden this Actor absorbs. If you only need to glance at one creator once, opening the page yourself is fine. For repeated, structured, or batched collection across many creators, this Actor removes that maintenance entirely.

How to use data extracted from Snapchat?

Creator/influencer research and talent scouting

Paste a shortlist of creator usernames into startUrls, keep includeProfileInsights on, and get one row per creator with subscriberCount, subscriberTierBucket, category/subcategory, and badge to rank candidates for a sponsorship or campaign before anyone opens Snapchat directly.

Social-media monitoring agencies

Agencies tracking several client or competitor accounts can schedule this Actor to run daily against the same startUrls list, archiving each current Story and Highlight (snapList[].mediaUrl, createTime, captions) as a dated record β€” a lightweight content audit trail without screenshotting manually.

Market research and intelligence

Run a larger batch of creators through the Actor once, then group the resulting Profile rows by category/subcategory and subscriberTierBucket to see which niches and audience sizes are already active on Snapchat before deciding where to invest outreach.

AI agents and automated pipelines

Because every row is plain JSON with a stable username/type key, an agent can call this Actor as a tool, pull a creator's current profile and Story state as context, or watch subscriberCountDelta across scheduled runs and trigger an alert when a creator crosses a growth threshold.

πŸ”Ό Input sample

ParameterRequiredTypeDescriptionExample value
startUrlsYesarrayOne or more Snapchat usernames (e.g. fcbarcelona) or profile URLs (e.g. https://www.snapchat.com/@fcbarcelona). Each is scanned for its current Story, Highlights, and full creator-profile insights.["fcbarcelona"]
maxSnapsNointeger (default 100, minimum 1)Cap on how many individual snaps to collect per Story or Highlight. maxSnaps=20 keeps only the first 20 snaps of each Story/Highlight.50
includeProfileInsightsNoboolean (default true)Adds one Profile row per creator with bio, subscriber count, category/niche, website, address, badge, images, and the hasStory/hasCuratedHighlights flags β€” harvested from the same page fetch (no extra request).true
trackSubscriberGrowthNoboolean (default true)When on, each creator's subscriber count is remembered between runs (a small persistent store scoped to this Actor) and every Profile row reports subscriberCountDelta versus its last run. The very first run for a creator always reports a null delta.true
proxyConfigurationNoobject (proxy editor)Choose which proxies to use. By default, no proxy is used. If Snapchat rejects or blocks the request, the Actor automatically falls back to a datacenter proxy, then a residential proxy, with 3 retries.{ "useApifyProxy": false }
{
"startUrls": ["fcbarcelona", "https://www.snapchat.com/@realmadrid"],
"maxSnaps": 50,
"includeProfileInsights": true,
"trackSubscriberGrowth": true
}

Common pitfall: Snapchat Stories are temporary β€” once a creator's current Story expires or is deleted, that run simply produces no story row for them (Highlights and, if enabled, the Profile row still appear). That's expected behavior, not a scrape failure; check the Profile row's hasStory flag to confirm honestly whether one exists.

πŸ”½ Output sample

Output is typed, normalized JSON with a consistent schema per row type, written to the dataset the moment each row is collected. Export it as JSON, CSV, or Excel from the Apify Console, or pull it with the API/SDK.

⚠️ maxSnaps only caps snaps within a single Story or Highlight β€” it does not cap how many Highlights are processed per creator or how many usernames a run can contain. A Story or Highlight with no collectible snaps (no mediaUrl/mediaPreviewUrl on any entry) is silently skipped rather than pushed as an empty row.

Sample Profile row:

{
"username": "fcbarcelona",
"type": "profile",
"isChild": false,
"displayName": "FC Barcelona",
"bio": "Official Snapchat account",
"subscriberCount": 4044300,
"subscriberTierBucket": "mega (1M+)",
"subscriberCountDelta": null,
"previousSubscriberCount": null,
"previousRunAt": null,
"growthDeltaAvailable": false,
"category": "public-profile-category-v3-business-group",
"subcategory": "public-profile-subcategory-v3-sports-team",
"website": "http://barca.link/Q9m450Z25gY",
"address": "Barcelona, Catalunya, EspaΓ±a",
"badge": 1,
"publisherType": null,
"hasStory": false,
"hasCuratedHighlights": true,
"hasSpotlightHighlights": false,
"accountCreatedAt": "2016-03-01T00:00:00.000Z",
"profilePictureUrl": "https://cf-st.sc-cdn.net/api/v1/public/profile-pic.jpg",
"snapcodeImageUrl": "https://app.snapchat.com/web/deeplink/snapcode?username=fcbarcelona",
"squareHeroImageUrl": null,
"scrapedAt": "2026-07-29T12:00:39.000Z"
}

Sample Highlight row:

{
"username": "fcbarcelona",
"type": "highlight",
"isChild": true,
"storyTitle": "Training",
"thumbnailUrl": "https://cf-st.sc-cdn.net/api/v1/public/highlight-thumb.jpg",
"highlightId": "AQAAAGx1v9example",
"snapList": [
{
"snapIndex": 0,
"isSponsored": false,
"snapTitle": null,
"snapSubtitles": null,
"lat": null,
"lng": null,
"hasAttachment": false,
"intervalStartTimeMs": 0,
"audioTranscriptionObjectUrl": null,
"createTime": "2026-07-28T09:12:00.000Z",
"mediaPreviewUrl": "https://cf-st.sc-cdn.net/api/v1/public/snap-preview.jpg",
"mediaUrl": "https://cf-st.sc-cdn.net/api/v1/public/snap-media.mp4"
}
],
"scrapedAt": "2026-07-29T12:00:39.000Z"
}

How do you filter and target specific Stories, Highlights and Snaps?

This Actor doesn't search a catalogue β€” every run is scoped to exactly the creators you list, so targeting comes down to two real controls. Which creators: startUrls accepts any mix of plain usernames and full profile URLs in one list, so you can batch a research list without normalizing formats first. How much per creator: maxSnaps caps the number of snaps pulled from each Story or Highlight (default 100, minimum 1) β€” set it low (e.g. 10) for a quick freshness check across many creators, or leave it high to archive a Highlight in full. includeProfileInsights and trackSubscriberGrowth are on/off switches for the two data blocks rather than filters β€” turn either off if you only need Story/Highlight content and want to skip the profile fetch cost.

Three real examples:

{ "startUrls": ["fcbarcelona"], "maxSnaps": 10, "includeProfileInsights": false }

Fast content-only check of one creator's latest 10 snaps per Story/Highlight, skipping profile analytics entirely.

{ "startUrls": ["fcbarcelona", "realmadrid", "psg"], "includeProfileInsights": true, "trackSubscriberGrowth": false }

Batch profile snapshot across several creators for a one-off category/subscriber-count comparison, without writing to the growth-history store.

{ "startUrls": ["https://www.snapchat.com/@fcbarcelona"], "maxSnaps": 200, "trackSubscriberGrowth": true }

Deep Highlight archive for one creator plus growth tracking, for a recurring scheduled run.

Want to try other SimpleAPI scrapers?

ScraperWhat it extracts
Instagram Story Details Scraper With Media DetailsInstagram story media renditions (quality, bitrate, codec, CDN expiry) per profile
Instagram Profile Post Scraper With Engagement AnalyticsInstagram posts plus per-post and profile-level engagement-rate analytics
Instagram Posts Scraper With Tagged Places & CoordinatesInstagram posts with tagged-place names, GPS coordinates, and per-profile top-places roll-up
TikTok User Profile Scraper: Business LeadsTikTok creator/business profiles with bio-parsed contact fields (email, website, socials)

How to extract Snapchat data programmatically

This Actor runs as a standard Apify Actor: one API call starts the run, and results land in a dataset you read back over the same REST/SDK surface β€” no separate signup flow or credential beyond your Apify API token.

Python example

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run = client.actor("<store-owner>/snapchat-user-stories-scraper-with-creator-profile-insights").call(
run_input={
"startUrls": ["fcbarcelona", "https://www.snapchat.com/@realmadrid"],
"maxSnaps": 50,
"includeProfileInsights": True,
"trackSubscriberGrowth": True,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["type"] == "profile":
print(item["username"], item["subscriberCount"], item["subscriberTierBucket"])

Export to spreadsheets or CRM

Every dataset can be downloaded as CSV or Excel directly from the Apify Console's Output tab, or fetched via the API in the same formats. Map username to your contact key, displayName/bio/category/subcategory to profile columns, and subscriberCount/subscriberTierBucket/subscriberCountDelta to your growth-tracking columns in a CRM or spreadsheet.

Yes β€” reading a public Snapchat profile page that requires no login is generally lawful, since these are pages Snapchat already serves to any anonymous visitor. That said, the Profile row can carry personal data β€” a creator's bio, display name, address, and subscriber count identify an individual or business account β€” so storage and reuse of that data should follow a privacy framework like GDPR or CCPA rather than being treated as plain public-web content. Story and Highlight media URLs and captions carry the same consideration whenever they identify a person. Consult legal counsel for commercial applications involving bulk storage of personal data.

❓ FAQ

Do I need a Snapchat account, login, or API key?

No. This Actor reads only public profile pages β€” there is no session cookie or credential field in the input, unlike scrapers for platforms that require a logged-in session.

What happens if a creator has no active Story or no Highlights?

The story/highlight rows simply won't appear for that creator that run. If includeProfileInsights is on, the Profile row still reports honestly via its hasStory/hasCuratedHighlights/hasSpotlightHighlights flags, rather than being silently omitted.

Can I get creator profile analytics along with the Stories and Highlights?

Yes β€” leave includeProfileInsights on (the default) and every creator gets one additional Profile row with bio, subscriberCount, subscriberTierBucket, category/subcategory, website, address, badge, and the account's image fields, pulled from the same page fetch as the Story/Highlight data.

How many Stories, Highlights, or snaps can I collect per run?

There's no cap on how many usernames or Highlights a run processes β€” it processes every one it finds for each creator you list. maxSnaps (default 100, minimum 1) is the only volume control, and it caps snaps within each individual Story or Highlight, not the total across a run.

Can I batch multiple creators in one run?

Yes β€” startUrls accepts a list mixing plain usernames and full profile URLs, and the Actor processes each one in the list within the same run.

How accurate is the profile and subscriber data?

The Actor returns data exactly as it appears on the creator's public page at the moment of the request. Accuracy depends on how current Snapchat's own page is; re-run the Actor to refresh a stale value.

How does cross-run subscriber-growth tracking work?

With trackSubscriberGrowth on, each creator's subscriberCount is saved to a persistent store scoped to this Actor. On the next run for the same username, subscriberCountDelta reports the real change since that saved value, and previousSubscriberCount/previousRunAt show what and when it was. The very first run for any creator has no prior snapshot, so the delta is null, not 0.

Does the Actor download the actual video or photo files?

No β€” it returns the mediaUrl/mediaPreviewUrl links and metadata for each snap, never binary media files.

Does this Actor work with Claude, ChatGPT, and AI agent frameworks?

It has no dedicated MCP server; it's callable as a standard Apify Actor over HTTP by any agent framework that can make a REST call and read back a JSON dataset.

Can I use this without a Snapchat developer account or API key?

Yes β€” you only need an Apify account to run it and a Snapchat username or profile URL to scan. No Snapchat credential of any kind is required.

Conclusion

This Actor turns a list of public Snapchat usernames into structured Story, Highlight, and creator-profile-analytics rows in one run, with no login required and honest, never-faked growth deltas across repeat runs. It suits creator research, subscriber-growth monitoring, and content-archiving teams that need this data as clean JSON rather than screen-scraped by hand. Start a run from the Apify Console or the API with your creator list in startUrls to see it in action.