Social media API

One social media API
for all 13 platforms

Post, schedule, pull analytics and answer your inbox on Instagram, Facebook, LinkedIn, TikTok, X and 8 more, through one REST API.

RequestPOST /v1/posts/create
1curl https://api.omnisocials.com/v1/posts/create \
2 -H "Authorization: Bearer $OMNISOCIALS_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "content": "We’ve just added Jira Assets support…",
6 "accounts": ["linkedin", "x", "facebook"],
7 "schedule_at": "2026-10-23T07:00:00Z"
8 }'
ResponseReady
{
"data": {
"id": "1024",
"status": "scheduled",
"type": "post",
"accounts": ["linkedin", "x", "facebook"],
"schedule_at": "2026-10-23T07:00:00.000Z",
"app_url": "https://app.omnisocials.com/create-post/1024"
}
}
RequestPOST /v1/posts/create
curl https://api.omnisocials.com/v1/posts/create \
-H "Authorization: Bearer $OMNISOCIALS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "We’ve just added Jira Assets support…",
"accounts": ["linkedin", "x", "facebook"],
"schedule_at": "2026-10-23T07:00:00Z"
}'
ResponseReady
{
"data": {
"id": "1024",
"status": "scheduled",
"type": "post",
"accounts": ["linkedin", "x", "facebook"],
"schedule_at": "2026-10-23T07:00:00.000Z",
"app_url": "https://app.omnisocials.com/create-post/1024"
}
}
One key per workspaceCreate a key in Settings, API and send it as a Bearer token. It reaches every account of that workspace.Bearer omsk_live_…
JSON over HTTPSPlain REST: JSON in, JSON out, over HTTPS. Works from any language that can send a request.https://api.omnisocials.com/v1
Rate limits you can readEach answer says how many requests are left this minute. A 429 says when to try again.X-RateLimit-Remaining
Signed webhooksFive post events, signed with HMAC-SHA256 and sent to your HTTPS endpoint.X-OmniSocials-Signature

Everything your integration needs, one API key

Build posting, scheduling and reporting once. OmniSocials handles each platform's sign-in, media processing and rules behind one consistent API.

Requestsapi.omnisocials.com
POST/v1/media/upload-from-urlSending…
{ "url": "https://example.com/jira-assets.png" }
POST/v1/posts/createQueued
{
"content": "We’ve just added Jira Assets support…",
"accounts": ["linkedin", "x", "facebook"],
"media": ["8812"],
"schedule_at": "2026-10-23T07:00:00Z"
}
Requestsapi.omnisocials.com
POST/v1/media/upload-from-urlSending…
{ "url": "https://example.com/jira-assets.png" }
POST/v1/posts/createQueued
{
"content": "We’ve just added Jira Assets support…",
"accounts": ["linkedin", "x", "facebook"],
"media": ["8812"],
"schedule_at": "2026-10-23T07:00:00Z"
}

The endpoints, by group

Paths are relative to https://api.omnisocials.com/v1. The full reference and the OpenAPI spec are generated from the live backend.

PostsCreate, schedule, update and publish posts, stories and reels across all 13 platforms, including X threads and platform-specific options.POST/posts/createPOST/posts/create-and-publishGET/postsDELETE/posts/{id}
MediaUpload images, video and PDFs from files, URLs or base64: up to 100 MB directly, up to 1 GB from a URL or a presigned upload. Check each file against every platform first.POST/media/uploadPOST/media/upload-from-urlPOST/media/checkGET/media
AnalyticsPull per-post and per-account metrics, workspace overviews and best times to post, ready for your own dashboards.GET/analytics/overviewGET/analytics/posts/{id}GET/analytics/best-times
InboxDocsManage the social inbox from code: list DM, comment and mention conversations, get the next one to answer, read whole threads, reply and mark them read.GET/inbox/conversationsPOST/inbox/conversations/{id}/replyPOST/inbox/conversations/{id}/read
WebhooksSubscribe to five post events (scheduled, published, failed, approved and rejected) with signed payloads and a rotate-secret endpoint.POST/webhooksGET/webhooksPOST/webhooks/{id}/rotate-secret
Accounts & foldersList connected accounts and organize content into folders, so your integration mirrors how the team works.GET/accountsGET/foldersPOST/folders
LocationsSearch and validate taggable locations for platforms that support them.GET/locations/searchGET/locations/validate

Or call it from your language

Official SDKs for Node.js, Python, Go, Rust, .NET, Java, PHP and Ruby. They send your key, retry rate limits and server errors, and check webhook signatures.

The Node.js SDK guide
Express~/released
1import express from 'express';
2import { OmniSocials } from '@omnisocials/sdk';
3
4const client = new OmniSocials(); // reads OMNISOCIALS_API_KEY from env
5const app = express();
6app.use(express.json());
7
8app.post('/launch', async (req, res) => {
9 const post = await client.posts.create({
10 content: req.body.content,
11 channels: ['instagram', 'linkedin', 'x'],
12 scheduled_at: '2026-11-03T09:00:00Z',
13 });
14 res.json(post.data);
15});
16
17app.listen(3000);
$npm install @omnisocials/sdk
The Node.js SDK guide
For AI agents

MCP. CLI. OpenAPI.The same API for your agents

MCP server

Claude, ChatGPT and Cursor connect to mcp.omnisocials.com and get 56 tools on the same API. Sign in with OAuth or an API key.

Read more

CLI for coding agents

Claude Code, Codex and Cursor run the OmniSocials CLI as an agent skill, with your API key. One install, 56 commands.

Read more

OpenAPI spec and llms.txt

The whole contract as OpenAPI, generated from the live backend, and an llms.txt that sums up the docs for AI tools.

View openapi.jsonllms.txt
Platform integrationComing soon

Your customers' social accounts, inside your product

Soon your customers connect their own social accounts on one page with your logo, and you post, reply and report for each of them.
See platform integration

Frequently
Asked Questions

Robert Ligthart
Robert LigthartFounder of OmniSocials
Ask me a question

Last updated:

Robert Ligthart
Still have a question?Ask Robert, the founder
Ask

One API key.13 platforms.

$10 per seat a month, billed yearly. The API comes with every seat, and with the 14-day trial.