PostEverywhere for Developers
Schedule posts, upload media, and publish to 11 platforms with a single REST API. 29 endpoints, webhooks, campaigns, bulk operations, and an official MCP server. Automate your entire social media workflow programmatically. Included on all plans from $29/mo.
Used by 2,831+ happy customers
Zero breaking changes
The 2026-06-11 release adds 13 new endpoints, webhooks, campaigns, bulk operations, and an MCP server. Every existing integration continues to work without modification. New capabilities are additive and opt-in.
npm install @posteverywhere/sdk@latestnpx -y @posteverywhere/mcpnpm install -g @posteverywhere/clicurl -X POST https://app.posteverywhere.ai/api/v1/posts \
-H "Authorization: Bearer pe_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"content": "Launching our new feature today!",
"account_ids": [1, 2, 3],
"scheduled_for": "2026-03-15T14:00:00Z",
"timezone": "America/New_York"
}'What you can build with the PostEverywhere API
29 endpoints across posts, accounts, media, AI, webhooks, campaigns, and analytics, everything you need to automate social media.
Schedule & Publish Posts
Create, schedule, and publish posts to 11 platforms with a single social media API call. Powers our social media scheduler and supports bulk scheduling, set times, target specific accounts, and attach media.
Upload & Manage Media
Two upload paths: a one-call /media/upload-from-url for any public image (25 MB cap), or the 3-step presigned flow for local files and video. Automatic processing and optimisation for each platform. Pair with the AI image generator for on-demand visuals.
Multi-Platform in One Call
Publish to Instagram, X, LinkedIn, Facebook, TikTok, YouTube, Threads, Pinterest, Bluesky, Discord, and Telegram simultaneously from one endpoint. True cross-posting, post to all platforms at once via API.
Webhooks
Subscribe to 12 event types (post.published, post.failed, account.reconnect_needed, and more) instead of polling. Deliveries are signed with HMAC-SHA256 (RFC 6234) and retried with exponential backoff.
Campaigns
Group posts into named campaigns (Q3 Launch, Holiday 2026) via full CRUD API. Filter posts by campaign_id to report on rollouts and align with your social media calendar.
Bulk Operations
Create up to 50 posts in one call. Bulk retry failed destinations by filter (platform, account, time window). Ideal for multi-account management and high-volume bulk scheduling.
Monitor Results & Retry
Get per-platform publishing results with URLs, errors, and attempt counts. Feed data into your analytics pipeline or retry failed destinations automatically.
Account Health Monitoring
The /accounts/:id/health pre-flight check returns can_post, token state, and reasons[]. Track connected account health, token expiry, and posting capability across all platforms in real time.
AI Image Generation
Generate social media images from text prompts using our AI image generator. 4 models, 7 aspect ratios. Pair with the AI content generator for fully automated posts.
AI Caption Generation
Generate 1 to 5 caption variants tuned per-platform (respects character limits and hashtag conventions). Companion to AI image generation. Powers our AI content generator.
Introspection (/me)
Discover org, plan, quota, and scopes in one call. SDKs self-configure without hardcoded IDs. Useful for SaaS builders, agencies, and white-label tools.
Analytics Summary
Aggregate counters by period (today, week, month, custom). One call instead of listing every post. Feed straight into your analytics dashboards.
Use PostEverywhere with Claude (MCP)
PostEverywhere ships an official Model Context Protocol server with 33 tools that Claude Code, Claude Desktop, Cursor, Cline, Windsurf, and Zed can use directly. Connect to the hosted endpoint at https://mcp.posteverywhere.ai with nothing to install, or run the open-source @posteverywhere/mcp (v1.4.1, source on GitHub) on your own machine. Either way, connect once, then ask the agent to schedule posts, retry failures, or build webhook subscriptions in natural language.
Add to Claude Code, nothing to install
claude mcp add --transport http posteverywhere \
https://mcp.posteverywhere.ai \
--header "Authorization: Bearer pe_live_YOUR_KEY"For any client that supports a remote HTTP MCP server: use URL https://mcp.posteverywhere.ai with header Authorization: Bearer pe_live_YOUR_KEY. The hosted server stores nothing: your key is passed straight through to the PostEverywhere API on every request, which enforces the same authentication, tenancy, and rate limits as a direct API call.
Prefer to run it locally?
Run with npx (on your machine)
npx -y @posteverywhere/mcpOr add the local server to Claude Code
claude mcp add --scope user \
--env POSTEVERYWHERE_API_KEY=pe_live_YOUR_KEY \
-- posteverywhere npx -y @posteverywhere/mcp@posteverywhere/sdk
The official Node.js SDK wraps every endpoint with typed resources: client.posts, client.media, client.accounts, client.ai, client.campaigns, client.webhooks, client.analytics, and client.me. Automatic retries, rate-limit aware, full TypeScript types.
Install
npm install @posteverywhere/sdk@latestInitialise
import { PostEverywhere } from '@posteverywhere/sdk'
const client = new PostEverywhere({
apiKey: process.env.PE_API_KEY,
})
const me = await client.me.get()Webhooks + campaigns
// Subscribe to publish events
const hook = await client.webhooks.create({
url: 'https://api.example.com/pe',
events: ['post.published', 'post.failed'],
})
// Group posts into a campaign
const campaign = await client.campaigns.create({
name: 'Q3 Launch',
})
// Aggregate counters in one call
const summary = await client.analytics.summary({
period: 'week',
})PostEverywhere API endpoints
29 endpoints, grouped by resource.
PostEverywhere API use cases
From SaaS platforms to internal tools, developers use the PostEverywhere API to power social media workflows at any scale.
SaaS Builders
Embed social media management directly in your app. Let your users schedule posts without leaving your platform. Use /me to self-configure SDKs and /webhooks to react to publish events in real time.
Agencies
Automate client posting at scale with team workspaces and multi-account management. Manage hundreds of accounts programmatically across all platforms, with campaigns to group rollouts and bulk endpoints to ship 50 posts at a time. See our agency solutions and top agency tools.
Internal Tools
Build custom dashboards, approval workflows, and analytics pipelines on top of PostEverywhere. Integrate with our social media calendar for visual scheduling, then surface aggregate counters via /analytics/summary.
Content Pipelines
Connect RSS feeds, CMS systems, or AI generators to auto-publish content. Use bulk scheduling and social media automation, plus webhook subscriptions to react when a post succeeds or fails.
Get started with the PostEverywhere API in 3 steps
Get your API key
Go to Settings > Developer in the PostEverywhere dashboard. API access is included on all plans.
Create API Key →Make your first request
List your connected accounts to get account IDs, then create your first post.
Quick Start Guide →Check publishing results
Monitor per-platform results, get published URLs, and retry any failed destinations. Subscribe to webhooks to react in real time.
Posts API Reference →PostEverywhere API included on all plans
No separate API add-on. No enterprise-only gating. Every PostEverywhere plan includes full API access, webhooks, campaigns, bulk operations, and the MCP server.
Starter
$29/mo
10 accounts
100 AI credits/mo
Full API access
Unlimited posts
Growth
$39/mo
25 accounts
500 AI credits/mo
Full API access
Unlimited posts
Pro
$79/mo
40 accounts
2,000 AI credits/mo
Full API access
Unlimited posts
PostEverywhere API rate limits
| Window | Limit | Header |
|---|---|---|
| General API | ||
| Per minute | 60 requests | X-RateLimit-Limit |
| Per hour | 1,000 requests | X-RateLimit-Remaining |
| Posting | ||
| Per minute | 20 posts | X-RateLimit-Limit |
| Per hour | 100 posts | X-RateLimit-Remaining |
| Per day | 500 posts | Retry-After |
| AI Generation | ||
| Per 5 minutes | 50 generations | X-RateLimit-Limit |
| Per hour | 200 generations | X-RateLimit-Remaining |
| Webhooks | ||
| Subscriptions per org | 25 webhooks | Configured per organisation |
| Bulk operations | ||
| Posts per bulk call | 50 posts | POST /posts/bulk |
Rate limit headers are included in every response. Learn more →
PostEverywhere developer FAQ
What is the PostEverywhere API?
How do I get an API key?
Is the API included in my plan?
Which platforms does the API support?
Can I post to multiple platforms at once?
How do webhooks work?
POST /webhooks, supplying a URL and an event list. We send signed JSON deliveries with an X-PE-Signature header (HMAC-SHA256 of the body using the secret returned at subscription time). 12 event types are supported, including post.published, post.failed, and account.reconnect_needed. Failed deliveries retry with exponential backoff. Each organisation can create up to 25 webhook subscriptions.What is the bulk post limit?
POST /posts/bulk. Each post in the batch is validated independently and reports its own success or failure in the response, so partial batches are reported cleanly. Use this for content pipelines, CMS imports, and large editorial rollouts.Does PostEverywhere have an MCP server?
https://mcp.posteverywhere.ai needs nothing installed: in Claude Code, run claude mcp add --transport http posteverywhere https://mcp.posteverywhere.ai --header "Authorization: Bearer pe_live_YOUR_KEY". Or run the open-source server @posteverywhere/mcp (v1.4.1) locally with npx -y @posteverywhere/mcp. Both expose 33 tools that Claude Code, Claude Desktop, Cursor, Cline, Windsurf, Zed, and any MCP-compatible AI coding agent can use directly to schedule posts, retry failures, or build webhook subscriptions in natural language. See the setup guide.Can I retry failed posts in bulk?
POST /posts/retry-failed retries failed destinations by filter (platform, account, time window). Use this after fixing a token issue, restoring an account, or recovering from a platform outage, rather than retrying posts one at a time. For a single post, POST /posts/{id}/retry retries only the failed destinations.What does /me return?
GET /me returns the API key context in one call: the organisation, the plan tier, current quota usage (posts, AI credits, accounts), the scopes granted to the key, and feature flags. SDKs use this to self-configure without hardcoded IDs, and white-label tools use it to render plan-aware UI.What are the rate limits?
Do you have official SDKs?
npm install @posteverywhere/sdk@latest for v1.4.0, source on GitHub) and an MCP server (@posteverywhere/mcp v1.4.1, source on GitHub) that works with any MCP-compatible AI coding agent, Claude Code, Cursor, Codex CLI, Windsurf, Cline, Zed, and more. We also publish code examples in cURL. The API follows REST conventions and works with any HTTP client in any language.Is there a command-line tool (CLI)?
npm install -g @posteverywhere/cli (v0.2.1) and post or schedule across all 11 platforms straight from your terminal. Run posteverywhere login once (a device-grant flow, like the GitHub CLI), then posteverywhere connect instagram and posteverywhere post -c "Launch day" -a 123. Every command also takes --json, so the CLI doubles as a tool your AI agents (Claude, Cursor) can call directly.Is there a sandbox or test mode?
Can I use the API to build a white-label scheduler?
GET /me makes plan-aware rendering trivial. See our agency solutions for more details.How does AI image generation work via the API?
/ai/generate-caption for platform-tuned text) for fully automated posts. Each generation uses 1 AI credit from your plan allowance.Can I automate posting from my CMS or blog?
post.published webhooks to close the loop in your CMS. Learn more about social media automation.What happens if a post fails on one platform?
POST /posts/{id}/retry to retry only the failed destinations without re-publishing to platforms that already succeeded, or POST /posts/retry-failed for bulk recovery by filter.Are there any breaking changes in this release?
Explore more
Related guides
Start building with PostEverywhere
Get your API key, make your first request, and go live, all in under 5 minutes. See why PostEverywhere is one of the best social media scheduling tools.