Quickstart
Authenticate, connect accounts, and schedule your first post in minutes.
Aether is a unified social media API — publish, schedule, manage inbox, and track analytics across platforms from a single REST API and MCP server.
Base URL: https://api.aetherhq.dev/v1
Install the SDK
npm install aetherimport { Aether } from "aether";
const client = new Aether({ apiKey: process.env.AETHER_API_KEY });pip install aether-pythonfrom aether import Aether
client = Aether(api_key=os.environ["AETHER_API_KEY"])go get github.com/aetherhq/aether-goimport "github.com/aetherhq/aether-go"
client := aether.NewClient(os.Getenv("AETHER_API_KEY"))gem install aetherrequire "aether"
client = Aether::Client.new(api_key: ENV["AETHER_API_KEY"])<!-- Maven -->
<dependency>
<groupId>dev.aetherhq</groupId>
<artifactId>aether</artifactId>
<version>1.0.0</version>
</dependency>import dev.aetherhq.Aether;
Aether client = Aether.builder()
.apiKey(System.getenv("AETHER_API_KEY"))
.build();composer require aetherhq/aetheruse AetherHQ\Aether\Client;
$client = new Client(['api_key' => getenv('AETHER_API_KEY')]);dotnet add package Aetherusing AetherHQ;
var client = new AetherClient(
apiKey: Environment.GetEnvironmentVariable("AETHER_API_KEY")
);cargo add aetheruse aether::Client;
let client = Client::new(std::env::var("AETHER_API_KEY")?);See the Node.js SDK for full resource coverage.
Authentication
All API requests require an API key in the Authorization header:
export AETHER_API_KEY=aeth_live_your_key_hereGetting your API key
- Sign up at app.aetherhq.dev
- Go to API Keys in the dashboard
- Click Create API Key
- Copy the key immediately — it is only shown once
Key format
Keys use the aeth_live_ prefix (production) or aeth_test_ prefix (test). Keys are stored as hashes — the full value is shown only at creation.
Key concepts
| Concept | Description |
|---|---|
| Organization | Top-level container for your team, profiles, posts, and API keys |
| SocialProfile | A connected social media account (created via Connect Link OAuth) |
| Post | Content published or scheduled to one or more SocialProfiles |
| ConnectLink | Magic OAuth URL your end-user clicks to connect their account |
| PublishQueue | Recurring time slots for automatic post scheduling |
| CommentAutomation | Keyword rules that send private DMs when users comment |
Step 1: List connected profiles
After connecting an account (Step 2), list profiles to get profileIds:
curl https://api.aetherhq.dev/v1/profiles \
-H "Authorization: Bearer $AETHER_API_KEY"const profiles = await client.profiles.list();
console.log(profiles.map((p) => `${p.platform}: ${p.id}`));Step 2: Connect a social account
Generate a Connect Link and send the URL to your user:
curl -X POST https://api.aetherhq.dev/v1/connect-links \
-H "Authorization: Bearer $AETHER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"platform": "instagram",
"label": "Main Instagram"
}'V1 platforms
OAuth connect is available for Instagram, Facebook, Threads, TikTok, and LinkedIn in V1. Other platforms are coming soon — see Platforms.
Share the returned url with your user. After OAuth completes, the profile appears in your organization.
Step 3: Schedule your first post
curl -X POST https://api.aetherhq.dev/v1/posts \
-H "Authorization: Bearer $AETHER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello from Aether!",
"profileIds": ["<your-profile-id>"],
"scheduledFor": "2026-06-15T12:00:00Z"
}'const { post } = await client.posts.create({
text: "Hello from Aether!",
profileIds: ["prof_abc123"],
scheduledFor: "2026-06-15T12:00:00Z",
});Publishing immediately
Omit scheduledFor to publish right away (or use POST /posts/:id/publish on a draft):
curl -X POST https://api.aetherhq.dev/v1/posts \
-H "Authorization: Bearer $AETHER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "This posts immediately!",
"profileIds": ["<your-profile-id>"]
}'Creating a draft
Create a post without scheduling or publishing by saving it from the dashboard compose flow, or schedule it later with PATCH /posts/:id.
What's next?
- Connect Links — OAuth abstraction for end users
- Publishing — Cross-platform posts and overrides
- Queues — Recurring posting schedules
- API Reference — Interactive endpoint docs
- MCP Server — Use Aether from Claude Desktop or Cursor