# Snapchat Profile Scraper - No Cookies (`khadinakbar/snapchat-profile-scraper`) Actor

Scrape public Snapchat profile metadata, subscriber counts, bios, Snapcodes, highlights, Spotlight summaries, and related accounts. No cookies required. Perfect for SEO and AI agents, MCP optimized.

- **URL**: https://apify.com/khadinakbar/snapchat-profile-scraper.md
- **Developed by:** [Khadin Akbar](https://apify.com/khadinakbar) (community)
- **Categories:** Social media, Lead generation, MCP servers
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 scraped snapchat profiles

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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 - No Cookies

Scrape public Snapchat profile metadata for creator discovery, influencer research, competitive monitoring, and AI-agent workflows. The actor accepts Snapchat usernames or public profile URLs and returns one clean profile row per handle with subscriber counts, bios, profile images, Snapcodes, curated highlight summaries, Spotlight engagement summaries, and related public accounts when Snapchat exposes them.

The scraper is provider-backed through ScrapeCreators, so it does not ask users for Snapchat cookies, browser sessions, or login credentials. It is built for repeatable public-data collection and for MCP clients that need a compact, predictable JSON shape.

### What It Extracts

| Field group | Examples |
| --- | --- |
| Profile identity | `username`, `displayName`, `profileUrl`, `bio`, `verified`, `badge` |
| Audience signal | `subscriberCount`, `category`, `subcategory`, `publisherType` |
| Media assets | `profilePictureUrl`, `snapcodeImageUrl`, `squareHeroImageUrl` |
| Story flags | `hasStory`, `hasCuratedHighlights`, `hasSpotlightHighlights` |
| Highlight summaries | highlight title, thumbnail, snap count, small snap preview list |
| Spotlight summaries | Spotlight URL, title, thumbnail, media URL, upload time, views, shares, comments |
| Related accounts | related username, display name, profile URL, avatar, subscriber count when exposed |
| Diagnostics | `status`, `providerStatus`, `errorMessage`, `RUN_SUMMARY` |

### When To Use It

Use this actor when you need structured public Snapchat profile data for:

- Influencer and creator discovery
- Brand monitoring and competitive intelligence
- Social profile enrichment
- Creator CRM enrichment
- Public Spotlight performance review
- AI-agent research tasks that need one JSON record per Snapchat profile

Do not use this actor for private Snapchat data, follower or following lists, direct messages, login-only fields, email scraping, hashtag search, or downloading full videos. It only returns public profile data exposed by Snapchat and ScrapeCreators.

### Input

The main input is `profiles`, a line-separated list of usernames or profile URLs.

```json
{
  "profiles": [
    "fcbarcelona",
    "https://www.snapchat.com/add/zane"
  ],
  "maxProfiles": 10,
  "includeHighlights": true,
  "includeSpotlightMetadata": true,
  "includeRelatedAccounts": true,
  "includeRawData": false
}
````

#### Input Fields

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `profiles` | array | example handles | Snapchat usernames or `snapchat.com/add/{username}` URLs |
| `maxProfiles` | integer | 25 | Safety and billing cap for processed profiles |
| `includeHighlights` | boolean | true | Include curated highlight summaries and small snap previews |
| `includeSpotlightMetadata` | boolean | true | Include Spotlight summaries and public engagement counts |
| `includeRelatedAccounts` | boolean | true | Include compact related-account suggestions |
| `includeRawData` | boolean | false | Include the raw provider payload for debugging |

### Output Example

```json
{
  "recordType": "profile",
  "status": "ok",
  "provider": "scrapecreators",
  "providerStatus": 200,
  "username": "zane",
  "displayName": "Zane",
  "profileUrl": "https://www.snapchat.com/add/zane",
  "bio": "Time to get buck wild baby",
  "subscriberCount": 1535700,
  "verified": true,
  "profilePictureUrl": "https://cf-st.sc-cdn.net/example.jpeg",
  "snapcodeImageUrl": "https://app.snapchat.com/web/deeplink/snapcode?username=zane&type=SVG&bitmoji=enable",
  "hasStory": false,
  "hasCuratedHighlights": true,
  "hasSpotlightHighlights": true,
  "curatedHighlightCount": 1,
  "spotlightVideoCount": 1,
  "spotlightViewCount": 11937,
  "spotlightShareCount": 6,
  "spotlightCommentCount": 10,
  "relatedAccountCount": 1,
  "sourceUrl": "https://www.snapchat.com/add/zane",
  "scrapedAt": "2026-06-12T00:00:00.000Z"
}
```

Diagnostic rows use the same dataset so automation can keep flowing:

```json
{
  "recordType": "diagnostic",
  "status": "not-found",
  "provider": "scrapecreators",
  "providerStatus": 404,
  "username": "missing_profile",
  "profileUrl": "https://www.snapchat.com/add/missing_profile",
  "errorMessage": "Profile was not found or is unavailable publicly.",
  "scrapedAt": "2026-06-12T00:00:00.000Z"
}
```

### Pricing

This actor uses Pay Per Event with a small start fee and one predictable profile event.

| Event | When charged | Price |
| --- | --- | --- |
| Actor Start | Once after valid input and provider configuration | `$0.00005` |
| Scraped Snapchat Profile | Each public profile row saved to the dataset | `$0.0035` |

Typical cost examples:

| Run | Cost |
| --- | --- |
| 10 profiles | about `$0.03505` |
| 100 profiles | about `$0.35005` |
| 1,000 profiles | about `$3.50005` |

Diagnostic rows for invalid input, missing provider configuration, or profiles that are not publicly available are not charged as scraped profile events.

### API And MCP Usage

The actor is optimized for Apify API and MCP usage. It has a narrow tool surface, clear input descriptions, stable dataset fields, and a `RUN_SUMMARY` key-value record for provider telemetry.

API run example:

```bash
apify call khadinakbar/snapchat-profile-scraper --input='{
  "profiles": ["fcbarcelona", "zane"],
  "maxProfiles": 2
}'
```

MCP tool description draft:

> Scrape public Snapchat profiles with bios, subscriber counts, images, highlights, Spotlight metrics, and related accounts. Use for influencer research, brand monitoring, and creator enrichment. Do not use for private data, follower lists, emails, or Spotlight search. Returns one row per profile plus diagnostics. Charged $0.0035/profile.

### Reliability Notes

- Public data only. If Snapchat or the provider does not expose a field, the actor returns `null` or an empty array.
- No Snapchat cookies or login sessions are required.
- Large runs are bounded by `maxProfiles`.
- Provider issues, unavailable profiles, and invalid inputs produce diagnostic rows and `RUN_SUMMARY` details.
- `includeRawData` can be enabled for debugging, but leave it off for compact AI-agent output.

### Limitations

- This actor does not return private Snapchat content.
- It does not scrape follower or following lists.
- It does not discover profiles from keywords or hashtags.
- Spotlight metadata is returned only when attached to the requested public profile.
- Story and highlight availability can change quickly because Snapchat profile content is time-sensitive.

### Related Actors

Use this actor for profile-level Snapchat metadata. Use a dedicated Snapchat Spotlight, Story, Hashtag, or Video Downloader actor when your primary target is content search or media download instead of profile enrichment.

### Legal And Compliance

This actor is intended for publicly available Snapchat profile data. Use the data responsibly, respect applicable laws and platform terms, and do not use the output for spam, harassment, surveillance, or attempts to access private information.

Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.

# Actor input Schema

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

Use this when you have Snapchat usernames or profile URLs to inspect. Accepts bare handles or URLs like fcbarcelona and https://www.snapchat.com/add/zane. Defaults to the prefilled examples for a small test run. Not for Spotlight-only URLs, hashtags, or Snapchat email discovery.

## `maxProfiles` (type: `integer`):

Use this to cap how many profile inputs are processed and billed. Accepts 1 to 1000; default is the number of supplied profiles up to 25. Lower values are best for testing cost and output shape. Not a per-profile content limit.

## `includeHighlights` (type: `boolean`):

Use this to include curated highlight summaries and up to 10 snap previews per highlight. Accepts true or false; default is true. Turn off for smaller rows and CSV-friendly exports. Not a full historical story archive.

## `includeSpotlightMetadata` (type: `boolean`):

Use this to include public Spotlight video summaries when the profile exposes them. Accepts true or false; default is true. Rows include titles, URLs, thumbnails, and engagement counts when available. Not a separate Spotlight search tool.

## `includeRelatedAccounts` (type: `boolean`):

Use this to include Snapchat related-account suggestions exposed on the public profile. Accepts true or false; default is true. The output is a compact array with usernames, names, and avatars. Not a follower or following list.

## `includeRawData` (type: `boolean`):

Use this only when debugging provider drift or building a custom parser. Accepts true or false; default is false to keep MCP output compact. Raw data can be large and nested. Not needed for normal profile exports.

## Actor input object example

```json
{
  "profiles": [
    "fcbarcelona",
    "https://www.snapchat.com/add/zane"
  ],
  "maxProfiles": 10,
  "includeHighlights": true,
  "includeSpotlightMetadata": true,
  "includeRelatedAccounts": true,
  "includeRawData": false
}
```

# Actor output Schema

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

Public profile rows with metadata, images, subscriber counts, highlights, Spotlight summaries, related accounts, and diagnostic rows.

## `runSummary` (type: `string`):

Run diagnostics and provider telemetry.

# 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": [
        "fcbarcelona",
        "https://www.snapchat.com/add/zane"
    ],
    "maxProfiles": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("khadinakbar/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": [
        "fcbarcelona",
        "https://www.snapchat.com/add/zane",
    ],
    "maxProfiles": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("khadinakbar/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 '{
  "profiles": [
    "fcbarcelona",
    "https://www.snapchat.com/add/zane"
  ],
  "maxProfiles": 10
}' |
apify call khadinakbar/snapchat-profile-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Snapchat Profile Scraper - No Cookies",
        "description": "Scrape public Snapchat profile metadata, subscriber counts, bios, Snapcodes, highlights, Spotlight summaries, and related accounts. No cookies required. Perfect for SEO and AI agents, MCP optimized.",
        "version": "0.2",
        "x-build-id": "leCRtPGeaqRqSdq8j"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/khadinakbar~snapchat-profile-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-khadinakbar-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/khadinakbar~snapchat-profile-scraper/runs": {
            "post": {
                "operationId": "runs-sync-khadinakbar-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/khadinakbar~snapchat-profile-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-khadinakbar-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",
                "properties": {
                    "profiles": {
                        "title": "Snapchat Profiles",
                        "type": "array",
                        "description": "Use this when you have Snapchat usernames or profile URLs to inspect. Accepts bare handles or URLs like fcbarcelona and https://www.snapchat.com/add/zane. Defaults to the prefilled examples for a small test run. Not for Spotlight-only URLs, hashtags, or Snapchat email discovery.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxProfiles": {
                        "title": "Max Profiles",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Use this to cap how many profile inputs are processed and billed. Accepts 1 to 1000; default is the number of supplied profiles up to 25. Lower values are best for testing cost and output shape. Not a per-profile content limit.",
                        "default": 25
                    },
                    "includeHighlights": {
                        "title": "Include Highlights",
                        "type": "boolean",
                        "description": "Use this to include curated highlight summaries and up to 10 snap previews per highlight. Accepts true or false; default is true. Turn off for smaller rows and CSV-friendly exports. Not a full historical story archive.",
                        "default": true
                    },
                    "includeSpotlightMetadata": {
                        "title": "Include Spotlight Metadata",
                        "type": "boolean",
                        "description": "Use this to include public Spotlight video summaries when the profile exposes them. Accepts true or false; default is true. Rows include titles, URLs, thumbnails, and engagement counts when available. Not a separate Spotlight search tool.",
                        "default": true
                    },
                    "includeRelatedAccounts": {
                        "title": "Include Related Accounts",
                        "type": "boolean",
                        "description": "Use this to include Snapchat related-account suggestions exposed on the public profile. Accepts true or false; default is true. The output is a compact array with usernames, names, and avatars. Not a follower or following list.",
                        "default": true
                    },
                    "includeRawData": {
                        "title": "Include Raw Provider Data",
                        "type": "boolean",
                        "description": "Use this only when debugging provider drift or building a custom parser. Accepts true or false; default is false to keep MCP output compact. Raw data can be large and nested. Not needed for normal profile exports.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
