For SaaS builders
White label social media API
Embed social media posting, scheduling, analytics, and inbox management in your own product — under your brand. Your users connect their accounts to your app. Aether is the invisible infrastructure.
How white-label social posting works
1
Register your OAuth apps on each platform
Create a Meta app for Instagram/Facebook, a TikTok developer app, a LinkedIn app, etc. Your app name and branding appear on the OAuth consent screen — not Aether's. This is the only setup step that requires platform portal work.
2
Add your app credentials to Aether
Configure your platform credentials in Aether's settings. Aether uses them to generate OAuth URLs and exchange tokens — you never write OAuth code.
3
Generate Connect Links for your users
When a user in your product wants to connect Instagram, call aether.connectLinks.create({ platform: 'instagram', redirectUrl: 'https://your-app.com/callback' }). Redirect them to the returned URL.
4
Your users are back on your app
After authentication, the platform redirects to your redirectUrl — your app, not aether.com. The connected profile is immediately available. Your users never see an Aether login screen.
5
Build your product on top
Use the Aether API to post, schedule, pull analytics, and manage the inbox. Your frontend calls your backend; your backend calls Aether. Your brand, your UX, your product.
OAuth without the complexity
Connect Links handle the full OAuth flow — PKCE, state validation, token exchange, and storage. Your user returns to your app's URL:
import Aether from "aether";
const aether = new Aether({ apiKey: process.env.AETHER_API_KEY });
// When a user in your app wants to connect Instagram:
// 1. Create a Connect Link — your app's URL is the redirect
const link = await aether.connectLinks.create({
platform: "instagram",
redirectUrl: "https://your-app.com/settings/social?platform=instagram",
// Optionally scope to a specific org (customer)
metadata: { userId: "usr_123", orgId: "org_customer_xyz" },
});
// 2. Redirect the user to link.url
// → They authenticate on Instagram (your OAuth app credentials)
// → They land back at your redirectUrl with ?connected=true&profileId=ig_...
// 3. On callback — profile is ready to use immediately
const profiles = await aether.profiles.list();
// [{ id: "ig_abc123", platform: "instagram", displayName: "Acme Corp" }]Multi-tenant isolation per customer
Each of your customers gets an isolated Aether organization. Posts, profiles, analytics, and inbox data never cross org boundaries:
// Multi-tenant: one Aether org per customer
// Create an org for each new customer
const org = await aether.organizations.create({
name: customer.companyName,
metadata: { customerId: customer.id },
});
// Scope all subsequent calls to this org's API key
const customerAether = new Aether({ apiKey: org.apiKey });
// The customer's posts, profiles, and analytics are fully isolated
const post = await customerAether.posts.create({
text: "Hello from " + customer.companyName,
profileIds: ["ig_abc123"],
});Analytics API for your reporting dashboards
Pull post and account metrics for any connected profile. Display in your own dashboard UI — no Aether branding in the data layer:
// Pull analytics for a customer's connected profiles
const metrics = await aether.analytics.getAccountMetrics({
from: "2026-06-01",
to: "2026-06-30",
granularity: "day",
// Optionally filter by platform
platform: "instagram",
});
// Per-post metrics for reporting dashboards
const postMetrics = await aether.analytics.getPostMetrics("post_abc123");
// [
// { platform: "instagram", metricType: "impression", value: 12430 },
// { platform: "instagram", metricType: "engagement", value: 847 },
// { platform: "instagram", metricType: "reach", value: 9210 },
// ]Products you can build
📅
Social media scheduling SaaS
Build a scheduling product under your brand. Users connect their accounts to your product (not Aether), schedule posts via your UI, and see analytics in your dashboard. You own the product; Aether is invisible infrastructure.
🏢
Agency client management
Each client maps to an isolated Aether org. Your team manages posts across all clients from a single API key; client data never crosses org boundaries. Billing scales with client count, not against it.
🎨
Creator platform
Embed cross-platform posting into your creator platform. Users connect Instagram, TikTok, YouTube, and Threads — you handle the publishing workflow. Social posting as a feature, not a product.
🛍️
E-commerce automation
Auto-post new products, price drops, and restock alerts to social media from your shop. Aether handles the platform integrations; your automation logic triggers the posts via API.
🤖
AI content tools
Build an AI-powered social content tool. Generate post copy with your LLM, pass it to Aether for distribution across platforms. Add the MCP server for Claude-based workflows.
👥
Employee advocacy platforms
Let employees share company content to their personal social profiles. Connect Links make OAuth frictionless; per-org isolation keeps company and personal content separate.
What's included in the API
✓
7 platforms — Instagram, TikTok, LinkedIn, Facebook, YouTube, Threads, Reddit
✓
Connect Links — No-code OAuth for all 7 platforms — your redirect URL, your branding
✓
Posting + scheduling — scheduledFor, timezone support, per-platform overrides, queue management
✓
Real-time webhooks — post.published, post.failed, message.created — HMAC-signed, auto-retry
✓
Inbox API — DMs and comments across all platforms — read, reply, mark resolved
✓
Analytics API — Post metrics, account metrics, best posting times
✓
7-language SDKs — Node.js, Python, Go, Java, Ruby, PHP, .NET — auto-generated from OpenAPI
✓
MCP server — AI agent integration — Claude Desktop, Cursor, Windsurf
Frequently asked questions
Can I build a white label social media scheduler with an API?
Yes. Aether is designed for exactly this use case. You build the UI under your brand; Aether handles the social platform integrations, OAuth token management, rate limiting, and queue infrastructure behind the scenes. Your users never see the name 'Aether' in their flow.
How do my users connect their social accounts to my product?
You generate a Connect Link for each platform via the API. Your user clicks a link in your UI, authenticates on the platform's native screen (Instagram, LinkedIn, etc.), and the connected profile is immediately available in your Aether organization. You control the redirect URL they return to — which is your app, not Aether.
Are my customers' social profiles isolated from each other?
Yes. Aether uses an organization model. Each of your customers maps to a separate Aether organization, and profiles, posts, analytics, and inbox data are fully isolated per org. Your API key manages org creation; each org's data is scoped to that org only.
What's the pricing model for resellers or SaaS builders?
Aether uses usage-based pricing — you pay based on API calls and connected accounts, not a flat monthly minimum per customer seat. This means your costs scale with your revenue, not against it. The free tier lets you build and test without any upfront cost.
Does Aether appear in my users' social account connected apps?
By default, the OAuth app name seen by users in their platform settings (e.g., Instagram's 'Connected Apps') reflects the registered app in your Meta/LinkedIn/etc. developer account — not Aether. You register your own app credentials for production use, which means your brand appears in the platform's consent screen.
Your brand. Aether's infrastructure.
Start with 3 connected accounts free. No platform negotiation, no OAuth infrastructure to build, no rate limit handling to write.