Introduction
Automate social media posting from the command line with the Postiz CLI
Create AI-powered UGC videos for your social media with Agent Media, generate engaging video content and schedule it directly with Postiz. Perfect for OpenClaw ๐ฆ
For your AI agent to work best with Postiz, install the skill by running:
npx skills add gitroomhq/postiz-agentOr load the SKILL md file from github.com/gitroomhq/postiz-agent.
The Postiz CLI is a command-line tool for automating social media posting across 28+ platforms. It wraps the Public API so you can schedule posts, manage integrations, and upload media directly from your terminal or shell scripts.
Installation
npm install -g postizVerify the installation:
postiz --helpAuthentication
Option 1: OAuth2 (Recommended)
Authenticate using the device flow, no client ID or secret needed:
postiz auth:loginThis will:
- Display a one-time code in your terminal
- Open your browser to authorize
- Automatically save credentials to
~/.postiz/credentials.json
# Check current auth status
postiz auth:status
# Remove stored credentials
postiz auth:logoutOption 2: API Key
Set your Postiz API key as an environment variable. You can get your API key from the Postiz Settings page.
export POSTIZ_API_KEY=your_api_key_hereAdd this to your shell profile (~/.bashrc, ~/.zshrc, etc.) so it persists across sessions.
OAuth2 credentials take priority over the API key when both are present.
Custom API URL (self-hosted)
If you're running a self-hosted Postiz instance, point the CLI to your server:
export POSTIZ_API_URL=https://your-postiz-server.comSelf-Hosting the Auth Server
By default, postiz auth:login uses the hosted auth server at cli-auth.postiz.com. If you want to self-host the OAuth2 device flow server, see the Authentication page for the full setup guide.
Quick Start
# 1. List your connected social media accounts
postiz integrations:list
# 2. Create a scheduled post
postiz posts:create \
-c "Hello from the Postiz CLI!" \
-s "2025-01-15T10:00:00Z" \
-i "your-integration-id"
# 3. List your scheduled posts
postiz posts:listCommands Overview
| Command | Description |
|---|---|
auth:login | Authenticate via OAuth2 device flow |
auth:status | Check current authentication status |
auth:logout | Remove stored credentials |
integrations:list | List all connected social media accounts |
integrations:settings | Get the settings schema for an integration |
integrations:trigger | Trigger a dynamic tool on an integration |
posts:create | Create a new post |
posts:list | List posts with optional date filtering |
posts:delete | Delete a post by ID |
posts:missing | List available content from provider for a post with missing release ID |
posts:connect | Connect a post to its published content by release ID |
analytics:platform | Get analytics for an integration/channel |
analytics:post | Get analytics for a specific post |
upload | Upload a media file |
All commands output JSON, making the CLI easy to use in scripts and automation pipelines.