# Snapchat Public Data API scraper — public profiles, stories, highlights, AR lenses and Spotlight videos from snapchat.com without login: display name, snapcode, subscriber count, bio, website, verified badge, public story snaps, curated and Spotlight highlights, a creator's lenses, the trending Spotlight feed with engagement stats, and lens directory/detail — no API key or account required

> Full public Snapchat profile by username: display name, snapcode, subscriber count, bio, website, verified badge, profile picture, business id, related/suggested accounts, plus flags for whether the account has a live story and saved highlights.
> ReefAPI engine `snapchat` · 8 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/snapchat/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed or blocked calls are free.
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http, `Authorization: Bearer <key>`) and your assistant can call these actions directly.

## Endpoints

### POST /snapchat/v1/profile — 1 credit
Full public Snapchat profile by username: display name, snapcode, subscriber count, bio, website, verified badge, profile picture, business id, related/suggested accounts, plus flags for whether the account has a live story and saved highlights.

**Parameters:**
- `username` (string, required) — Snapchat public username — the name in snapchat.com/add/<username> (with or without a leading @). Public creator/brand accounts only.

**Returns:** profile{username, display_name, bio, subscriber_count, website_url, profile_pic, snapcode_url, is_verified, category, publisher_type, business_profile_id, has_story, has_curated_highlights, has_spotlight_highlights, created_at_ms, related_accounts[]}

**Example request body:**
```json
{
  "username": "kyliejenner"
}
```

### POST /snapchat/v1/story — 1 credit
The account's current public story — the live snaps (image/video media URLs, timestamps, titles) that the profile is publicly broadcasting right now.

**Parameters:**
- `username` (string, required) — Snapchat public username — the name in snapchat.com/add/<username> (with or without a leading @). Public creator/brand accounts only.
- `limit` (integer, optional) — Max items to return (1-100). The page is sliced; omit for all.

**Returns:** story{story_id, thumbnail_url, snap_count, snaps[]{snap_id, media_type, media_url, media_preview_url, timestamp_sec, title}}

**Example request body:**
```json
{
  "username": "kyliejenner"
}
```

### POST /snapchat/v1/highlights — 1 credit
The account's saved public highlight stories (curated highlights + Spotlight highlights), each with its snaps. First page (the SSR page serves the first batch; deeper pagination is not exposed to logged-out clients).

**Parameters:**
- `username` (string, required) — Snapchat public username — the name in snapchat.com/add/<username> (with or without a leading @). Public creator/brand accounts only.
- `limit` (integer, optional) — Max items to return (1-100). The page is sliced; omit for all.

**Returns:** curated_highlights[]{story_id, title, thumbnail_url, snap_count, snaps[]}, spotlight_highlights[]{story_id, thumbnail_url, snap_count, snaps[]}

**Example request body:**
```json
{
  "username": "kyliejenner"
}
```

### POST /snapchat/v1/lenses — 1 credit
The creator's own public AR lenses listed on their profile: name, preview image/video, icon, unlock URL and scannable UUID.

**Parameters:**
- `username` (string, required) — Snapchat public username — the name in snapchat.com/add/<username> (with or without a leading @). Public creator/brand accounts only.
- `limit` (integer, optional) — Max items to return (1-100). The page is sliced; omit for all.

**Returns:** lenses[]{lens_id, scannable_uuid, name, creator_display_name, preview_image_url, preview_video_url, icon_url, unlock_url, is_official}

**Example request body:**
```json
{
  "username": "kyliejenner"
}
```

### POST /snapchat/v1/spotlight — 1 credit
The public trending Spotlight feed — ~25 popular Spotlight videos with engagement stats (views, shares, comments, boosts), creator, AI-generated title/description/keywords and media URLs. No input needed; returns what Snapchat is surfacing now.

**Parameters:**
- `limit` (integer, optional) — Max items to return (1-100). The page is sliced; omit for all.

**Returns:** stories[]{story_id, url, thumbnail_url, name, description, view_count, share_count, comment_count, boost_count, duration_ms, creator, ai_title, ai_keywords[], snaps[]}

### POST /snapchat/v1/spotlight_detail — 1 credit
Full metadata for one public Spotlight video by its story id (from a spotlight result's story_id or a snapchat.com/spotlight/<id> URL): name, description, view count, duration, dimensions, creator and media URL.

**Parameters:**
- `story_id` (string, required) — Spotlight story id (the code in snapchat.com/spotlight/<id>). A full Spotlight URL is also accepted.

**Returns:** video{name, description, thumbnail_url, content_url, view_count, duration_ms, width, height, creator, upload_date_ms}

### POST /snapchat/v1/lens_directory — 1 credit
Snapchat's public top/trending AR lens directory: the featured lenses plus the lens category list. First page (the SSR catalog serves the first ~25; deeper cursor pagination is not exposed to logged-out clients).

**Parameters:**
- `limit` (integer, optional) — Max items to return (1-100). The page is sliced; omit for all.

**Returns:** lenses[]{lens_id, scannable_uuid, name, creator_display_name, preview_image_url, icon_url, unlock_url, is_official, search_tags[]}, categories[]

### POST /snapchat/v1/lens_detail — 1 credit
Detail for one public AR lens by its scannable UUID (from a lens result's scannable_uuid or a snapchat.com/lens/<uuid> URL): name, creator, preview media, unlock URL, the Spotlight videos that use this lens, and related lenses.

**Parameters:**
- `uuid` (string, required) — Lens scannable UUID (the code in snapchat.com/lens/<uuid>). A full lens URL is also accepted.

**Returns:** lens{lens_id, scannable_uuid, name, creator_display_name, preview_image_url, preview_video_url, icon_url, unlock_url, spotlights_using_lens[], more_lenses[]}

## More
- Try it live, no code: https://reefapi.com/playground?engine=snapchat
- Human docs page: https://reefapi.com/docs/snapchat
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
