Works with all AI agents

Connect your AI agent

Choose your assistant and connect in seconds.

Add to Claude

Works on every Claude plan, including free. Full Claude guide

  1. 1

    Add to Claude

    One click from Claude’s connector directory.

  2. 2

    Sign up or sign in

    Takes seconds, then you’re sent straight back.

  3. 3

    Ask Claude

    “Plan and schedule my posts for next week.”

PostEverywhere Social Media API Documentation

Reference documentation for the PostEverywhere API: authentication, publishing, webhooks, rate limits, media requirements and a guide for every supported platform.

Getting started with the PostEverywhere API

PostEverywhere API core concepts

Platforms the PostEverywhere API publishes to

PostEverywhere API integrations: MCP, SDK, Claude and Zapier

PostEverywhere API reference

Schedule and publish social media content across all top platforms from a single API.

Connect your social accounts, create posts with platform-specific customizations, upload media, schedule for optimal times, and monitor publishing results, all through one unified interface.

The OpenAPI spec is the canonical reference

Building with an AI agent or code generator? Point it at developers.posteverywhere.ai/openapi.json. It is generated from the live API and always current, and its field names are authoritative: the upload request takes size (not file_size), and media readiness lives in media_status (not status).

Every platform the API publishes to

Platform Post Types Media
Instagram Feed posts, Stories, Reels Images, video, carousels
TikTok Videos, photo carousels Video, images (up to 35)
YouTube Videos, Shorts Video
LinkedIn Posts, articles Images, video, PDF carousels
X (Twitter) Posts, threads, X Articles Images, video
Facebook Posts, Reels Images, video
Threads Posts Images, video
Pinterest Pins Images
Bluesky Posts, threads Images, video
Telegram Channel posts Images, video, PDF, carousels
Discord Server posts via webhook Images, video
WordPress Blog posts (draft, pending, private or published) Images (up to 20), featured image, video

What the PostEverywhere API can do

  • Schedule posts to multiple platforms simultaneously
  • Customize content per platform (hashtags, titles, privacy settings)
  • Save drafts with draft: true, review them, then schedule with POST /v1/posts/{id}/schedule: ideal for human-in-the-loop agent workflows
  • Upload media (images and video) with automatic processing
  • Schedule many posts by calling Create Post in a loop with different scheduled_for times
  • Monitor results with per-platform publishing status
  • Retry failed posts automatically or on demand
  • Generate AI images from text prompts

The two PostEverywhere post status vocabularies, and why polling needs both

A post and each of its destinations use different status names. Mixing them up is the most common integration mistake, so they are listed here in full.

Post status (post_status on a post, and the status filter on GET /posts) is derived live from the destinations underneath it:

draft · scheduled · publishing · published · partially_failed · failed

Destination status (destination_status on each entry in a post's destinations array) is the real lifecycle of one platform target:

Value Meaning
queued Waiting for its scheduled time
preparing, uploading, publishing, verifying In flight right now
retry_scheduled Failed once, will be retried automatically
done Published successfully
failed Terminal failure, see the error field

A destination is never "published"

At the destination level, success is done. published exists only in the post-level vocabulary above. Filtering destinations on status == "published" matches nothing.

The PostEverywhere API base URL

https://app.posteverywhere.ai/api/v1

Making your first API call

  1. Create a PostEverywhere account if you don't have one
  2. Go to the Developers page in your dashboard to create an API key
  3. Follow the Quick Start guide to make your first API call

Official PostEverywhere SDKs, CLI and MCP server

Node.js SDK

npm install @posteverywhere/sdk
import { PostEverywhere } from '@posteverywhere/sdk';

const client = new PostEverywhere({ apiKey: 'pe_live_...' });

const post = await client.posts.create({
  content: 'Hello from the API!',
  account_ids: [123, 456, 789],
  scheduled_for: '2026-04-01T10:00:00Z',
});

Command line (CLI)

Log in, connect every platform, and publish straight from your terminal:

npm install -g @posteverywhere/cli
posteverywhere login                 # browser approve, key saved locally
posteverywhere connect instagram     # OAuth opens; the account is auto-detected
posteverywhere post -c "Hello from the CLI!" -a 123,456

Every command supports --json for AI agents. Full guide: CLI.

Claude Code (MCP)

Easiest: connect to the hosted endpoint, nothing to install:

claude mcp add --transport http posteverywhere \
  https://mcp.posteverywhere.ai \
  --header "Authorization: Bearer pe_live_YOUR_KEY"

Or run it locally via npx:

{
  "mcpServers": {
    "posteverywhere": {
      "command": "npx",
      "args": ["-y", "@posteverywhere/mcp"],
      "env": { "POSTEVERYWHERE_API_KEY": "pe_live_..." }
    }
  }
}

Full guide: MCP Server.

cURL

curl -X POST https://app.posteverywhere.ai/api/v1/posts \
  -H "Authorization: Bearer pe_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello from the API!",
    "account_ids": [2280, 2281, 2282],
    "scheduled_for": "2026-04-15T14:30:00Z"
  }'

Evaluating the API rather than building on it? Start with the API overview, see plans, limits and pricing, or read how AI agents schedule posts through PostEverywhere.

Prefer not to write code? Use the Zapier integration or the PostEverywhere CLI.