Social Media Posting API

A social media posting API built for shipping

Use one posting endpoint for text, images, videos, carousels, scheduled posts, and platform-specific options while UniPost handles destination mapping and publish outcomes.

Primary query:social media posting API
POST /v1/postsUniPost API
await fetch("https://api.unipost.dev/v1/posts", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${UNIPOST_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    caption: "New feature is live",
    account_ids: ["sa_instagram_123", "sa_threads_456"],
    media_urls: ["https://cdn.example.com/launch.mp4"],
    platform_options: {
      instagram: { type: "reel" },
      threads: { reply_control: "everyone" }
    }
  })
});
POST /v1/posts
Immediate or scheduled publishing
Media upload workflow
Status and webhook callbacks
Workflow

From connected account to published post

These are the same primitives whether you are building a scheduler, SaaS workflow, AI agent, or white-label social publishing layer.

STEP 1

Connect customer accounts through hosted OAuth or customer-owned credentials.

STEP 2

Upload or reference media before publishing so platform validation is centralized.

STEP 3

Publish or schedule posts with POST /v1/posts using account_ids for each destination.

STEP 4

Track results through post status, analytics, and webhooks.

STEP 5

Handle webhooks and errors with platform-specific messages instead of generic failures.

Post once, route to many accounts

The posting API is designed around connected account IDs, not hard-coded platform branches in your app.

  • Send one payload to multiple account_ids.
  • Keep per-platform settings in platform_options.
  • Use the returned post ID for status and retry workflows.

Media upload before delivery

UniPost lets your system upload or reference media before publishing, then applies platform validation during delivery.

  • Use hosted media IDs when your app controls uploads.
  • Use public URLs when assets already live in your CDN.
  • Surface platform constraints before users wonder why a post failed.

webhooks for publish results

webhooks let your backend react to posted, scheduled, failed, and account-change events without building a polling loop.

  • Update your UI when delivery status changes.
  • Trigger retries or support workflows on failure.
  • Record platform-specific post IDs for analytics.

Honest limitations

  • Each platform has platform constraints for video length, image ratio, captions, hashtags, and link previews.
  • Some post types, such as Stories or Shorts, may require different fields than standard feed posts.
  • Publishing to customer-owned accounts can require native app review before production traffic.
FAQ

Common evaluation questions

Can I schedule posts with the posting API?

Yes. Add a scheduled_at timestamp to create scheduled posts when your plan and connected accounts support it.

Can I send videos and images?

Yes. Use media IDs or public media URLs. UniPost still validates platform-specific media rules before delivery.

How do I know whether a post succeeded?

Use the returned post object, status endpoints, and webhooks to track each destination outcome.

Ship social publishing without rebuilding every native API.

Start with the docs, test on the free plan, then choose the pricing tier that fits your usage.