Snapchat
BulkPublish
Snapchat API
Publish, schedule and manage Snapchat from your own code. One REST API and one key cover Snapchat and every other network you connect, so you write the integration once.
What the Snapchat API covers
Everything below is part of the published API and works with Snapchat today.
| Capability | Endpoint |
|---|---|
| Create, schedule, update and publish posts | POST /api/posts |
| Upload images and video | POST /api/media |
| Find the next free slot in your queue | GET /api/posts/queue-slot |
| Create repeating schedules | POST /api/schedules |
| Publish new items from an RSS feed | POST /api/rss-feeds |
| Read per-post metrics | GET /api/posts/{id}/metrics |
| Check that the connection is healthy | GET /api/channels/{id}/health |
| Check your plan usage | GET /api/quotas/usage |
Post types you can publish to Snapchat
Choose the type with postTypeOverrides. A type Snapchat does not offer is rejected before anything is queued.
| Post type | Media |
|---|---|
story Story | Required: 1 image or video |
saved_story Saved Story | Required: 1 image or video |
spotlight Spotlight | Required: 1 video |
Schedule Snapchat posts with curl
Three requests: find your channel, upload the file if the post has one, then create the post. Replace the key with one from Settings, then API keys, and 12 with your own channel id.
1. List your channels and note the id of your Snapchat account.
curl https://app.bulkpublish.com/api/channels \
-H "Authorization: Bearer bp_your_key_here" 2. Upload the file. The response gives you the media id used as mediaFiles below.
curl -X POST https://app.bulkpublish.com/api/media \
-H "Authorization: Bearer bp_your_key_here" \
-F "file=@clip.mp4" 3. Create the post.
curl -X POST https://app.bulkpublish.com/api/posts \
-H "Authorization: Bearer bp_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"content": "Quick tour of the new store",
"channels": [{ "channelId": 12 }],
"status": "scheduled",
"scheduledAt": "2026-12-01T09:00:00Z",
"mediaFiles": [101],
"postTypeOverrides": {
"snapchat": "spotlight"
},
"platformSpecific": {
"snapchat": {
"12": {
"locale": "en_US",
"saveToProfile": true
}
}
}
}' The response is the created post, with its id and status. Fetch it later with GET /api/posts/{id} to see how it went.
Snapchat options
Send these inside platformSpecific, under the key for Snapchat.
For Snapchat the options are keyed by your channel id, for example "12", or sent flat to apply to every Snapchat channel on the post.
| Option | What it does | Accepts |
|---|---|---|
title | Title | text |
locale | Spotlight locale | text |
saveToProfile | Save the Spotlight to the profile | true or false |
Snapchat analytics through the API
These metrics come back for each Snapchat post on GET /api/posts/{id}/metrics, with snapshots over time.
- Impressions
- Reach
- Likes
- Comments
- Shares
- Clicks
- Video views
- Engagement rate
Comments and messages
BulkPublish does not read comments or messages on Snapchat, so there is nothing to list or answer here.
API access on every plan
Every plan includes API keys, the Free plan included. Here is what each one allows.
| Plan | API keys | Requests per day |
|---|---|---|
| Free | 1 | 30 |
| Pro | 5 | 5,000 |
| Business | 10 | 50,000 |
Build on Snapchat directly, or use BulkPublish
Going direct is a fair choice, especially if you need something BulkPublish does not expose. This is what Snap Public Profile API asks of you, checked against its documentation in October 2026.
- A post with media takes several calls: upload or create, wait for processing, then publish.
BulkPublish keeps the connection for you: it refreshes tokens, checks each post against Snapchat's rules before it is queued, and reports a failed destination on the post, so your code makes one request.
Read the official documentation
Prefer to ask an assistant?
Claude, ChatGPT and Cursor can do the same through the Snapchat MCP server, with prompts instead of code.
Prefer a calendar to code?
The same Snapchat account can be scheduled from the app, with a content calendar and bulk upload.
Frequently asked questions
Common questions about the Snapchat API.
Is there a ready-made API for Snapchat, so I do not have to build the integration myself?
Yes. BulkPublish exposes Snapchat through its REST API. Connect your Snapchat account once, then publish, schedule and manage it with a key. The same key works for every other network you connect.
What can I publish to Snapchat through the API?
The post types are Story, Saved Story, and Spotlight. Each is checked against Snapchat's media rules before anything is queued, so a request Snapchat would reject fails straight away with a clear error.
Can I schedule Snapchat posts through the API?
Yes. Send status "scheduled" with a scheduledAt time and a timezone, or ask for the next free slot in your queue first. Repeating schedules and RSS feeds are available too.
Can I read Snapchat analytics through the API?
Yes. Per-post metrics include Impressions, Reach, Likes, Comments, Shares, Clicks, Video views, and Engagement rate, with snapshots over time.
Can I read and answer Snapchat comments or messages through the API?
No. BulkPublish does not read comments or messages on Snapchat.
Does the Snapchat API cost extra?
No. API access is on every plan. Free includes 1 key and 30 requests a day, Pro 5 keys and 5,000 a day, Business 10 keys and 50,000 a day.
Do I need a Snapchat developer account or an app review?
Not to use BulkPublish. You connect your Snapchat account on the Channels page and publish with a BulkPublish key. If you build on Snapchat's own API instead, the section above lists what it asks of you.
Can an AI assistant do this too?
Yes. The Snapchat MCP server page shows how to connect Claude, ChatGPT or Cursor and what to ask for.
Other networks
The same key and the same request shape work for 15 networks.
Start publishing to Snapchat from code
Create a free account, connect Snapchat and generate a key. No card needed.