Social Media Scheduling API

Schedule posts across every major social platform with one API. Set the date and time in UTC — OpenQuok publishes on schedule.

  • Schedule to TikTok, Instagram, X, LinkedIn, Facebook, Threads, and YouTube with one request
  • Set scheduledAt in UTC with optional repeat cadence
  • Use the same POST /public/posts endpoint for posting and scheduling
  • Track post rows from the public API, SDK, CLI, or MCP
  • Node SDK

    Typed REST calls

  • MCP tools

    Schedule from chat

  • OAuth apps

    User consent

  • Queue ahead

    Calendar-ready posts

Built for people who connect their own channels

Who builds with the scheduling API?

Vibe coders

Connect your channels in OpenQuok Cloud. Complete OAuth in the dashboard. Then set scheduledAt with curl, the Node SDK, MCP, or CLI. UTC timestamps stay predictable in JSON.

CLI and SDK users

Queue publish times in one REST call. OpenQuok delivers on the worker. You do not run cron per platform. Channel and post caps on your plan still apply.

Agent operators

Ask your agent to schedule into your workspace. It uses the accounts you connected. It does not onboard other people’s customers onto your token.

Three steps

Add social media scheduling to your product in three steps

Connect once, then schedule posts and track delivery through the same API.

New to OpenQuok? Read the getting started guide

Payload preview

Sample channels

Sample channels

Endpoint

POST /api/v1/public/posts

JSON payload
{ "scheduledAt": "2026-06-18T14:30:00.000Z", "status": "scheduled", "body": "Queue this post for next Tuesday at 2:30 PM UTC.", "integrationIds": [ "1f9a4f3a-3b2c-4f4a-9d8e-7a3f6b1c8e22" ], "repeatInterval": "week", "tagNames": [ "campaign" ] }

Free payload wizard

Test your social media scheduling API payload before you ship code

Compose a scheduled post with sample channels in your browser. Set publish time, document carousel names, follow-up comments, and optional repeat cadence, then copy the JSON body. Copy JSON is free — no account required. Scheduling and file uploads need a workspace.

Send JSON get structured response back

Send one JSON body to POST /api/v1/public/posts. The REST API returns post group rows. Track each group with the public API.

Request

cURL
curl -X POST 'https://api.openquok.com/api/v1/public/posts' \ -H 'Authorization: opo_your_workspace_token' \ -H 'Content-Type: application/json' \ -d @payload.json
JSON body
{ "scheduledAt": "2026-06-18T14:30:00.000Z", "status": "scheduled", "body": "Queue this post for next Tuesday at 2:30 PM UTC.", "integrationIds": [ "1f9a4f3a-3b2c-4f4a-9d8e-7a3f6b1c8e22" ], "repeatInterval": "week", "tagNames": [ "campaign" ] }

Response

JSON body
{ "success": true, "data": { "postGroup": "9a0a1b2c-3d4e-4f5a-9b8c-aa11bb22cc33", "posts": [ { "id": "5b3c1d2e-9a3f-4e6b-bb12-2c0a5f1a90a1", "state": "QUEUE", "publishDate": "2026-06-18T14:30:00.000Z", "organizationId": "c1d8a3f4-1234-4abc-bf12-1234567890ab", "integrationId": "1f9a4f3a-3b2c-4f4a-9d8e-7a3f6b1c8e22", "content": "Queue this post for next Tuesday at 2:30 PM UTC.", "delay": 0, "postGroup": "9a0a1b2c-3d4e-4f5a-9b8c-aa11bb22cc33", "title": null, "description": null, "parentPostId": null, "releaseId": null, "releaseUrl": null, "settings": null, "image": null, "intervalInDays": null, "error": null, "deletedAt": null, "createdByUserId": null, "createdAt": "2026-05-10T09:00:00.000Z", "updatedAt": "2026-05-10T09:00:00.000Z" } ] } }

Explore social media scheduling API by platform

Open platform pages for request and response examples, provider settings, and Payload Wizard samples.

Node SDK

TypeScript SDK for Node.js backends typed REST calls

Install @openquok/node-sdk in your Next.js or TypeScript backend. Call post() with the same JSON you send to POST /public/posts. Media, integrations, and schedule fields stay typed.

MCP server

MCP tools for Cursor and Claude Code same public API

Connect your MCP client with an opo_ token. Use schedulePostTool, integrationList, and postsList from chat. Agents draft and queue posts through the same REST API.

OAuth2 for apps

OAuth2 apps user consent workspace tokens

Register your app under Developers → Apps. Run the Authorization Code flow. Receive an opo_ token for the organization the user approves. Embed scheduling without pasted workspace keys.

Pricing

Transparent pricing for your scheduling API

Every paid plan includes Public API access, MCP tools, and OAuth apps per workspace. Start with a 7-day free trial — no credit card required.

Solo

$29 / mo

Prototype scheduling from curl, SDK, or MCP before you ship to customers.


Features

  • 1 agent workspace
  • 2 competitor domains
  • Total 15 channels
  • Total 5.0 GB cloud storage
  • 500 posts per month
  • Agent integrations
  • Unlimited AI Writer (experimental)
  • Business profiles & directory launch
  • Unlimited AI Summarizer (experimental)
  • Browser extension autofill
  • Public API access
  • Directory submission tracking
  • 1 OAuth app
  • Domain rating analytics
  • 1 MCP server (same OAuth connection)
  • Profile variants per directory

All paid plans include Social scheduling and Directory launch on the same workspace.

7-day free trial — no credit card required to start

Self-host for $0

OpenQuok charges no software fee when you run it on your own infrastructure. You still pay for servers, Supabase, and bandwidth.

Hosted cloud Cloud billing Docker Compose Cloud production stack Self-hosting overview

Scheduling API FAQ

Social media scheduling API answered

Plain answers about scheduled posts, time zones, repeat rules, and workspace limits.

Discord Support