Snapchat Profile Scraper - Stories, Spotlight & Subscribers avatar

Snapchat Profile Scraper - Stories, Spotlight & Subscribers

Pricing

from $2.00 / 1,000 actor run starteds

Go to Apify Store
Snapchat Profile Scraper - Stories, Spotlight & Subscribers

Snapchat Profile Scraper - Stories, Spotlight & Subscribers

Scrape public Snapchat profiles by username or link: subscriber count, bio, website and verification, plus every Spotlight and Story highlight with snap count, thumbnail, media link and dates. No login. For creator research, campaign tracking and audience benchmarks.

Pricing

from $2.00 / 1,000 actor run starteds

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

2 days ago

Last modified

Share

Snapchat Profile Scraper: Stories, Spotlight and Subscribers

This Snapchat profile scraper reads public Snapchat profiles as structured data for creator research and campaign tracking: the account with its subscriber count, bio, website and verification, and every Spotlight and Story highlight with its snap count, thumbnail and dates.

Paste usernames or profile links. No login, no API key, no browser.

What the Snapchat profile scraper returns

Snapchat has two sorts of public account, and they carry different data. This matters more than it sounds, because most scrapers pick one and silently return nothing for the other.

Creator profiles carry a subscriber count, a bio, a website, a profile picture and a verification badge. mrbeast is one: 1,467,700 subscribers in the captured October 2026 response. kyliejenner is another: 29,069,400 in that snapshot.

Ordinary accounts carry a username, a display name and a snapcode. That is all there is. teamsnapchat is one.

Both are returned. is_creator says which arrived, and subscriber_count is empty rather than 0 on an ordinary account, because it does not have one. Zero would be a claim about its audience. The run summary counts the two kinds apart, so a run of fifty tells you how many were creators without you having to check row by row.

Stories and Spotlight

Each account's highlights come back one row per story:

  • story_type — spotlight or story
  • title where the creator set one, thumbnail_url, story_id
  • snap_count — how many snaps are in it
  • posted_at and latest_snap_at — the first and last snap in the story, so a long-running highlight shows its span rather than a single date
  • media_url and first_snap_id
  • the account fields on every row, so a multi-account run is one table

The captured October 2026 responses for mrbeast, nba, teamsnapchat and kyliejenner contain 83 highlights and 1,205 snaps. Subscriber counts and highlights can change between runs.

Turn Include stories off to read only the accounts. That is one request per account and the cheap way to track subscriber counts on a schedule.

Empty highlights are dropped, and reported

A profile lists highlights that have nothing behind them: a story id with an empty snap list and every other field null. Published, those are rows that look like stories and contain nothing.

They are dropped. And when an account's own profile says it has highlights but none of them carried snaps, the run reports it by name in accountsClaimingHighlightsButServingNone. That distinction matters: an account with no highlights and an account whose highlights were not delivered look identical in a table of results, and only one of them is worth running again.

Missing accounts are named

Snapchat answers a username that does not exist with a 404, which is unusually direct, so a bad handle is reported by name instead of quietly returning fewer rows. A run of fifty tells you exactly which one was wrong.

Reading the dates properly

posted_at is the first snap in a highlight and latest_snap_at is the last. A creator who builds one highlight over a week and a creator who posts seven separate ones look very different in a table sorted by date, and only the span tells them apart.

Both are UTC. Snapchat publishes them as unix seconds, and the same field arrives as a bare number on one snap and wrapped in an object on the next, which is the sort of inconsistency that turns a sort into nonsense if it is not unwrapped first. It is.

Input and defaults

profiles accepts a list of Snapchat usernames or public profile links. Bare names and names starting with @ work. Repeated names are removed without regard to letter case, and the first spelling is used when requesting the page.

{
"profiles": ["kyliejenner", "teamsnapchat"]
}

include_stories defaults to true. Setting it to false leaves the dataset empty and writes the account records to the key-value store record summary. Read summary.accounts to obtain usernames, subscriber counts, profile names, bios, websites and the other public profile fields. A missing subscriber count is JSON null. This option retains the same account-summary behavior as earlier versions of this Actor.

max_accounts defaults to 25 and allows 1 to 200 distinct accounts. attempts defaults to 3 and allows 1 to 10 attempts for an account whose page was not served. region defaults to us; for example, gb requests the public account from the United Kingdom.

Output records

Dataset rows represent highlights with snaps. Account information remains in summary.accounts, including on runs with stories turned off. The summary record also reports requested and read accounts, creator and ordinary profile counts, highlight and snap counts, retries and errors. Accounts whose pages claim highlights but do not serve any are listed explicitly; the field is null when there are none.

A failed account is listed in the errors record while the other requested accounts are still processed. When there are no errors that record is absent. For curated stories, story_id and first_snap_id remain null when Snapchat provides empty identifiers. The added highlight_id and url identify the actual highlight without changing those existing fields. All dates use UTC.

A real Snapchat highlight row

This is the second Spotlight row of a run on mrbeast, unedited, from a captured October 2026 profile response:

{
"source": "snapchat-profiles",
"platform": "snapchat",
"post_id": "W7_EDlXWTBiXAEEniNoMPwAAYYWlqZm9oYXVzAZUUOoseAZUUOohiAAAAAQ",
"post_url": "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYYWlqZm9oYXVzAZUUOoseAZUUOohiAAAAAQ",
"author_handle": "mrbeast",
"text": null,
"highlight_id": "W7_EDlXWTBiXAEEniNoMPwAAYYWlqZm9oYXVzAZUUOoseAZUUOohiAAAAAQ",
"url": "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYYWlqZm9oYXVzAZUUOoseAZUUOohiAAAAAQ",
"fetched_at": "2026-10-03T00:00:26.847Z",
"story_id": "W7_EDlXWTBiXAEEniNoMPwAAYYWlqZm9oYXVzAZUUOoseAZUUOohiAAAAAQ",
"story_type": "spotlight",
"title": null,
"thumbnail_url": "https://cf-st.sc-cdn.net/d/sZh6eCQrmNyLs7ruapwZw.256.IRZXSOY?mo=GkkaBzIBBFAuYAFaEERmTGFyZ2VUaHVtYm5haWyiARQIgAIiDwoCSAMSACoHSVJaWFNPWaIBFAiaCiIPCgJIAhIAKgdJUlpYU09Z&uc=46",
"snap_count": 1,
"first_snap_id": "W7_EDlXWTBiXAEEniNoMPwAAYYWlqZm9oYXVzAZUUOoseAZUUOohiAAAAAQ",
"media_url": "https://cf-st.sc-cdn.net/d/sZh6eCQrmNyLs7ruapwZw.27.IRZXSOY?mo=GsEBGgkyAQRIAlAuYAFaEFNwb3RsaWdodFNoYXJpbmeiAZsBCBsSiQEKhgEIm5TTBSABSnsKdqICvgG5AbwBrgG8AccBwQHBAcgBzwHkAakBqAGSAaYBoAGdAYsBpgGeAZYB7AHWAdgB5QHeAdYBygHfAdMBzAHAAfkBnwGfAZgBqwGbAZkBqQGqAacBpgGTAfcB7wHzAeoB6QGCAoIC9gHnAYACwgG9AcgBlQEQ9ANoAiILEgAqB0lSWlhTT1mQA4LnAQ%3D%3D&uc=46",
"posted_at": "2025-02-17T14:05:35Z",
"latest_snap_at": "2025-02-17T14:05:35Z",
"username": "mrbeast",
"display_name": "MrBeast",
"subscriber_count": 1467700,
"position": 2
}

A real account record from summary.accounts

The same run's account entry. subscribers and followers repeat subscriber_count under the names other social scrapers use, and creator repeats is_creator, so the record joins a table built from other platforms without renaming columns:

{
"source": "snapchat-profiles",
"platform": "snapchat",
"username": "mrbeast",
"handle": "mrbeast",
"subscribers": 1467700,
"followers": 1467700,
"creator": true,
"is_creator": true,
"display_name": "MrBeast",
"name": "MrBeast",
"profile_url": "https://www.snapchat.com/add/mrbeast",
"fetched_at": "2026-10-03T00:00:26.847Z",
"bio": null,
"website": null,
"profile_picture_url": "https://cf-st.sc-cdn.net/aps/bolt/aHR0cHM6Ly9jZi1zdC5zYy1jZG4ubmV0L2QvR2M2MEJNODVEdjRHWU5yVk9EbFZwP2JvPUVnMGFBQm9BTWdFRVNBSlFHV0FCJnVjPTI1._RS0,90_FMpng",
"snapcode_url": "https://app.snapchat.com/web/deeplink/snapcode?username=mrbeast&type=SVG&bitmoji=enable",
"badge": 1,
"is_verified": true
}

Use cases for a Snapchat profile scraper

Creator research. Subscriber count next to how many stories an account actually publishes separates a large account from an active one. The two are often not the same account.

Campaign tracking. Run the accounts in a campaign on a schedule with stories on, and posted_at gives you publishing cadence per creator over time.

Audience benchmarking. Subscriber counts across a set of creators in one table, refreshed whenever you like, at one request each. This is the bulk version of looking up a Snapchat subscriber count by hand.

Content research. snap_count and the date span show how creators actually structure a story: a fifteen-snap highlight built over a day is a different thing from a single snap, and the counts make that visible without opening any of them.

Spotlight monitoring. Spotlight rows are marked spotlight, so a creator's Spotlight output can be filtered from their curated Stories and counted per week.

How this Snapchat scraper compares

This ActorSnapchat story viewer websitesSnapchat's own APIsOther Store scrapers
Any public account, no loginyesyesno, built for your own ads and appsyes
Subscriber count, bio, website, verificationyespartlynovaries
Spotlight and Story highlights as rowsyeswatch onlynovaries
Many accounts in one run, on a scheduleyes, up to 200one at a timen/ayes
Empty highlights and missing accounts namedyesnon/avaries
Price$0.002 per run + $0.002 per highlightfree, with adsn/asee below

Measured on the Apify Store on 3 October 2026: tri_angle/snapchat-scraper charges $0.001 per run plus $0.002 per profile, easyapi/snapchat-profile-scraper a $0.09 start fee plus $0.00299 per row, and memo23/snapchat-scraper a $0.05 start fee plus $0.00175 per row. This Actor keeps a small start fee, returns the account records at no extra charge, and charges only for highlights it actually delivers.

What this does not cover

No private accounts, no friends, no messages. This reads what a public profile page shows to anyone who visits it, and nothing else exists to read without an account.

No Lenses. They sit on the same page and are a different kind of object with different fields; mixing them into a story table would give you rows with half the columns empty.

No snap contents. A snap is identified, not transcribed or downloaded. You get its id, its media URL and its timestamp.

No search. Snapchat has no public way to search accounts or stories by keyword, so you name the accounts you care about.

Pricing

The existing pay-per-event price is $0.002 per Actor run started, plus $0.002 per delivered Spotlight or Story highlight. An account-only run has the start fee and no highlight charges. A run that finds no highlights also has the start fee only. Each dataset row is one highlight, regardless of how many individual snaps it contains.

Free-plan users receive at most 10 highlight rows per run. The account list in summary still includes every account successfully read within the requested account limit. Paid users retain their requested output volume.

FAQ

Where are my accounts when I turn stories off?

They are in the key-value store record summary, under accounts. The dataset contains highlight rows, so it is empty on an account-only run.

Why is a subscriber count null?

Ordinary accounts do not expose a subscriber count. Null preserves that absence; it is different from a creator account exposing zero subscribers.

Does a missing account fail the whole run?

No. It produces a named entry in errors. Other readable public accounts are still returned, and the run completes successfully.

Does every individual snap incur a charge?

No. The charge is per delivered highlight row. snap_count reports how many snaps belong to that highlight and does not multiply the price.

Is this a Snapchat story viewer?

Not in the sense of a page you watch stories on. It returns each public highlight as data, with media_url and thumbnail_url pointing at Snapchat's own media, so you can open a story's first snap from the link. It does not download or re-host the media, and it cannot see private stories.

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

No. The Actor reads public profile pages, which anyone can open without an account. Snapchat's official APIs are built for advertisers and app developers working with their own accounts, not for reading other public profiles.

Can I track subscriber counts over time?

Yes. Schedule the Actor with Include stories off and the accounts you follow. Each run writes the current subscriber counts to summary.accounts for the start fee alone, and every record carries its fetched_at time.

Notes

Only public profiles are readable. A private account has no public profile page and is reported as not found.

Subscriber counts move, and stories expire. A run is a snapshot, which is why every story carries its own dates.

Snaps are identified rather than downloaded: media_url points at Snapchat's own CDN and the media itself is not part of the output.

The account's Lenses are visible on the same page but are not returned here; they are a different kind of object and would need their own columns.