# Snapchat Profile Scraper: Subscribers, Stories & Spotlight (`precious_bathmat/snapchat-profile-scraper`) Actor

Scrape Snapchat public profiles of creators and brands: subscribers, bio, website, category, story activity, highlights and lenses, plus Spotlight videos with views, shares, comments and boosts. No login, no API key.

- **URL**: https://apify.com/precious_bathmat/snapchat-profile-scraper.md
- **Developed by:** [Mariam Ahmed](https://apify.com/precious_bathmat) (community)
- **Categories:** Social media, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 profiles

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Snapchat Profile Scraper: Subscribers, Stories & Spotlight

Scrape **Snapchat public profiles** of creators, brands and organisations without logging in. For every profile you get **subscribers, name, bio, website, category, verified badge and creation date**, its **story activity** (snaps live now, last story), **saved highlights**, **lenses** and **related accounts**, plus the **Spotlight videos** shown on the profile with **views, shares, comments and boosts**.

- **Profile numbers**: subscribers (when the profile shows them), verified badge, category and subcategory (e.g. Business group · Sports league), website, country, created and last updated dates
- **Activity**: how many story snaps are live right now and when the last was posted, latest Spotlight date
- **Spotlight videos**: caption, date, duration, views, shares, comments, boosts, recommends, sound, thumbnail and video address, plus medians per profile
- **Highlights and lenses**: saved story highlights with their snap counts, the profile's lenses, related accounts Snapchat suggests
- **Personal accounts are skipped**: only Snapchat public profiles are read
- **No login, no API key, no proxy**

### What does this Snapchat scraper do?

```
@kyliejenner 28,911,700 subscribers · 15 story snaps this week · Spotlight median 71,601 views
@nba          3,559,500 subscribers · 122 story snaps live · 16 highlights · 16 lenses
@mrbeast      1,469,400 subscribers · Spotlight median 2,986,701 views
```

1. Add **public profiles**: `@nba`, `nba`, `snapchat.com/add/nba` or `snapchat.com/@nba`.
2. The scraper opens each public profile page, the one anyone can see in a browser.
3. You get **one row per profile** in the dataset and **every Spotlight video** in `SPOTLIGHT`.

```mermaid
flowchart LR
    A[Public profiles] --> B[Public profile page]
    B --> C[Profile row<br/>subscribers, category,<br/>story activity, highlights]
    B --> D[Spotlight videos<br/>views, shares, boosts]
    D --> C
```

### Who is it for?

- **Influencer marketing teams** checking a creator's Snapchat audience and Spotlight reach
- **Brands and agencies** benchmarking competitors: subscribers, how often they post stories, how their Spotlight performs
- **Sports, media and entertainment marketers** tracking leagues, teams and shows on Snapchat
- **Researchers** collecting public numbers for brand and creator accounts
- **Lead generation**: websites and categories of business profiles

### What data do you get?

**Profiles** (dataset, one row per profile; also `PROFILES_CSV`)

| Field | What it tells you |
|---|---|
| `username`, `name`, `profileUrl`, `profilePicture`, `snapcode` | The profile |
| `subscribers`, `subscribersHidden` | Subscriber count, or a flag when the profile hides it |
| `verified`, `category`, `subcategory` | Badge and Snapchat's category, e.g. "Business group · Sports league" |
| `bio`, `website`, `country` | Profile details |
| `createdAt`, `lastUpdatedAt` | When the public profile was created and last changed |
| `hasStory`, `storySnaps`, `lastStoryAt` | Story snaps live now and the newest one |
| `spotlightVideosShown`, `lastSpotlightAt`, `spotlightMedianViews`, `spotlightMedianShares`, `spotlightMedianComments`, `spotlightMedianBoosts` | Spotlight activity and typical performance |
| `highlights`, `lenses`, `relatedAccounts` | Saved highlights (title and snaps), lens names, accounts Snapchat suggests |
| `spotlight` | The profile's Spotlight videos in full |

**Spotlight videos** (`SPOTLIGHT`, every video; also `SPOTLIGHT_CSV`)

| Field | What it tells you |
|---|---|
| `url`, `spotlightId`, `username` | The video and its profile |
| `caption`, `aiDescription`, `postedAt`, `durationSeconds` | What and when (`aiDescription` is Snapchat's own summary) |
| `views`, `shares`, `comments`, `boosts`, `recommends` | How it performed (views empty when the creator hides them) |
| `hashtags`, `keywords`, `sound` | Topic and sound |
| `thumbnail`, `videoUrl` | Thumbnail and video addresses |

### Example: 11 October 2026

**12 public profiles and 131 Spotlight videos in 4 seconds.**

| Profile | Subscribers | Category | Story snaps live | Spotlight median views |
|---|---|---|---|---|
| @kyliejenner | 28,911,700 | — | 15 | 71,601 |
| @nba | 3,559,500 | Business group · Sports league | 122 | 2,965 |
| @nfl | 2,336,100 | Business group · Sports league | 40 | 7,581 |
| @redbull | 1,826,800 | Product brand · Brand | 0 | 117,823 |
| @mrbeast | 1,469,400 | — | 0 | 2,986,701 |
| @warriors | 999,200 | Business group · Sports team | 19 | 9,479 |
| @nasa | 754,800 | Business group · Government org | 0 | 42,886 |

- NBA keeps a **122-snap story** live and 16 saved highlights; Red Bull posts no stories but gets a median **117,823 views** per Spotlight video.
- Netflix, Khaby Lame, McDonald's and Sephora hide their subscriber count (`subscribersHidden`).

### Pricing

**$0.003 per profile** and **$0.0005 per Spotlight video**.

- 1,000 profiles with their Spotlight videos (about 12,000 videos): **about $9**
- 1,000 profiles without videos: **$3**
- The run above: 12 profiles and 131 videos, **$0.10**

Profiles that are missing or personal are not charged.

### Good to know

- **Public profiles only**: Snapchat public profiles belong to creators, brands, media and organisations. A personal account's page is skipped and noted in `RUN_SUMMARY`; nothing from it is saved.
- **Subscribers**: some profiles hide the count; those rows have `subscribersHidden: true`.
- **Spotlight views**: Snapchat hides views on some videos (often the newest ones of big accounts); shares, comments and boosts are still there. Medians use the videos that show a number.
- **About 15 Spotlight videos per profile**: the ones Snapchat shows on the profile page.
- **Stories**: the count of snaps live now; story media is not downloaded.
- No login, no cookies, no proxies needed.

### Input

| Field | Meaning |
|---|---|
| **Public profiles** | Usernames or profile addresses, one per line |
| **Spotlight videos** | On by default |

### Integrations

Export to JSON, CSV, Excel or Google Sheets, or connect through the Apify API, webhooks, Make, Zapier and n8n. Schedule it weekly to track subscribers and Spotlight performance over time.

# Actor input Schema

## `profiles` (type: `array`):

One per line: "@nba", "nba", snapchat.com/add/nba or snapchat.com/@nba. Public profiles of creators, brands and organisations; personal accounts are skipped.

## `spotlightVideos` (type: `boolean`):

Also save the Spotlight videos shown on each profile (about 15) with views, shares, comments and boosts, and add their medians to the profile.

## Actor input object example

```json
{
  "profiles": [
    "@nba",
    "@nasa",
    "@redbull"
  ],
  "spotlightVideos": true
}
```

# Actor output Schema

## `profiles` (type: `string`):

One row per public profile: subscribers, bio, website, category, story activity, highlights, lenses and Spotlight medians.

## `spotlight` (type: `string`):

Every Spotlight video: caption, date, views, shares, comments, boosts and sound.

## `profilesCsv` (type: `string`):

Profiles as a spreadsheet.

## `spotlightCsv` (type: `string`):

Spotlight videos as a spreadsheet.

## `summary` (type: `string`):

Counts and notes.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "profiles": [
        "@nba",
        "@nasa",
        "@redbull"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("precious_bathmat/snapchat-profile-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "profiles": [
        "@nba",
        "@nasa",
        "@redbull",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("precious_bathmat/snapchat-profile-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "profiles": [
    "@nba",
    "@nasa",
    "@redbull"
  ]
}' |
apify call precious_bathmat/snapchat-profile-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,precious_bathmat/snapchat-profile-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/hgf3jhPWEkZhYQXQr/builds/lC0j2LtnWN2OtcIbe/openapi.json
