Snapchat Profile Scraper & Subscriber Monitor avatar

Snapchat Profile Scraper & Subscriber Monitor

Pricing

from $2.19 / 1,000 profile row returneds

Go to Apify Store
Snapchat Profile Scraper & Subscriber Monitor

Snapchat Profile Scraper & Subscriber Monitor

Scrape public Snapchat profiles: subscriber count, bio, category, website and Spotlight videos with views. Turn monitoring on and a run returns a profile only when its subscriber count or Spotlight changes, for a small fee per profile checked.

Pricing

from $2.19 / 1,000 profile row returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Snapchat Profile Scraper & Subscriber Monitor - subscriber counts and Spotlight

Scrape public Snapchat profiles - subscriber count, display name, category, bio, website, address, profile picture and Snapcode, and the Spotlight videos on the profile with their views, shares and comments - and, with monitoring on, receive a row only when a profile changes: its subscriber count moved, or a new Spotlight appeared on its page. A run on which nothing changed returns a single free no-change row.

In monitoring mode you pay a small fee per profile checked, $0.30 per 1,000 checks, and the normal row price only for the rows that report a change. Watching 50 profiles every hour is 36,000 checks a month, which is $10.80 in check fees, plus the change rows you receive.

Best for

  • Influencer and creator vetting - read subscriber counts, categories and Spotlight activity (latest Spotlight, Spotlight views) for a list of creators before you book them.
  • Subscriber growth tracking - schedule monitoring and receive subscriberDelta only for the creators, brands or clubs whose count moved.
  • Competitor and brand monitoring - get a row when a competitor posts a new Spotlight or its subscriber count moves.
  • Lead lists of public profiles - website, category and address of business profiles, as Snapchat publishes them.

What each row contains

  • What you asked for and what Snapchat returned - inputUsername, username, usernameMatchesInput, profileUrl, displayName.
  • Subscribers - subscriberCount, subscriberCountShown, subscriberCountIsApproximate (see below).
  • Profile - category, subcategory (Snapchat's own labels, such as business-group / sports-team), badgeCode (Snapchat's raw code, not translated), bio, websiteUrl, address, profilePictureUrl, snapcodeImageUrl, profileCreatedAt, profileLastUpdatedAt.
  • Activity - spotlightsOnPage, latestSpotlightAt, moreSpotlightsOnSnapchat (Snapchat has more than the page shows), highlightsOnPage, lensesOnPage.
  • Recent Spotlight videos - recentSpotlights: spotlightId, url, uploadedAt, durationSeconds, viewCount, shareCount, commentCount, thumbnailUrl.
  • Monitoring - change, changedFields, isFirstCheck, previousCheckedAt, previousSubscriberCount, subscriberDelta, previousLatestSpotlightAt.

Measured on 2026-09-14 from Apify: @fcbarcelona had subscriberCount 4060100 and 16 Spotlight videos on its page (the newest with 35666 views); @nasa had 759500 subscribers and 7 Spotlight videos.

Subscriber counts are approximate, and a hidden count is not zero

  • Snapchat publishes subscriber counts in hundreds. Every non-zero count read on 2026-09-14 - 17 public profiles - was a multiple of 100 (4,060,100 for @fcbarcelona, 759,500 for @nasa, 13,000 for a smaller creator), and the page text rounds further ("4.1m Subscribers"). So subscriberCountIsApproximate is true, and a change smaller than that step is not visible. subscriberDelta is the difference between two such values.
  • Many public profiles do not show a count. Snapchat then sends 0 - 11 of 28 public profiles read on 2026-09-14, including @cnn, whose page shows no subscriber figure at all. A real zero cannot be told apart from a hidden count, so the row says subscriberCount: null and subscriberCountShown: false instead of reporting 0 subscribers.

The profile is Snapchat's own, not a similar account

A profile page also contains the "similar accounts" Snapchat recommends (on @fcbarcelona: Man City, Real Madrid and FC Bayern), each with its own profile data. This Actor reads only the profile the page is about, returns the username Snapchat reports for it, and says in usernameMatchesInput whether that is the name you asked for. Spotlight videos are counted only when their creator is that username.

Why stories are not returned

The story part of a profile page changes from one read to the next: on 2026-09-14, reading @nfl four times about 8 seconds apart returned 14, 7, 7 and 7 story snaps, and the time of the newest snap moved forward and back again. A monitor built on that would report old snaps as new stories. So this Actor returns no story counts or times and never reports a story as a change. The Spotlight list, highlight and lens counts did not change between reads in the same measurements.

Phone numbers and e-mail addresses in bios

Creators often write a WhatsApp or phone number into their bio. Sequences of 8 to 15 digits (with spaces, dashes, dots or brackets) and e-mail addresses in bio are replaced with [phone removed] and [email removed]. Shorter numbers, such as licence numbers, and year ranges are kept.

Monitoring, and what it costs

Turn monitoring mode on and the Actor remembers each profile. On later runs a profile comes back only with one of these change values:

changeMeaning
first-checkThe profile had not been seen before. Every profile is returned once on the first run, to set the baseline.
changedchangedFields says what: subscriberCount (the displayed count moved, or the profile started or stopped showing it), spotlight (a Spotlight newer than the one remembered).

With monitorMode set to subscriber-change, only subscriberCount changes are returned; new Spotlights are remembered but not returned.

A profile that did not change is not returned, so it costs no row price; the check fee for reading it still applies. Profiles are remembered per username, not per list, so adding a profile does not reset the ones already being watched. In monitoring mode maxProfiles does not cut changes: every changed profile among those read is returned. If the run's maximum total charge stops a change from being delivered, that change is not remembered, so the profile still counts as changed the next time it is checked.

Names that do not exist and accounts without a public profile are not remembered. If usernames is empty in monitoring mode, nothing is checked or charged: the run returns one free invalid-input row.

Do not put the same profile in two schedules that can run at the same time. Each run writes back only the profiles it checked, merged into the records as they are at that moment, then reads them again and writes once more if another run overwrote them - so two overlapping runs over different profiles keep each other's history. But Apify's key-value store has no atomic update, so this cannot be made watertight: runs that finish at the same instant, or check the same profile at the same time, can still overwrite each other's record, and the next run may return a first-check or a change a second time.

What monitoring costs

  • $0.30 per 1,000 profile checks - charged in monitoring mode for every public profile that was read, whether or not it changed. Names that do not exist, accounts without a public profile and bot checks are not charged.
  • The row price - charged only for the rows returned, which in monitoring mode means first-check rows and changes.

The Actor reads only as many profiles as the run's maximum total charge can pay for with both a check and a change row each, so a low limit cannot use up the budget on check fees and leave nothing for the rows. Profiles beyond that are not checked; a budget-reached row says how many, and raising the maximum total charge lets them be checked. Runs with monitoring off are charged per row only.

Rows that are never charged

When there is nothing to return, this Actor says why instead of returning an empty result:

  • no-such-account - Snapchat answered HTTP 404: there is no account with that name.
  • no-public-profile - the account exists but has no public profile (for example @espn on 2026-09-14), so Snapchat shows no subscriber count, bio or Spotlight. The display name is not returned, because on a personal account it can be a private person's name.
  • blocked - Snapchat answered with a bot check or an empty response. Profiles are requested directly first, and only this answer makes the run switch to a proxy session and try again.
  • unreadable - the page could not be read, or it did not have the shape this Actor knows. Nothing is guessed.
  • no-change - monitoring ran and no profile changed.
  • invalid-input - the text is not a Snapchat username or profile URL, or monitoring mode is on with no username, so nothing was requested.
  • example-input - usernames was empty with monitoring off, so the example profiles were read; this row says so, and the example profile rows themselves are normal charged rows.
  • budget-reached - the run's maximum charge was reached: the row says how many ready rows fit, or how many profiles were not checked in monitoring mode.
  • not-checked - the end of your list was not checked, because maxProfiles profiles had already been read (monitoring off), or because more than 1,000 usernames were given. The row says how many.

Input

FieldWhat it does
usernamesThe profiles to read: @name, name, https://www.snapchat.com/@name or https://www.snapchat.com/add/name. Names are sent in lower case, so @FCBarcelona and @fcbarcelona are the same profile and are read once. If empty with monitoring off, the example profiles @fcbarcelona and @nasa are read and charged as normal rows, with a free example-input row saying so; if empty in monitoring mode, nothing is read or charged.
maxProfilesHow many charged profile rows to return (up to 1,000).
includeRecentSpotlightsReturn the Spotlight videos on the profile page with their views, shares and comments (on by default).
monitoringModeRemember each profile and return it only when it changes.
monitorModeany-change (subscribers or Spotlight) or subscriber-change (subscribers only).
resetMonitoringStateForget every remembered profile and start a fresh baseline.
useProxyRetry through a proxy if Snapchat answers with a bot check. Every profile is requested directly first.

Questions

Can I get the exact subscriber count? No. Snapchat publishes the count in hundreds on the public profile, and that is the number returned. Many profiles do not show a count at all; those rows say subscriberCountShown: false.

Does it work for private or personal accounts? Only public profiles (creators, public figures, brands and businesses) have a subscriber count, bio and Spotlight on the web. A personal account comes back as a free no-public-profile row.

Does monitoring charge me when nothing changed? Unchanged profiles are not returned and cost no row price. Each public profile checked costs the check fee ($0.30 per 1,000), changed or not - that is what pays for polling.

Does it download Spotlight videos? No. It returns counts, times, statistics and the Spotlight page URLs; it does not download or store any media.

Is the Spotlight list complete? It is what Snapchat puts on the profile page. When Snapchat has more, moreSpotlightsOnSnapchat is true and spotlightsOnPage is the number on the page, not the total.

Example input

{
"usernames": ["@fcbarcelona", "@nasa", "https://www.snapchat.com/add/nfl"],
"monitoringMode": true,
"monitorMode": "any-change",
"includeRecentSpotlights": true,
"maxProfiles": 100
}