Getting Started
Outstand offers a unified API to access a variety of social media platforms. Our ambition is to provide a simple to use API that covers most of the use cases you might need.
Core Features
- Social Accounts: Connect your social media accounts to our API.
- Posts: Create and manage your posts.
- Scheduling: Schedule your posts to be published at a later time.
- First comment scheduling: Schedule your first comment to be published at a later time, as long as it's supported by the social network.
- Media: Attach media to your posts, video or images
Creating an account
To sign up for an account, you can go to the Outstand website and click on the "Sign Up" button.
Creating an account is free, no credit card is required and no invoices or other usage based billing is incurred.
Get an API Key
After signing up, you will be redirected to the main app dashboard.
From the dashboard, you can generate an API key.
This API key is used to authenticate your requests to the Outstand API.
Using the API
To use the API, you can pass the API key in the Authorization header of your requests.
Read more about authentication options and how to use your API key in the authentication section.
Quick Start
Once you have your API key, you can start using the Outstand API right away. Below are examples covering the most common workflows.
List Connected Social Accounts
Retrieve all social accounts connected to your organization:
curl -X GET https://api.outstand.so/v1/social-accounts \
-H "Authorization: Bearer YOUR_API_KEY"Create and Publish a Post
Post to multiple platforms with a single API call:
curl -X POST https://api.outstand.so/v1/posts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"containers": [
{ "content": "Hello from Outstand! 🚀" }
],
"socialAccountIds": ["acc_123", "acc_456"]
}'Schedule a Post
Use the scheduledAt field to publish at a specific time in the future:
curl -X POST https://api.outstand.so/v1/posts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"containers": [
{ "content": "Scheduled post from Outstand" }
],
"socialAccountIds": ["acc_123"],
"scheduledAt": "2026-04-01T09:00:00Z"
}'Full Flow in TypeScript
A complete example that lists your accounts and creates a post:
const API_KEY = process.env.OUTSTAND_API_KEY;
const BASE_URL = 'https://api.outstand.so';
// 1. List connected social accounts
const accountsRes = await fetch(`${BASE_URL}/v1/social-accounts`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const { data: accounts } = await accountsRes.json();
// 2. Create a post to all accounts
const postRes = await fetch(`${BASE_URL}/v1/posts`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
containers: [{ content: 'Hello from Outstand!' }],
socialAccountIds: accounts.map((a: any) => a.id)
})
});
const { data: post } = await postRes.json();
console.log('Post created:', post.id);Full Flow in Python
The same workflow using Python and the requests library:
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.outstand.so"
headers = {"Authorization": f"Bearer {API_KEY}"}
# List connected accounts
accounts = requests.get(f"{BASE_URL}/v1/social-accounts", headers=headers).json()["data"]
# Create a post
post = requests.post(f"{BASE_URL}/v1/posts", headers=headers, json={
"containers": [{"content": "Hello from Outstand!"}],
"socialAccountIds": [a["id"] for a in accounts]
}).json()["data"]
print(f"Post created: {post['id']}")