Scheduling API
Timezone-aware scheduling, bulk CSV uploads, and queue-based publishing for Instagram, Facebook, Threads, TikTok, LinkedIn, YouTube, and Google Business accounts — in a single API call. One endpoint handles every connected platform with per-target overrides.
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: { topicTag: "launch" },
},
});
// → { 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 | 100 uploads/day | 6 months ahead | 1 unit/upload; dedicated upload bucket |
| 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 for connected accounts:
# "Schedule our launch post to Instagram and Threads 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.
Instagram, Facebook, Threads, TikTok, LinkedIn, YouTube, and Google Business support scheduling today. Additional platforms on the roadmap will use the same API as they launch. YouTube (when available) may upload immediately and use native YouTube scheduling.
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 →