Multi-platform posting API

One request shape. Every platform as an independent target.

Publishing to five social networks usually means five SDKs, five auth flows, and five different failure modes to handle. PostGate collapses that into one call: POST /api/posts takes a single body and a profiles array — Instagram, Facebook, LinkedIn, TikTok, YouTube, Threads, Bluesky, Mastodon, Telegram, Pinterest, Google Business Profile, and X are all valid targets in the same request. Whether you think of that as a unified API, a cross-platform posting API, or a single API for multiple social networks, the mechanics are the same underneath.

Why this matters

N platforms shouldn't mean N integrations, or N silent failure modes

One request, many independent targets

List profile IDs across as many connected platforms as you want in a single profiles array. PostGate renders and delivers to each target on its own — one platform being slow or rejecting content never blocks or corrupts delivery to the others.

Per-target status, not one aggregate boolean

The targets array reports status, attempt count, next retry, error, platform ID, and permalink for every destination individually. A partial result — some targets published, others failed — is a real, successful terminal state your product can act on.

Platform differences without forking the request

Provider-specific fields live under post.options.<platform> — a Pinterest board ID, a LinkedIn visibility setting. body_overrides lets one target carry different copy while the rest of the post stays shared, so cross-platform quirks don't force you to build separate request builders per network.

How it works

From one request to N delivery outcomes

01

Send one POST /api/posts

A single body, a list of profile IDs spanning any mix of connected platforms, and optional media — one request, regardless of how many networks it targets.

02

Each target is delivered independently

PostGate renders platform-appropriate copy and media per target and delivers to each provider on its own schedule and retry policy.

03

Read per-target results, not a single pass/fail

Inspect GET /api/posts/{id} or subscribe to post.published, post.partial, and post.failed webhooks to know exactly which targets landed.

Related

See the same mechanics from two other angles

Social media API

The broader picture: connecting accounts, publishing, and the developer surface PostGate exposes end to end.

Social publishing API

How PostGate models publishing itself as a lifecycle — draft, scheduled, and per-target delivery — once a request is accepted.

Get started

Post across platforms on the free sandbox plan

Free, Solo, Launch, and Build plans all support multi-platform posts from one endpoint — the difference is connected profiles, posting volume, and entitlements like white-label and BYOK.