fanout
One key · one request

Write it once.
Post it everywhere.

Connect an account and send one request to get a result for each available destination. One API for your connected social accounts — we handle each platform’s rules, auth, and quirks, and show you what landed, what didn’t, and why.

one requestlive

One request. No SDK, no framework — if your code can send an HTTPS request, it can post.

No credit card · Start free

Run your cursor through it
Scroll
Muse Nexus
@musenexus
Shipped something today. Two years of "I'll get to it" finally got to.
a musician mid-set, crowd lit behind them
launch.mp4 · 0:24POST /v1/publish

One post goes in.

The same text, the same video, the same schedule. You write it a single time.

It fans out to everything you've connected.

Each platform gets it in the shape that platform wants. You don't rewrite anything.

And every one reports back.

Posted, held, or blocked — with the reason. No silent failures, no guessing which one dropped.

The reason this is hardEvery platform built its own API.

Different logins. Different limits. Different words for the word “post.”

Nine integrations. Nine sets of docs. Nine things that break on a Tuesday.

You didn't set out to become an expert in all nine.

So don't. Send us the post. We'll deal with them.

See it, don't take our word for it

Six lines. Then it's live.

This is the whole integration. Set dryRun: true and it checks every destination first — a dry run, no posts sent — so you find the broken connection before your audience does.

publish.js
// one post → every connected account const res = await fetch('https://socialfanout.com/v1/publish', { method: 'POST', headers: { Authorization: `Bearer ${API_KEY}` }, body: JSON.stringify({ text: 'Shipped something today.', media: ['launch.mp4'], targets: 'all' }) }); const { results, summary } = await res.json();
summary → { requested: 7, succeeded: 6, failed: 1 }
The one that failed tells you why, and stays retryable.
What's actually open right now

We'd rather tell you now than after you've built on it.

Most APIs list every logo they've ever touched. This is the real board, updated as approvals land. If a platform is stuck in someone else's review queue, it says so — with the reason.

Platform Publishing · V1 Comments & replies Messages
X / Twitter Available V2 V2
LinkedIn LimitedReconnect when access expires; automatic refresh is not available for this app. V2 V2
TikTok AvailableContent Posting approved. Pending setup V2
Facebook Pages AvailablePage publishing approved. In review In review
Instagram In review In review In review
Threads In review V2 Not offered
Pinterest SandboxStandard access pending; immediate publishing only. Not offered Not offered
YouTube LimitedPublic-upload audit and quota need re-verification. V2 Not offered
Bluesky Available V2 Not offered
Reddit Available V2 V2
Discord Available V2 V2
Email Available V2 V2

One redirect per platform. We store tokens server-side and refresh them only where the provider supports it. LinkedIn requires reconnection when access expires; your code never touches raw platform credentials.

Available means the publishing connector is open for an eligible connected account. Comments and messages are shown separately, so a pending review never makes a live publishing lane look unfinished.

Available — open for any eligible connected account (“eligible” varies by platform; each row says how).  Limited — works with a named constraint above.  In review — built and smoke-tested, waiting on the platform's approval.

Built for the way you actually ship

Three kinds of builders. One publishing backend.

01 — SOLO BUILDERS

Ship it this afternoon, not next quarter.

Nine OAuth flows is a month of work you didn't budget for. This is one key and one endpoint. Your app posts today.

02 — AI AGENTS

Your agent posts. It never touches a token.

Connect over MCP and your agent gets one clean tool. Credentials stay on our side, so a jailbroken prompt can't walk off with your accounts.

03 — AGENCIES

Connect the client once. Publish for years.

Every client account under one key, each with its own results and its own audit trail. No more logging into eleven dashboards on a Friday.

Give an agent auditable posting over MCP or REST instead of raw platform credentials. Every request is logged. Delete the Social Fanout API key to block future calls; published posts stay published.

Start free. Choose a paid plan when you need more.

Every plan includes the REST API and local MCP.

Free
$0/mo
One seven-day evaluation, then Free.
  • First Free key: available destinations for 7 days
  • Up to 300 publishes during that trial
  • Then 2 platform types and 100 publishes/month
  • No card and no automatic charge
  • REST API + local MCP
Get your free key
Pro
$49/mo
For apps and small teams.
  • All currently available destination types
  • 10,000 publishes/month
  • In-place upgrades + 7-day grace
  • Priority support
Go Pro
The exact terms
RIDEORDIE is a discount on Builder, not a separate entitlement plan. Builder remains $5.99/month only while that subscription stays active. The first Free key gets one seven-day trial across currently available destinations, capped at 300 publishes; it then continues at 2 platform types and 100 publishes/month with no automatic charge. Facebook and Instagram count as separate platform types. A publish is one attempted post to one destination platform. Plan-wide publish limits still apply. X is additionally limited to 100 included text-only posts per API key per UTC month; an X post containing a link uses one prepaid Link Pack credit (40 linked posts for $10). Failed provider attempts do not consume an X allowance or credit. Platform availability depends on provider approval, account permissions, app review status, and upstream API health.

Get the useful pings, not the noise.

New providers, approval milestones, AI-agent examples, and early customer notes. The list for people building on socialfanout.com as the surface expands.

Product updates only. Unsubscribe any time using the link in an email or by contacting hello@socialfanout.com.

The questions developers actually ask.
Do I have to hand over platform passwords or tokens?

No. You connect each account with a standard OAuth redirect. Tokens stay server-side and refresh only where the provider supports it. LinkedIn requires reconnection when access expires. Your app and your agents never touch raw platform credentials — they only ever use your Social Fanout API key.

Can I see and control exactly what gets posted?

Yes. Nothing posts without an explicit POST /v1/publish call. Every publish returns a jobId and a per-platform receipt, and the dashboard logs every attempt with its status and provider error.

Which platforms are actually live right now?

We support twelve destination types on one contract: Instagram, X, LinkedIn, TikTok, YouTube, Facebook, Pinterest, Bluesky, Threads, Reddit, Discord, and Email (SMS via Twilio is shipping soon). We don't claim all twelve are publishing for everyone today — each goes live for your account as that provider's approval and your account's permissions allow. Facebook Page and TikTok publishing are approved, and Meta Tech Provider verification is complete. Instagram and Threads publishing are implemented and their separate provider reviews are in progress. Facebook Comments and Facebook Messages remain in independent least-privilege review lanes. The dedicated TikTok Comments app is rejected without credentials until the corrected Technology Company developer profile is approved and the app can be resubmitted; the Accounts API application already has a submitted receipt. Pinterest Trial can create creator-visible Sandbox Pins, while public production Pins await Standard access. YouTube upload code and quota exist, but its OAuth scopes and branding still require configuration, verification, and an external-account upload smoke test. The dashboard shows conservative provider-level readiness; each account's scopes still need a live connection check.

REST or MCP — and can I self-host?

Both, on the same key and the same logs. Call /v1/publish from your app, or wire the local MCP server into agent clients. Production is hosted on Railway with CI deploys and a public health check, and you can run your own instance.

What counts as a "publish"?

One attempted post to one destination platform. Plans cap your monthly publish attempts and how many platform types you can target. Facebook and Instagram count as separate platform types.

Start free

Your post is already written. Let it go everywhere.

Free key, no card, no call. Connect one account and send one request — you'll know inside five minutes whether this saves you the month.