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']}")