Reelspan turns "post this everywhere" into one HTTP request. You send a video (or photos, or text) once, name the networks, and Reelspan uploads it to each one in the format that network wants, then reports a result per network: the live post's URL, or exactly why it failed.
What you can do
- Publish videos, photo carousels, text and LinkedIn documents to TikTok, YouTube, Instagram, Facebook, X, Threads, LinkedIn, Pinterest, Bluesky, Reddit, Google Business, Telegram, Discord, Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop and Listmonk.
- Schedule a post for later, drop it in a profile's posting queue, or repeat it every day, week or month.
- Follow up: check status, retry only the networks that failed, add a first comment, get a webhook when each post goes live.
- Measure: account and post analytics, daily history, best times to post, and branded reports.
- Manage many brands: each profile holds one account per network. Connect your own accounts in the dashboard, or send your clients a white-label link to connect theirs.
How it works
- Get an API key in the dashboard (Developers → API keys). Use a test key (
rs_test_…) to try everything without publishing. - Create a profile and connect accounts to it, in the dashboard or through the API.
- Post with
POST /v1/posts/video(orphotos,text,document), naming the profile asuserand the networks inplatform[]. - Read the result in the response, poll
GET /v1/posts/status, or receive a webhook.
curl -X POST https://api.reelspan.com/v1/posts/text \
-H "Authorization: Bearer $REELSPAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"user": "my-brand", "platform": ["x", "bluesky", "threads"], "title": "Hello from Reelspan"}'import { Reelspan } from 'reelspan';
const reelspan = new Reelspan(); // reads REELSPAN_API_KEY
await reelspan.posts.text({ user: 'my-brand', platforms: ['x', 'bluesky', 'threads'], title: 'Hello from Reelspan' });from reelspan import Reelspan
reelspan = Reelspan() # reads REELSPAN_API_KEY
reelspan.posts.text("my-brand", ["x", "bluesky", "threads"], "Hello from Reelspan")Ways to use it
| You are… | Start with |
|---|---|
| Writing code | The Quickstart, then the Node.js or Python SDK |
| Using a no-code tool | n8n, Make, Zapier or Airtable |
| Building with AI agents | The MCP server, or one of the agent frameworks |
| Moving from Upload-Post | Migrate from Upload-Post: the same request shapes |
Good to know
- Base URL:
https://api.reelspan.com/v1. Every request carriesAuthorization: Bearer <your key>. - Per-network results: one network failing never fails the others. Each has its own
success,urlanderror_code. - Safe retries: send an
Idempotency-Keyheader and a retried request never posts twice. The SDKs do it for you. - Machine-readable: the OpenAPI spec, llms.txt and every page as Markdown (add
.mdto any URL).