Social Media API
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 $19/mo.
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/mcpcurl -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
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 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. HMAC-SHA256 signed deliveries with exponential backoff retries.
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 MCP server (@posteverywhere/mcp v1.3.0) with 30 tools that Claude Code, Claude Desktop, Cursor, Cline, Windsurf, and Zed can use directly. No code required, connect once, then ask the agent to schedule posts, retry failures, or build webhook subscriptions in natural language.
Install globally
npm install -g @posteverywhere/mcpOr run with npx
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',
})Endpoints
29 endpoints, grouped by resource.
Built for every use case
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 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 →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
$19/mo
10 accounts
50 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
Rate limits
| Window | Limit | Header |
|---|---|---|
| General API | ||
| Per minute | 60 requests | X-RateLimit-Limit |
| Per hour | 1,000 requests | X-RateLimit-Remaining |
| Per day | 10,000 requests | Retry-After |
| 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 →
Frequently asked questions
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?
npm install -g @posteverywhere/mcp, then connect once and use natural language to schedule posts, retry failures, or build webhook subscriptions. 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.3.0, 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 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.