Social Media Scheduling API for Developers

Set a local time and a timezone. Every account you pick publishes right on schedule.

Start for free
Schedule a Post
import { Configuration, PostsApi } from "@onepostly/sdk";

const posts = new PostsApi(
  new Configuration({ accessToken: process.env.ONEPOSTLY_API_KEY }),
);

await posts.createPost({
  createPostBody: {
    text: "Ship once. Post everywhere.",
    scheduledFor: "2027-06-01T09:00:00",
    timezone: "America/New_York",
    accounts: [{ accountId: "acc_x_123" }, { accountId: "acc_ig_456" }],
  },
});

Schedule Once, Publish on Time

One call queues the post for every account you pick, in the timezone you name.

Any IANA Timezone

A local time plus a zone like Europe/Berlin.

Up to a Year Ahead

Queue posts as far as one year out.

Cancel Before It Goes Out

One DELETE stops a scheduled post.

An Outcome per Account

Each account reports published, or failed with a reason.

How it works

Reach every network from a single API.

Create a key, connect your accounts, publish everywhere with one request, and see how every post performs.

Create a key with the permissions and profile access you need, then connect the accounts it publishes to.

0:03 / 0:07
0:00 / 0:07
0:00 / 0:07
0:00 / 0:07
Search keys

API Keys (8)

NameKeyPermissionCreated
Productionop_7Kq2…Read & WriteToday
Stagingop_Rm4x…Read & WriteYesterday
Claude agentop_9Tn1…Read & WriteOct 12
Analytics syncop_Hw3c…Read OnlyOct 8
Schedulerop_Lp6v…Read & WriteOct 2
Reportingop_Zd8s…Read OnlySep 27
CI previewop_Ba5e…Read OnlySep 23
Local devop_Qy2j…Read & WriteSep 18
Generate API Key
Key Name
e.g., Production API Key
Permission
Read & Write
Read Only
Profile Access
Full access (all profiles)
Connect Social Accounts
Profile
Default
TikTokTikTok
ClaudeClaude

All set, your post to X, LinkedIn, and Instagram is scheduled for 9 AM tomorrow.

Connected Onepostly MCP

Built for Your Agent

Onepostly ships as an MCP server. Your agent publishes to every platform.

LikesCommentsSavings

Unified Analytics

One request pulls engagement data from every network your accounts publish to.

Production Webhook
Staging Webhook
Slack Alerts

Webhooks & Events

Publish, fail, comment, or DM. Every event hits your endpoint the moment it happens.

Your account list grows.
Your integration doesn't.

Run 2,000+ connected accounts across your workspaces without losing track of who did what.

Frequently Asked Questions

Timezones, media, cancelling, and managing scheduled posts.

Have more questions? Reach out to us

Schedule up to one year ahead. Pass a timezone-naive local datetime in scheduledFor and an IANA timezone such as America/New_York or Europe/Berlin.

Yes. List several accounts in one POST /v1/posts request. Each account gets its own post on the same schedule, published when the local time arrives.

Any valid IANA timezone. If timezone is omitted, Onepostly defaults to UTC. Do not send Z or a numeric offset on scheduledFor.

Yes. DELETE /v1/posts/{id} cancels a scheduled post before it publishes. On a post that already went live, the same call deletes it from the platform where the platform allows it.

Each account's post reports its own outcome, so you can show which went out. A failed post carries an error code and a reason, and the failure is final: waiting does not change it.

Yes. Schedule text, images, videos, and carousels. Media rules are checked for every account when you create the post.

Yes. The OAuth screens your users see carry neutral names like Social Media Connector rather than our brand, so the experience reads as fully yours.

Have more questions? Reach out to us