Snapchat data API: the official API or an Apify Actor?
Snapchat has an official API with limited access. 9 Apify Actors in this catalogue return Snapchat data over HTTP too: send the input to Apify's run-sync endpoint with your token and get the records back as JSON, from $0.40 a run plus $0.99 per 1,000 results at Store prices (plus platform usage).
Use the official Snapchat APIs for Login Kit, Bitmoji Kit, Marketing API or other partner products under their approval and access requirements. Choose an Actor when you need public creator profiles, Spotlight videos, Explore results, highlights or active-story media.
Side by side
| Snapchat APIs | Apify Actors (9) | |
|---|---|---|
| Access | Limited access | Apify API token (any account) |
| What you get | Snap develops Login Kit, Bitmoji Kit, Marketing API and other partner products. There is no open general-purpose public content API. | Rows defined by each Actor's published schema; up to 111 fields per record |
| Price | Marketing and partner products have their own commercial terms. | From $0.40 a run plus $0.99 per 1,000 results (Store price, Free plan), plus platform usage |
| Limits | Approval and scoped access apply. | Synchronous calls wait up to 300 s; longer runs go asynchronous |
| Docs | Snapchat APIs | Apify API: run-sync |
Official API facts checked 2026-11-09. Public content only; respect Snap's terms; not legal advice.
Which Actor for which job
All of them list $0.99 per 1,000 results on the Store, plus a start fee per run.
- Look up creator profiles -> Snapchat Creator Profile & Highlights Extractor: accountType, subscriberCount and bio
- Search Spotlight, Lenses and Places -> Snapchat Explore Search Across Spotlight, Lenses & Places: resultType, rank and canonical links
- Collect highlight and active-story media -> Snapchat Highlight & Story Media Downloader: mediaUrl, postedAt and storySource
- Collect Spotlight comments and replies -> Snapchat Spotlight Comment & Reaction Scraper: commenter details and reactions
- Get captions and video links from Spotlight URLs -> Snapchat Spotlight Video Link & Caption Downloader: caption, creatorUsername and engagement counts
| Actor | Returns | Fields include | Call it |
|---|---|---|---|
| Snapchat Creator Profile & Highlights Extractor | One record per Snapchat profile with identity fields, highlight and Spotlight media, contacts, engagement totals, related… | username, displayName, accountType | run-sync · Apify |
| Snapchat Explore Search Across Spotlight, Lenses & Places | A dataset row per Snapchat Explore search result: Spotlight video, AR lens, related topic, user, public profile, show episode… | resultType, href, storyId | run-sync · Apify |
| Snapchat Highlight & Story Media Downloader | One row per Snapchat highlight or active-story snap, with direct media download URLs, snap timestamps and metadata, and the… | username, displayName, storySource | run-sync · Apify |
| Snapchat Publisher & Show Episode Finder | Snapchat publisher and Snap Show profiles with subscriber counts, full season and episode catalogues, HLS media, Spotlight cards… | publisherId, pageUrl, displayName | run-sync · Apify |
| Snapchat Snapcode Image Downloader | One record per username with Snapcode image details and, when requested, public Snapchat profile metadata. | username, displayName, subscriberCount | run-sync · Apify |
| Snapchat Spotlight Comment & Reaction Scraper | Snapchat Spotlight comments and replies with commenter details, reactions, moderation fields, timestamps and hydrated video… | commentId, snapId, snapUrl | run-sync · Apify |
| Snapchat Spotlight Hashtag Video Extractor | Snapchat Spotlight videos from hashtags, topics, specific URLs, or the paginated Spotlight feed, with creator, engagement… | snap_id, source_type, creator_username | run-sync · Apify |
| Snapchat Spotlight Video Link & Caption Downloader | One record per Snapchat Spotlight link, with its direct video URL, caption, creator info, engagement counts and optional AI… | snapId, creatorUsername, caption | run-sync · Apify |
| Snapchat Topic Spotlight Feed & Content Tag Extractor | Videos from Snapchat topic and hashtag pages plus the anonymous Spotlight feed, with creator, engagement, AI keywords, hashtags… | topicId, topicDisplayName, topicUrl | run-sync · Apify |
Call Snapchat Explore Search Across Spotlight, Lenses & Places
The call waits for the run and returns the records as JSON. Swap the Actor ID for any Actor in the table. Set APIFY_TOKEN first; runs bill to that account.
curl
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~snapchat-explore-search-across-spotlight-lenses/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries":["food"],"mode":"all","maxResultsPerQuery":3,"page":1}' Install: pip install "apify-client>=3"
Python
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
"queries": [
"food",
],
"mode": "all",
"maxResultsPerQuery": 3,
"page": 1,
}
run = client.actor("vexaloom-labs/snapchat-explore-search-across-spotlight-lenses").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run could not be started")
print(run.status, "dataset", run.default_dataset_id)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) Install: npm install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
"queries": [
"food"
],
"mode": "all",
"maxResultsPerQuery": 3,
"page": 1
};
const run = await client.actor("vexaloom-labs/snapchat-explore-search-across-spotlight-lenses").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0]); Generated from the Actor's published schema and checked, not executed.
Same data, other routes
- Snapchat MCP server: these Actors as tools in Claude, Cursor, ChatGPT, VS Code and Codex.
- Every Actor with a one-request API
When a call fails
Why does the workflow or script stop with HTTP 408?
The synchronous endpoint waits at most 300 seconds. After that it answers 408 while the run keeps going in Apify. Lower the result limit, or start the run asynchronously, wait for it to finish and then read its dataset.
Source: Apify API: run Actor synchronously and get dataset items
What do 400, 401, 402 and 403 from the Apify API mean?
Read error.type in the response body. 400 is invalid Actor input. 401 (user-or-token-not-found) means a token reached Apify but it is wrong or revoked. 402 with x402-payment-required means no token reached Apify at all: the n8n credential or the Authorization: Bearer header is missing, and Apify is offering its pay-per-run x402 route for agents instead; any other 402 is an exhausted usage limit on the account that pays for the run. 403 is a token without permission for that Actor or storage.
Source: Apify API: authentication; Apify documentation: agentic payments with x402; Apify API: run Actor synchronously and get dataset items
Why does starting an Actor through the API return run information instead of scraped results?
The Run Actor endpoint starts the Actor and immediately returns a Run object without waiting for completion. For results stored in the default dataset, pass the response's defaultDatasetId to Get dataset items; to wait and receive output directly, use the synchronous endpoint for dataset items or a key-value store record.
Source: Apify Run Actor API
Why are rows and hidden fields missing from my Apify dataset export?
The clean parameter enables both skipEmpty and skipHidden, removing empty items and fields whose names begin with #. This can produce fewer items than the requested limit; to retain those rows and fields, disable clean and ensure skipEmpty and skipHidden are also disabled.
Source: Apify Get dataset items API
Questions
Does Snapchat have a public content API?
Snapchat has no open general-purpose public content API. Its official offerings include Login Kit, Bitmoji Kit, Marketing API and other partner products, with approval and scoped access.
Can I get Snapchat highlights and active stories as media URLs?
Snapchat Highlight & Story Media Downloader returns a row per highlight or active-story snap with direct media download URLs and public creator details. Its fields include storySource, storyTitle, mediaType, postedAt and mediaUrl.
How can I collect Spotlight videos by hashtag or topic?
Snapchat Spotlight Hashtag Video Extractor returns videos from hashtags, topics, specific URLs or the paginated Spotlight feed. Records include creator_username, description, view_count, like_count, share_count and comment_count.
Is there an official Snapchat API?
Snap develops Login Kit, Bitmoji Kit, Marketing API and other partner products. There is no open general-purpose public content API. Marketing and partner products have their own commercial terms.
How much does Snapchat data cost through an Apify Actor?
The Actors listed here charge from $0.40 a run plus $0.99 per 1,000 results on the Apify Store (Free plan), checked 2026-11-12, billed to the Apify account whose token makes the call. Actor start events and platform usage can add to that.
Can I get Snapchat data as JSON in one HTTP request?
Yes, through Apify's run-sync-get-dataset-items endpoint: POST the Actor input with your token and the response is the dataset as JSON. It waits up to 300 seconds; longer runs need the asynchronous run endpoint.
Can an AI agent use the same Snapchat data?
Yes. The Snapchat MCP page bundles these Actors into one Apify MCP URL for Claude, Cursor, ChatGPT, VS Code and Codex.
Is it allowed to collect Snapchat data?
Public content only; respect Snap's terms; not legal advice. Read Snapchat's terms before you build on the data.
Sources
- Snapchat APIs documentation, checked 2026-11-09
- Apify API: run Actor synchronously, checked 2026-11-11
- Snapchat terms