For developers & product teams

A social media scheduling API you can build a product on.

One unified POST /api/posts call drafts, schedules, or queues content across Instagram, Facebook, LinkedIn, TikTok, YouTube, Threads, Bluesky, Mastodon, Telegram, Pinterest, Google Business Profile, and X — with cron-based recurring templates, per-target delivery evidence, and signed webhooks so your product knows exactly what happened, not just that a request was accepted.

What the API covers

Scheduling, queueing, and delivery — in one resource model

Four publishing modes, one endpoint

draft: true saves a post for approval. An ISO 8601 scheduled_at publishes at a fixed instant. scheduled_at: "queue" drops a post into the next open recurring slot. Omit all three and delivery starts immediately. See Posts.

Cron schedules and recurring queue slots

Create a kind: "cron" schedule with a standard cron expression and timezone for recurring templates, or a kind: "slots" schedule with comma-separated HH:mm times to build a posting queue. See Schedules & queues.

Delivery evidence, target by target

A post's aggregate status summarizes the request, but the targets array is the operational truth: status, attempt count, next retry, error, platform ID, and permalink for every destination. Partial delivery is a real, successful terminal state. See Delivery lifecycle.

Signed webhooks instead of polling

Subscribe to post.published, post.partial, and post.failed events, verify the signed payload, and let PostGate retry deliveries to your endpoint on timeout or non-2xx response. See Webhooks.

Built for real products

The same API whether you're scheduling one account or ten thousand

01

Deterministic routing

Target posts by explicit profile IDs, not by inferred account matching, so the same request behaves the same way every time.

02

Safe retries by design

A stable Idempotency-Key makes a create request safe to retry for 72 hours without double-publishing.

03

Platform-specific options without forking requests

Provider-specific fields live under post.options.<platform>, and body_overrides lets one target carry different copy while the rest of the post stays shared.

Get started

Build against the free sandbox plan

Free, Solo, Launch, and Build plans all include scheduling, queueing, and webhooks — the difference is connected profiles, posting volume, and entitlements like white-label and BYOK. See the full breakdown on the pricing page.