# Snapchat Profile Scraper (`crawlerbros/snapchat-profile-scraper`) Actor

Scrape public profile metadata from Snapchat user profiles. Provide usernames or profile URLs and get display name, verification status, subscriber count, bio, avatar, story highlights, related accounts, and external links with one record per username.

- **URL**: https://apify.com/crawlerbros/snapchat-profile-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Social media, Lead generation, Other
- **Stats:** 6 total users, 0 monthly users, 100.0% runs succeeded, 12 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Snapchat Profile Scraper

Scrape public profile metadata from Snapchat user profiles. Provide one or more usernames or profile URLs and get the full public profile card — display name, verification badge, subscriber count, bio, avatar, story highlights, related accounts, and external links — one record per username.

### What It Does

For each Snapchat username you provide, the actor:
1. Fetches the public profile page
2. Extracts the full profile card including highlight albums and related accounts
3. Returns one dataset record per username

No login, cookies, or browser required. Works on any public Snapchat creator or regular profile.

### Supported URL Formats

| Format | Example |
|--------|---------|
| Bare username | `brentrivera` |
| @-prefixed | `@brentrivera` |
| Add URL | `https://www.snapchat.com/add/brentrivera` |
| Profile URL | `https://www.snapchat.com/@brentrivera` |

### Input

| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `usernames` | string[] | Yes | — | One or more usernames or profile URLs |
| `proxyConfiguration` | object | No | null | Apify proxy config (optional) |

**Example input:**

```json
{
  "usernames": ["brentrivera", "selenagomez", "@khaby.lame"]
}
````

### Output

One record per username pushed to the Apify dataset.

#### Public profile record

| Field | Type | Description |
|-------|------|-------------|
| `username` | string | Snapchat username |
| `displayName` | string | Full display name |
| `accountType` | string | `"public"` or `"private"` |
| `isVerified` | boolean | Whether the account is verified |
| `subscriberCount` | integer | Subscriber count (when available) |
| `bio` | string | Profile bio (when set) |
| `profileUrl` | string | Full Snapchat profile URL |
| `profilePictureUrl` | string | Avatar CDN URL |
| `snapcodeImageUrl` | string | Snapcode SVG URL |
| `squareHeroImageUrl` | string | Banner/hero image URL (when set) |
| `websiteUrl` | string | External website link (when set) |
| `category` | string | Profile category string |
| `subcategory` | string | Profile subcategory string |
| `hasStory` | boolean | Whether an active story exists |
| `hasCuratedHighlights` | boolean | Whether highlight albums exist |
| `hasSpotlightHighlights` | boolean | Whether spotlight highlights exist |
| `createdAt` | string | Account creation date (ISO 8601 UTC) |
| `lastUpdatedAt` | string | Last profile update (ISO 8601 UTC) |
| `sameAsLinks` | array | External social profile links |
| `relatedAccounts` | object\[] | Cross-promoted Snapchat accounts |
| `curatedHighlights` | object\[] | Saved story highlight albums |
| `spotlightHighlights` | object\[] | Spotlight video highlights |
| `scrapedAt` | string | Scrape timestamp (ISO 8601 UTC) |

**Example output (public profile):**

```json
{
  "username": "brentrivera",
  "displayName": "Brent Rivera",
  "accountType": "public",
  "isVerified": true,
  "subscriberCount": 2646200,
  "bio": "Hi I'm brent and this is my new snapchat",
  "profileUrl": "https://www.snapchat.com/add/brentrivera",
  "profilePictureUrl": "https://cf-st.sc-cdn.net/...",
  "snapcodeImageUrl": "https://app.snapchat.com/web/deeplink/snapcode?username=brentrivera",
  "websiteUrl": "https://brentrivera.com",
  "category": "public-profile-category-v3-people",
  "subcategory": "public-profile-subcategory-v3-public-figure",
  "hasStory": true,
  "hasCuratedHighlights": true,
  "hasSpotlightHighlights": false,
  "createdAt": "2020-07-06T22:02:59+00:00",
  "lastUpdatedAt": "2026-03-28T14:52:30.399000+00:00",
  "sameAsLinks": [],
  "relatedAccounts": [],
  "curatedHighlights": [
    {
      "highlightId": "6d6ede0f-9279-4be9-8a54-a6662783a943",
      "storyTitle": "Motivation",
      "thumbnailUrl": "https://cf-st.sc-cdn.net/...",
      "snapCount": 7,
      "firstSnapUrl": "https://cf-st.sc-cdn.net/...",
      "firstSnapType": "video"
    }
  ],
  "spotlightHighlights": [],
  "scrapedAt": "2026-04-15T10:00:00.000000+00:00"
}
```

#### Private profile record

```json
{
  "username": "someuser",
  "displayName": "Some User",
  "accountType": "private",
  "isVerified": false,
  "profileUrl": "https://www.snapchat.com/add/someuser",
  "scrapedAt": "2026-04-15T10:00:00.000000+00:00"
}
```

#### Error record

```json
{
  "inputUsername": "thisuserdoesnotexist99999",
  "error": "Profile not found or private",
  "scrapedAt": "2026-04-15T10:00:00.000000+00:00"
}
```

### FAQ

**Does this require a Snapchat account or login?**
No. It only accesses publicly available profile pages, the same data visible to any website visitor.

**What is the difference between `curatedHighlights` and `spotlightHighlights`?**
Curated highlights are saved story albums that creators manually curate. Spotlight highlights are short-form videos (similar to TikTok/Reels) that a creator has pinned to their profile.

**Why is `subscriberCount` sometimes missing?**
Snapchat does not expose subscriber counts for all public profiles. When the count is unavailable or zero, the field is omitted from the output.

**Why does some profiles return `accountType: "private"`?**
Regular Snapchat users (non-creators) have private profiles with minimal public data. The actor returns their username and display name with `accountType: "private"`.

**Can I scrape multiple profiles at once?**
Yes — add as many usernames as you need to the `usernames` list. Each runs sequentially and produces one output record.

**Do I need a proxy?**
No proxy is required for normal usage. For large-scale runs or if you encounter rate limiting, enable Apify proxy via the `proxyConfiguration` input.

# Actor input Schema

## `usernames` (type: `array`):

One or more Snapchat usernames or profile URLs. Accepted formats: bare username (brentrivera), @-prefixed (@brentrivera), add URL (https://www.snapchat.com/add/brentrivera), or profile URL (https://www.snapchat.com/@brentrivera).

## `proxyConfiguration` (type: `object`):

Optional Apify proxy configuration. Public Snapchat profiles work without proxy; include for resilience at scale.

## Actor input object example

```json
{
  "usernames": [
    "brentrivera"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset containing scraped profile records

# 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 = {
    "usernames": [
        "brentrivera"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/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 = { "usernames": ["brentrivera"] }

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

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

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

```

## CLI example

```bash
echo '{
  "usernames": [
    "brentrivera"
  ]
}' |
apify call crawlerbros/snapchat-profile-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/snapchat-profile-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Snapchat Profile Scraper",
        "description": "Scrape public profile metadata from Snapchat user profiles. Provide usernames or profile URLs and get display name, verification status, subscriber count, bio, avatar, story highlights, related accounts, and external links with one record per username.",
        "version": "1.0",
        "x-build-id": "ne6vOetyWDMBC3C2F"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~snapchat-profile-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-snapchat-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~snapchat-profile-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-snapchat-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~snapchat-profile-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-snapchat-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "usernames"
                ],
                "properties": {
                    "usernames": {
                        "title": "Usernames or Profile URLs",
                        "type": "array",
                        "description": "One or more Snapchat usernames or profile URLs. Accepted formats: bare username (brentrivera), @-prefixed (@brentrivera), add URL (https://www.snapchat.com/add/brentrivera), or profile URL (https://www.snapchat.com/@brentrivera).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional Apify proxy configuration. Public Snapchat profiles work without proxy; include for resilience at scale."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
