Write it once. It goes everywhere.
Same clip. Six accounts.
One click.
Publishing to 6 channels…

One composer, one queue, and proof of what actually posted.

Every account.
One post.

Start free

Seven days free · Nothing charged until it ends · Connect a channel and schedule your first post

Publishing live to ten networks · Reddit, Discord, Snapchat and WordPress available on request

postwharf — new post
Publish now Schedule Preview per platform 4 of 5 channels selected
One composer

One post, its own words everywhere

Write the caption and hashtags once, or override them per network: a shorter line for X, tags for Instagram, nothing for LinkedIn. Point your AI assistant at the workspace and it writes the variants for you. Every one comes back with a receipt.

How it works

From draft to published in five steps

Connect your accounts once. Everything after that is one composer, one queue, one place to look when something breaks.

1

Connect channels

Ten networks publish today, Instagram, TikTok, X, LinkedIn and YouTube among them. Reddit, Discord, Snapchat and WordPress are available on request.

2

Group by brand

Workspaces keep each brand's channels, drafts and queue cleanly separated.

3

Compose once

Write it once, then give any network its own wording and hashtags without retyping.

4

Schedule or ship

Publish now or pick a time. Failed deliveries retry on their own.

5

Confirm it landed

Every post keeps a receipt: what went out, what did not, and why.

Let your AI assistant handle the posting

Connect PostWharf to Claude or ChatGPT and it can write each network’s version, schedule it and publish, without you opening a tab. Nothing goes out until you approve it.

$ npm i -g postwharf && wharf auth
Claude CodeMCP clients Cron / n8nYour own scripts
Developers

Four ways to post, one queue behind them

Post from the dashboard, a script, the command line or an AI assistant. However it starts, it joins the same queue and comes back with the same receipt.

API

Workspace REST API

One key per workspace. Upload media, create posts, target any set of channels, read back the live URL.

POST /v1/posts
{ "text": "…", "channels": ["x_kevin","li_rm"] }
MCP

MCP server

Works with Claude Code and other MCP clients. Your assistant sees your channels as tools and queues posts for you.

claude mcp add --transport http \
  wharf https://mcp.postwharf.com/mcp \
  --header "Authorization: Bearer $POSTWHARF_KEY"
CLI

Command line

Pipe a caption from anywhere. Good for scheduled jobs, good for an export hook, good for muscle memory.

wharf post "New reel" --all \
  --media https://cdn/clip.mp4 --at "tue 9am"
◎

Delivery receipts

The part every scheduler gets wrong. Each post is re-checked after publish, and the receipt says which network took it.

wharf status --since 7d
✓ 41 live   ⚠ 1 retrying   ✗ 0 failed
Why it exists

Built because the alternatives bill per channel

Run six brands across five networks and the mainstream tools want $120–150 a month for the privilege.

How it compares

Every scheduler charges you for something different

The feature lists look alike. The bills do not, because each tool counts a different thing before it charges you. PostWharf counts workspaces, so adding another channel to a brand you already run costs nothing.

What each social media scheduler bills you for
ToolYou are billed perFull comparison
PostWharfWorkspace, with unlimited channels in eachPricing
BufferEach connected channelPostWharf vs Buffer
HootsuiteEach user seatPostWharf vs Hootsuite
LaterEach social setPostWharf vs Later
SocialPilotEach connected accountPostWharf vs SocialPilot
MetricoolEach brand, plus a surcharge per X accountPostWharf vs Metricool
PostizEach connected channel, or free if you self-hostPostWharf vs Postiz

Prices move, so they live on each comparison page with the date it was checked. See all six side by side.

FAQ

The questions that actually matter

No. For eight of the ten live networks PostWharf already holds the platform approval, so you sign in and pick the account. Bluesky and Telegram use a credential you create yourself in about a minute. Reddit, Discord, Snapchat and WordPress are available on request and collect nothing yet.

Per workspace, not per channel. Connect as many accounts to a brand as you want. Running six brands should not cost more than a mid-tier SaaS seat.

Ten of the fourteen: Instagram, TikTok, X, LinkedIn, YouTube, Facebook, Threads, Pinterest, Bluesky and Telegram. Reddit, Discord, Snapchat and WordPress are available on request, so you can register interest but cannot connect them yet. If you added a channel before those ten went live, reconnect it once in Channels.

It retries, and the failure sits in your status feed with the reason. Silent failure is the most common complaint about every scheduler on the market, so every post is re-checked after publishing and every attempt keeps a receipt you can read in the dashboard or over the API.

A Bluesky app password and a Telegram bot token last until you revoke them. On the networks PostWharf connects for you, renewal is handled for you, and any channel that stops working is flagged in your channel list instead of failing quietly.

Yes, and it is a large part of why PostWharf exists. Connect it to Claude or another assistant and it can draft each network’s version, queue them and report back what went live. You keep the approval step.

The app, yes. The network approvals, no: those belong to whoever holds the platform credentials. That is the tradeoff the hosted version removes.

The longer answers are on the blog — why a scheduler can say “published” about a post that is not there, how long each network takes to approve API access, and what per-channel pricing costs at thirty channels. The free tools need no account.

Platforms

Everywhere you post

Text and images from one composer, with wording you can change per network. Ten networks publish today. Reddit, Discord, Snapchat and WordPress are available on request.