REST API

Schedule posts from your own code

One REST API for Instagram, LinkedIn, X, TikTok, Pinterest, Threads, Facebook, Bluesky, and Mastodon. OpenAPI at /api/openapi.json. Auth is an API key in the x-api-key header.

POST /api/posts
curl -X POST https://socialrobot.io/api/posts \
  -H "x-api-key: $SOCIALROBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "New oat flat white is live.",
    "scheduledAt": "2026-08-01T09:00:00Z",
    "targets": [
      { "platform": "instagram", "accountId": "acc_123" },
      { "platform": "linkedin",  "accountId": "acc_456" },
      { "platform": "x",         "accountId": "acc_789" }
    ]
  }'

Connected accounts you already linked in the app

XX (Twitter)InstagramInstagramBlueskyBlueskyLinkedInPinterestPinterestMastodonMastodonThreadsThreadsFacebookFacebookTikTokTikTok
What it covers

Same engine as the dashboard

If it works in SocialRobot, you can drive it over HTTP. Posts land on the calendar like ones you typed by hand.

POST /posts

One request, multiple platform targets. Override the caption per network when you need to.

Schedule and move

Set scheduledAt, change it later with PATCH, or delete drafts and queued posts.

Media upload

Ask for a presigned URL, PUT the file, attach it to the post. Images and video.

Per-network extras

Pinterest boards, TikTok creator info, and other endpoints the composer already uses.

Setup

Three steps, then curl

You don't register Meta or LinkedIn apps yourself. SocialRobot already holds those connections.

1

Link accounts in the app

Connect Instagram, LinkedIn, and the rest under Scheduler → Accounts. The API publishes through those logins.

2

Create an API key

Scheduler settings → API keys. Copy it once and send it as x-api-key (Bearer also works).

3

Hit the endpoints

GET /accounts for IDs, then POST /posts with content, schedule, and targets.

Docs and limits

What you get day one

OpenAPI 3

Full spec at /api/openapi.json. Import it into Postman, Insomnia, or your codegen.

API keys

Server-to-server auth without a separate OAuth app. Create, scope, and revoke keys in the dashboard.

Rate limits

2,000 requests/minute per account and 200,000/day, shared with MCP. Same ceilings on Free and paid.

Prefer Claude or Cursor over curl?

Same publishing surface as an MCP server. Point your client at https://socialrobot.io/api/mcp and sign in.

n8n

Already in n8n?

Verified SocialRobot node. Search it in the nodes panel, add your API key, publish to the same nine networks.

FAQ

Grab a key and POST /posts

Sign up, connect the accounts you publish to, create an API key, then schedule from your script.

Get an API key