One API to publish to Instagram, TikTok, X and Threads
Stop wiring up four different OAuth flows and container-publish pipelines. OmniPost gives you a single endpoint — with a sandbox mode so you can integrate and ship before your own platform app-review approvals even land.
curl https://api.omnipost.dev/v1/upload \
-H "Authorization: Bearer op_live_51H8sK2m..." \
-H "Content-Type: application/json" \
-d '{
"caption": "Shipped dark mode today ✨",
"media": [
{ "type": "IMAGE", "url": "https://cdn.example.com/dark-mode.jpg" }
],
"targets": ["INSTAGRAM", "THREADS", "X", "TIKTOK"]
}'{
"id": "post_9f2kQmZ1x",
"status": "PROCESSING",
"targets": [
{ "platform": "INSTAGRAM", "status": "PENDING" },
{ "platform": "THREADS", "status": "PENDING" },
{ "platform": "X", "status": "PENDING" },
{ "platform": "TIKTOK", "status": "PENDING" }
],
"webhook_url": "https://example.com/webhooks/omnipost"
}Publish natively to every major short-form and social platform
Everything you need to publish, at scale
Built for developers integrating social publishing into their own product — not for end users posting by hand.
A single POST /v1/upload call fans out to Instagram, TikTok, X and Threads — no per-platform SDKs, no bespoke container/publish plumbing.
No live credentials yet? Sandbox short-circuits every connector to a deterministic mock response so you can build and test end-to-end before app review is approved.
Every post tracks status independently per target — PENDING, PROCESSING, PUBLISHED or FAILED — queryable via GET /v1/posts/:id.
Get notified the moment a post finishes publishing (or fails) on each platform, instead of polling for status.
OAuth tokens for every connected account are encrypted at rest and refreshed automatically before they expire.
30 posts a month, 4 connected accounts and a live API key — enough to fully validate an integration before you pay anything.
Explore every endpoint, generate real requests, and inspect responses right from the docs — no separate Postman collection required.
Issue separate live and sandbox keys per project, rotate them independently, and scope each to the platforms it actually needs.
How it works
Four steps from zero to a published post across every connected platform.
Connect your accounts
Authorize Instagram, TikTok, X and Threads accounts through OmniPost's hosted OAuth flow — or run entirely in sandbox mode with no accounts connected at all.
Get an API key
Generate a live or sandbox key from the dashboard. Sandbox keys work immediately; live keys activate as each platform's connection is confirmed.
POST to /v1/upload
Send a caption, one or more media URLs, and the list of target platforms. OmniPost handles the container-then-publish flow per platform.
Track status via webhook or GET
Subscribe a webhook URL to get pushed status updates per target, or poll GET /v1/posts/:id until every platform reports PUBLISHED.
Simple, usage-based pricing
Start free with sandbox mode. Upgrade when you need more accounts, keys, or monthly posts.
- 30 posts / month
- 4 connected social accounts
- 1 API key
- All 4 platforms included
- Webhook delivery
- 1 member
- Community support
- 300 posts / month
- 15 connected social accounts
- 3 API keys
- All 4 platforms included
- Webhook delivery
- 3 members
- Email support
- 2,000 posts / month
- 50 connected social accounts
- 10 API keys
- All 4 platforms included
- Webhook delivery
- 10 members
- Priority support
- 20,000 posts / month
- 250 connected social accounts
- 50 API keys
- All 4 platforms included
- Webhook delivery
- Unlimited members
- Dedicated support
Start publishing across four platforms today
Create a free account, generate a sandbox API key, and make your first request in minutes.