# Snapchat Email Scraper (`khadinakbar/snapchat-email-scraper`) Actor

Scrape public Snapchat creator and brand profiles by username or URL and extract contact emails from the bio, linked website, and social links. MCP/API-ready.

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

## Pricing

from $5.00 / 1,000 profile scrapeds

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Email Scraper

**Scrape public Snapchat creator and brand profiles and pull their contact emails** — by username or profile URL. The Snapchat Email Scraper reads each public profile (display name, bio, subscriber count, verified badge, category, linked website, social links) and then **crawls the linked website's contact and about pages to extract business emails and phone numbers**. Built for influencer-marketing and B2B lead generation, it turns a list of Snapchat handles into a contactable lead list.

Runs on the [Apify platform](https://apify.com): API access, scheduling, proxy rotation, integrations (Make, Zapier, n8n, Google Sheets), and an MCP endpoint for AI agents. No Snapchat login or cookies required.

### What does Snapchat Email Scraper do?

Give it Snapchat usernames or profile URLs. For each one it:

1. Fetches the **public profile** at `snapchat.com/@<username>` (HTTP-only, no login).
2. Extracts profile data: name, bio, subscriber count, verified status, category, **linked website**, social links, related accounts.
3. (Optional, on by default) **Visits the linked website** and crawls its home, contact, about, and impressum pages to find **contact emails** and phone numbers.
4. Returns one structured record per profile with a deduplicated `emails[]` array.

It does **not** scrape snaps, stories, or Spotlight videos, and it does not access private accounts or friend lists — only public profile data.

### Why use Snapchat Email Scraper?

- **Influencer outreach** — build a contactable list of Snapchat creators in your niche.
- **Brand partnerships** — find the press/business email behind a brand's Snapchat presence.
- **B2B lead generation** — enrich a list of Snapchat business profiles with website + email.
- **Competitive research** — capture verified status, subscriber counts, and categories at scale.

### How to use Snapchat Email Scraper

1. Open the **Input** tab.
2. Paste Snapchat **usernames** or **profile URLs** into the `usernames` field (one per line).
3. Leave **Extract emails from linked website** on to get the most emails (turn it off for a faster, profile-only run).
4. Click **Start**. Download results as JSON, CSV, Excel, or HTML, or pull them via the API.

### Input

| Field | Type | Description |
|---|---|---|
| `usernames` | array | Snapchat usernames (`kyliejenner`), @handles (`@nba`), or profile URLs. **Required.** |
| `enrichEmails` | boolean | Crawl each linked website for emails/phones. Default `true`. |
| `maxWebsitePagesPerProfile` | integer | Website pages to crawl per profile (1–8). Default `4`. |
| `maxProfiles` | integer | Hard cap on profiles scraped/billed per run. Default `200`. |
| `proxyConfiguration` | object | Proxy settings. Defaults to Apify datacenter proxy. |

Example input:

```json
{
  "usernames": ["kyliejenner", "nba", "https://www.snapchat.com/add/redbull"],
  "enrichEmails": true,
  "maxWebsitePagesPerProfile": 4,
  "maxProfiles": 200
}
```

### Output

Each profile becomes one dataset item. You can download the dataset in JSON, CSV, Excel, or HTML.

```json
{
  "query": "redbull",
  "username": "redbull",
  "profileUrl": "https://www.snapchat.com/@redbull",
  "found": true,
  "profileType": "publicProfileInfo",
  "displayName": "Red Bull",
  "bio": "#givesyouwiiings",
  "category": "public-profile-category-v3-product-brand",
  "verified": true,
  "subscriberCount": 1764200,
  "websiteUrl": "https://www.redbull.com/",
  "socialLinks": [],
  "relatedUsernames": [],
  "emails": ["press@redbull.com"],
  "phones": [],
  "emailSource": "website",
  "enrichedFrom": ["https://www.redbull.com/", "https://www.redbull.com/contact"],
  "scrapedAt": "2026-06-30T10:00:00.000Z"
}
```

#### Data fields

| Field | Description |
|---|---|
| `username` / `displayName` | Handle and display name |
| `bio` | Profile bio text |
| `verified` | Snapchat verified badge |
| `subscriberCount` | Subscriber count when published |
| `category` / `subcategory` | Snapchat category labels |
| `websiteUrl` | Linked website (normalized to https) |
| `socialLinks` | Other linked social URLs |
| `relatedUsernames` | Suggested/related accounts (great for discovery) |
| `emails` | Deduplicated contact emails (bio + website) |
| `phones` | Deduplicated phone numbers |
| `emailSource` | `bio`, `website`, `bio+website`, or `none` |
| `enrichedFrom` | URLs crawled during enrichment |
| `scrapedAt` | ISO 8601 timestamp |

### Pricing — how much does it cost to scrape Snapchat?

This actor uses **pay-per-event** pricing (plus pay-per-usage for very large jobs):

- **$0.005 per profile scraped**
- **$0.02 per profile that yields at least one email** (charged once per profile, max)
- $0.00005 actor start fee

A 200-profile run where half yield an email costs roughly **$1 + $2 = ~$3**. The run prints an upfront cost cap and a final billed total in the log. Set `maxProfiles` to bound spend.

**Email yield depends on the profile.** Creators and small businesses that publish a contact email (in bio or on their website) convert well; large brands that only use contact forms may return profile data without an email.

### Tips

- Keep `enrichEmails` on for the highest email yield; turn it off to scrape profiles only, faster and cheaper.
- Use `relatedUsernames` from one run as input to the next to expand your list of creators in a niche.
- Lower `maxWebsitePagesPerProfile` to 1–2 for speed; raise it to 6–8 for thorough email discovery on large sites.

### For AI agents (MCP)

This actor is MCP-ready. One Snapchat username or URL in, one structured profile record (with `emails[]`) out. Use it to enrich Snapchat creators/brands with contact data. For snaps/stories use a Spotlight scraper instead.

### FAQ, disclaimer & support

- **Does it need a Snapchat login or cookies?** No. It reads only public profile pages.
- **Does it scrape private accounts, friends, or snaps?** No. Public profile data only.
- **Why did some profiles return no email?** The profile may not link a website, or the website only exposes a contact form. The profile data is still returned.
- **Legal:** Scrape only public data and use it in compliance with Snapchat's Terms, the GDPR/CCPA, and applicable anti-spam laws. You are responsible for how you use scraped contact data. This actor does not access private or login-gated content.

Found a bug or need a field added? Open an issue on the **Issues** tab.

# Actor input Schema

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

Snapchat public profiles to scrape. Each item is a username (e.g. 'kyliejenner'), an @handle ('@nba'), or a full profile URL ('https://www.snapchat.com/add/redbull' or 'https://www.snapchat.com/@redbull'). One profile is scraped per item. NOT a snap/story/spotlight URL — for stories use the snapchat-spotlight-scraper actor.

## `enrichEmails` (type: `boolean`):

When true (default), the actor visits each profile's linked website and social links and crawls a few pages (home, contact, about, impressum) to extract contact emails and phone numbers. When false, only emails found directly in the Snapchat bio/address are returned. Turning this off is faster and cheaper but yields far fewer emails. NOT a deep whole-site crawl — it samples the highest-signal contact pages only.

## `maxWebsitePagesPerProfile` (type: `integer`):

How many pages of each profile's linked website to crawl when enrichEmails is on (home page plus discovered contact/about pages). Accepts 1 to 8. Defaults to 4. Higher values find more emails on large sites but cost more compute. NOT the number of Snapchat profiles — that is controlled by the usernames list and maxProfiles.

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

Hard cap on how many Snapchat profiles are scraped and billed in one run, protecting against runaway cost. Accepts 1 to 5000. Defaults to 200. If the usernames list is longer than this cap, the extra items are skipped. NOT a per-website page limit — that is maxWebsitePagesPerProfile.

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

Proxy used for Snapchat and website requests. Defaults to Apify datacenter proxy, which is sufficient for Snapchat's public profile pages. Switch to RESIDENTIAL only if a linked website blocks datacenter IPs. Leave as default unless you hit blocks.

## Actor input object example

```json
{
  "usernames": [
    "kyliejenner",
    "https://www.snapchat.com/add/redbull"
  ],
  "enrichEmails": true,
  "maxWebsitePagesPerProfile": 4,
  "maxProfiles": 200,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

# 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": [
        "kyliejenner",
        "nba",
        "redbull"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("khadinakbar/snapchat-email-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": [
        "kyliejenner",
        "nba",
        "redbull",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("khadinakbar/snapchat-email-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": [
    "kyliejenner",
    "nba",
    "redbull"
  ]
}' |
apify call khadinakbar/snapchat-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/P8Gj5mWfYQXcYKVQI/builds/ffFRP7IXvzg3hazdJ/openapi.json
