Unified social publishing API

Post to every social platform with one API

Connect customer accounts, upload media, and publish to X, LinkedIn, Instagram, TikTok, Threads, YouTube, and more through one unified API.

Built for developers adding social publishing to apps, workflows, and agents.

Your appScheduling tools, SaaS products, internal workflows, and agents.
UniPost APIConnect accounts, upload media, publish posts, and track delivery.
X
LinkedIn
Instagram
TikTok
Threads
YouTube
Facebook
Pinterest
X
LinkedIn
Instagram
TikTok
Threads
YouTube
Facebook
Pinterest
Bluesky

Why UniPost

Stop maintaining separate social media integrations

Every platform has its own connection model, content constraints, media behavior, publish lifecycle, and failure modes. UniPost turns those differences into one API.

Different OAuth flows
Different media rules
Different rate limits
Different publishing APIs

One product feature instead of nine integration projects

Before UniPostCustom OAuth, media validation, retry logic, result tracking, and platform-specific code for each network.
With UniPostConnect accounts once, publish by account ID, and monitor delivery with one API and webhook surface.

How it works

Get an API key, connect accounts, publish content

The production path is three steps: authenticate your app, connect customer accounts, then send publish requests through one API.

01

Get API Key

Create a UniPost API key from your workspace and use it to authenticate every publish, media, and account request.

02

Connect accounts

Send customers through hosted OAuth flows, then store the returned connected account IDs in your product.

03

Publish content

Submit text, media, or per-platform variants in one request and let UniPost handle validation and delivery.

Developer quickstart

A publish call should feel boring

Once accounts are connected, your app sends one request. UniPost handles the platform-specific rules behind it.

publish.ts
await fetch("https://api.unipost.dev/v1/posts", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${UNIPOST_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    caption: "Launching today",
    account_ids: [
      "sa_x_123",
      "sa_linkedin_456",
      "sa_threads_789"
    ]
  })
});

Start building

Build the social layer once

Add account connection, media upload, multi-platform publishing, and delivery monitoring without maintaining every social integration yourself.