Scheduling API

Social Media 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.

schedule-post.ts
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 scheduling

Scheduling that works the way you think

Timezone-aware scheduling

Pass any IANA timezone with scheduledFor and Aether converts to UTC internally. Your users see local times; the API handles the math.

Bulk scheduling via CSV

Upload a CSV with post text, media URLs, platform targets, and scheduled times. Process hundreds of posts in one request.

Cross-platform in one call

Pass multiple profileIds and the post goes to every connected account simultaneously — with per-platform content overrides if needed.

Queue-based publishing

Posts enter a BullMQ queue at submission. Your server doesn't need to be running at publish time — the worker handles it reliably.

Full post lifecycle visibility

Every post moves through a predictable status machine. Webhooks fire on every transition.

draft
scheduled
publishing
published
failed
cancelled

Webhooks fire on every transition so your app stays in sync.

Per-platform scheduling limits

Platform-level limits apply to all scheduled posts. Aether queues and retries automatically when limits are hit — your integration does not need backoff logic.

PlatformDaily limitSchedule windowNote
Instagram50 posts / 24 h75 days aheadPer Business/Creator account
TikTok4 videos / 24 h10 days aheadPlatform-imposed schedule window
LinkedIn150 shares / day30 days aheadPer member token
Facebook200 calls / hr6 months aheadPer Page access token
YouTube100 uploads/day6 months ahead1 unit/upload; dedicated upload bucket
Threads250 posts / 24 hQueue-basedAether queues at platform limit
Reddit60 requests / minQueue-basedVia OAuth token

AI-Native

Let your AI agent handle scheduling

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.

Claude Desktop config
# 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"

Frequently asked questions

How far in advance can I schedule posts?+

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.

What happens if a scheduled post fails to publish?+

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.

Can I cancel or reschedule a post after it's queued?+

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.

Does scheduling work for all connected platforms?+

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.

Can I see which posts are queued and their status?+

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.

Is there a rate limit on how many posts I can schedule?+

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.

Start scheduling today

Free tier, no credit card. Your first post can be queued in under 15 minutes.

Get your free API key →