Scheduling API
Timezone-aware scheduling, bulk CSV uploads, and queue-based publishing across 7 platforms — in a single API call. One endpoint handles Instagram, TikTok, LinkedIn, YouTube, and more.
import Aether from "aether";
const aether = new Aether({ apiKey: process.env.AETHER_API_KEY });
// Schedule to 3 platforms at once with per-platform overrides
const post = await aether.posts.create({
text: "Our biggest update yet. Thread below ↓",
profileIds: ["ig_abc123", "li_company789", "th_user456"],
mediaUrls: ["https://cdn.yourbrand.co/launch.jpg"],
scheduledFor: "2026-06-15T09:00:00Z",
overrides: {
instagram: { contentType: "reel" },
linkedin: { visibility: "PUBLIC" },
threads: { replyControl: "everyone" },
},
});
// → { id: "post_xyz", status: "scheduled", publishAt: "2026-06-15T13:00:00Z" }Free tier · 3 accounts · no credit card
Start schedulingPass any IANA timezone with scheduledFor and Aether converts to UTC internally. Your users see local times; the API handles the math.
Upload a CSV with post text, media URLs, platform targets, and scheduled times. Process hundreds of posts in one request.
Pass multiple profileIds and the post goes to every connected account simultaneously — with per-platform content overrides if needed.
Posts enter a BullMQ queue at submission. Your server doesn't need to be running at publish time — the worker handles it reliably.
Every post moves through a predictable status machine. Webhooks fire on every transition.
Webhooks fire on every transition so your app stays in sync.
Platform-level limits apply to all scheduled posts. Aether queues and retries automatically when limits are hit — your integration does not need backoff logic.
| Platform | Daily limit | Schedule window | Note |
|---|---|---|---|
| 50 posts / 24 h | 75 days ahead | Per Business/Creator account | |
| TikTok | 4 videos / 24 h | 10 days ahead | Platform-imposed schedule window |
| 150 shares / day | 30 days ahead | Per member token | |
| 200 calls / hr | 6 months ahead | Per Page access token | |
| YouTube | 10,000 quota units | 6 months ahead | Upload costs 1,600 units |
| Threads | 250 posts / 24 h | Queue-based | Aether queues at platform limit |
| 60 requests / min | Queue-based | Via OAuth token |
AI-Native
Aether ships an MCP server that exposes every scheduling endpoint as a callable tool. Claude Desktop, Cursor, and any MCP-compatible agent can schedule posts, check queue status, and cancel or reschedule — with no extra integration code.
# Add to ~/.claude/claude_desktop_config.json
{
"mcpServers": {
"aether": {
"command": "npx",
"args": ["-y", "aether-mcp"],
"env": { "AETHER_API_KEY": "sk_live_..." }
}
}
}
# Claude can now schedule posts across all 7 platforms:
# "Schedule our launch post to Instagram and LinkedIn for 9am tomorrow"
# "What posts are queued for this week?"
# "Cancel the TikTok post scheduled for Friday"Up to 365 days in advance for most platforms. TikTok has a platform-imposed 10-day limit — Aether surfaces this as a specific validation error with a clear message. YouTube uses native scheduled publishing, which supports up to 6 months.
Aether retries with exponential backoff up to 5 times. After all retries are exhausted, the post status changes to 'failed' and we fire a webhook so you can handle it in your application.
Yes. Use PATCH /v1/posts/{id} to update the scheduledFor time, or DELETE /v1/posts/{id} to cancel. Both operations work up until the moment the post begins publishing.
Yes, with one exception: YouTube videos are uploaded immediately and scheduled via YouTube's native scheduled publishing — so they require upload time upfront. All other platforms accept future scheduledFor times natively.
Yes. GET /v1/posts returns all posts with their status (draft, scheduled, publishing, published, failed, cancelled). Filter by status, platform, or profileId. The dashboard also shows a visual queue.
Aether does not impose a scheduling rate limit beyond your plan's API call limits. The platforms themselves have per-account daily limits — Aether surfaces these in error responses before submission.
Free tier, no credit card. Your first post can be queued in under 15 minutes.
Get your free API key →