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.”

The PostEverywhere developer hub

Schedule posts, upload media, and publish to all top platforms with a single REST API. 49 endpoints, webhooks, campaigns, bulk operations, and an official MCP server. Automate your entire social media workflow programmatically. Included on all plans from $9/mo.

Get started from as little as $9 per month. $0 due today, cancel anytime.

Works with any AI agent
Creator profileBusiness owner profileSocial media manager profileEntrepreneur profileContent creator profile

Used by 2,831 happy customers

Capabilities

What you can build with the API

49 endpoints across posts, accounts, media, AI, webhooks, campaigns, and analytics, everything you need to automate social media.

POST

Schedule & Publish Posts

Create, schedule, and publish posts to all top platforms with a single PostEverywhere API call. Powers our social media scheduler and supports bulk scheduling, set times, target specific accounts, and attach media.

POST

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. Videos are converted to a platform-safe MP4. Pair with the AI image generator for on-demand visuals.

POST

Multi-Platform in One Call

Publish to Instagram, X, LinkedIn, Facebook, TikTok, YouTube, Threads, Pinterest, Bluesky, Discord, Telegram, and WordPress simultaneously from one endpoint. True cross-posting, post to all platforms at once via API.

POST

Webhooks

Subscribe to 15 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.

POST

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.

POST

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.

GET

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.

GET

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.

POST

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.

POST

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.

GET

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.

GET

Analytics Summary

Aggregate counters by period (today, week, month, custom). One call instead of listing every post. Feed straight into your analytics dashboards.

Secure Bearer Auth

Simple API key authentication with scoped permissions (read/write/ai). Rate limit headers on every response.

Model Context Protocol

Connect ChatGPT, Claude or any AI agent via MCP

PostEverywhere ships an official Model Context Protocol server with 39 tools that ChatGPT, Claude, Cursor, Cline, Windsurf, Zed and any other MCP client can use directly. Connect to the hosted endpoint at https://mcp.posteverywhere.ai with nothing to install, or run the open-source @posteverywhere/mcp (source on GitHub) on your own machine. Agents can read SKILL.md to learn how to use it.

Hosted, nothing to install.
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.
Or run it locally.
Run the open-source server with npx, or add it to Claude Code with your key as an environment variable.
Ask in plain English.
Connect once, then ask your agent to schedule posts, retry failures or build webhook subscriptions.
Connect over MCP
mcp.posteverywhere.ai

Claude Code, hostedRecommended

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

Any remote MCP client

URL     https://mcp.posteverywhere.ai
Header  Authorization: Bearer pe_live_YOUR_KEY

Run it locally

npx -y @posteverywhere/mcp

Local server in Claude Code

claude mcp add --scope user \
  --env POSTEVERYWHERE_API_KEY=pe_live_YOUR_KEY \
  -- posteverywhere npx -y @posteverywhere/mcp
  • ChatGPT
  • Claude
  • Claude Code
  • Cursor
  • Cline
  • Windsurf
  • and any MCP client

Node.js SDK

@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.

client.ts
TypeScript
import { PostEverywhere } from '@posteverywhere/sdk'

const client = new PostEverywhere({
  apiKey: process.env.POSTEVERYWHERE_API_KEY,
})

const me = await client.me.get()

// 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' })
npm install @posteverywhere/sdkTyped resources, automatic retries, rate-limit aware

Reference

API endpoints

49 endpoints, grouped by resource.

Use cases

API use cases

From SaaS platforms to internal tools, developers use the PostEverywhere API to power social media workflows at any scale. Webhooks tell your code the moment a post goes out or fails.
Webhook delivery
200 OK
POST https://your-app.com/hooks/posteverywhere
X-PostEverywhere-Event: post.published
X-PostEverywhere-Timestamp: 1791277204
X-PostEverywhere-Signature: sha256=4f9a1c0e7b3d...

{
  "event": "post.published",
  "created_at": "2026-10-06T09:00:04Z",
  "data": {
    "platform": "instagram",
    "account_name": "northwind.coffee",
    "published_at": "2026-10-06T09:00:03Z",
    "platform_post_id": "18034529961"
  }
}

Events you can subscribe to include

Postspost.scheduledpost.publishingpost.publishedpost.partially_failedpost.failedpost.deleted
Approvalspost.approval_requestedpost.approvedpost.changes_requested
Accountsaccount.connectedaccount.disconnectedaccount.reconnect_needed
Mediamedia.uploadedmedia.deleted
  • 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 every client account 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.

Quick start

Get started with the PostEverywhere API in 3 steps

Get your API key.
Open the Developers page in your PostEverywhere dashboard and create a key. API access is included on all plans. Create a 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 →
Developers
Quick Start API Keys MCP CLI REST API

API Keys

Create keys to authenticate API requests and MCP connections.

Copy your API key now - it won't be shown again

pe_live_8f3a2c19e4b75d0a96c1f2b83e7d4a5c09b6e1f7a2d8c4b3

Try it now - this command works as-is

curl -H "Authorization: Bearer pe_live_8f3a2c19..." \
  https://app.posteverywhere.ai/api/v1/accounts
I've copied it
  • Production

    pe_live_8f3a2c19...read, write, aiall accountsLast used: Just now

  • Zapier

    pe_live_51d07be2...read, write1 accountLast used: 2d ago

Pricing

API access on every plan

No separate API add-on. No enterprise-only gating. Every PostEverywhere plan includes full API access, webhooks, campaigns, bulk operations, and the MCP server.

Lite

$9/mo

  • 2 accounts
  • AI Studio credits included
  • Full API access
  • Unlimited posts
Start 7-day free trial

Starter

$19/mo

  • 5 accounts
  • AI Studio credits included
  • Full API access
  • Unlimited posts
Start 7-day free trial
Recommended

Growth

$29/mo

  • 10 accounts
  • AI Studio credits included
  • Full API access
  • Unlimited posts
Start 7-day free trial

Scale

$39/mo

  • 20 accounts
  • AI Studio credits included
  • Full API access
  • Unlimited posts
Start 7-day free trial

7-day free trial on every plan. Card required, $0 due today, cancel anytime. View full pricing →

Limits

API rate limits

The same limits apply on every plan. Posting limits count each platform a post goes to, so one post to five platforms uses five.

WindowLimitHeader
General API, per key
Per minute60 requestsX-RateLimit-Limit
Per hour1,000 requestsX-RateLimit-Remaining
Posting, each platform counts once
Per minute60 platform postsX-RateLimit-Limit
Per hour200 platform postsX-RateLimit-Remaining
Per day1,000 platform postsRetry-After
AI generation
Per 5 minutes15 generationsX-RateLimit-Limit
Per hour60 generationsX-RateLimit-Remaining
Webhooks
Subscriptions per org25 webhooksConfigured per organisation
Bulk operations
Posts per bulk call50 postsPOST /posts/bulk

Rate limit headers are included in every response. Learn more →

Connect your AI agent

Skip the integration: connect ChatGPT, Claude or any MCP client

Connect any AI agent.
Add PostEverywhere to ChatGPT, Claude, Grok, Perplexity, Cursor or any other AI app that supports MCP with one address. It takes seconds.
Ask in plain English.
“Plan next week's posts for all my accounts.” Your agent writes every post for you.
It schedules and publishes.
Your agent can post now, schedule for later or save a draft for you to review. Every post lands in your calendar, and scheduled posts go out on time through each network's official API.

$0 due today, cancel anytime

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.”

FAQ

Developer FAQ

Straight answers about plans, platforms and how scheduling works.

What is the PostEverywhere API?

The PostEverywhere API is a REST API that lets you programmatically schedule and publish social media posts across all top platforms (Instagram, X, LinkedIn, Facebook, TikTok, YouTube, Threads, Pinterest, Bluesky, Discord, Telegram, and WordPress), upload media, manage connected accounts, subscribe to webhooks, group posts into campaigns, and monitor publishing results, all from a single integration with 49 endpoints.

How do I get an API key?

Open the Developers page in the PostEverywhere dashboard (under Manage in the sidebar) and create a key: name it, choose its permissions (Read, Write and/or AI) and copy it. It starts with pe_live_ and is shown only once, so store it securely.

Is the API included in my plan?

Yes. API access is included on all PostEverywhere plans, from Lite ($9/mo) to Scale ($39/mo). There is no separate API add-on or enterprise-only gating. View full pricing.

Which platforms does the API support?

The API supports all top platforms available in PostEverywhere: Instagram (posts, Reels, Stories, carousels), X (tweets, threads, articles), LinkedIn (profiles, company pages), Facebook (pages, Reels), TikTok (videos), YouTube (videos, Shorts), Threads (text, images), Pinterest (pins), Bluesky (posts), Discord (channels), Telegram (channels), and WordPress.

Can I post to multiple platforms at once?

Yes. When creating a post via POST /posts, pass multiple account IDs in the account_ids array. The API publishes to all specified platforms simultaneously from a single request.

How do webhooks work?

Subscribe to events with POST /webhooks, supplying a URL and an event list. We send signed JSON deliveries with an X-PostEverywhere-Signature header whose value is sha256= followed by the HMAC-SHA256 of the raw body, keyed with the secret returned at subscription time. 15 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?

You can create up to 50 posts per call via 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?

Yes, and you can connect to it two ways. The hosted server at https://mcp.posteverywhere.ai needs nothing installed (every tool is listed on the AI agents page): 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 locally with npx -y @posteverywhere/mcp. Both expose 39 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 see a log of API and MCP calls?

Yes. The Logs page in the dashboard lists every call made with an API key, including MCP tool calls from Claude, ChatGPT and Cursor, with the status, action, who made it, duration, error and redacted request and response bodies. Every response carries an X-Request-Id header you can search for. Logs are kept for 30 days on every plan. See the logs guide.

Can I retry failed posts in bulk?

Yes. 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?

API requests are rate-limited to 60 requests per minute and 1,000 per hour per API key. Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After) are included in every response.

Do you have official SDKs?

We provide an official Node.js SDK on npm (npm install @posteverywhere/sdk, source on GitHub) and an MCP server (@posteverywhere/mcp, 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)?

Yes. Install @posteverywhere/cli with npm install -g @posteverywhere/cli and post or schedule across all top 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. Full command reference on the CLI page.

Is there a sandbox or test mode?

Currently, the API operates in production mode. We recommend creating a test organisation with sandbox social accounts for development. All API keys can be revoked instantly from the Developers page if needed.

Can I use the API to build a white-label scheduler?

Yes. You can use the PostEverywhere API to build a custom-branded scheduling tool for your clients. The API handles all platform authentication, media processing, and publishing, you build the UI. GET /me makes plan-aware rendering trivial. See our agency solutions for more details.

How does AI image generation work via the API?

Send a POST request to /ai/generate-image with a text prompt. The API uses our AI image generator to create visuals and saves them to your media library. Pair it with the AI content generator (or call /ai/generate-caption for platform-tuned text) for fully automated posts. Each generation uses AI credits from your plan, and the cost depends on the model you pick.

Can I automate posting from my CMS or blog?

Yes. Use the POST /posts endpoint to auto-publish content whenever your CMS publishes. Common integrations include WordPress webhooks, Ghost, and Contentful. You can also use RSS-to-post workflows with tools like n8n or Zapier connected to our API, and the integrations page has the exact HTTP block for each. Subscribe to 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?

The API publishes to each platform independently. If Instagram succeeds but TikTok fails (e.g., token expired), you get per-platform results showing exactly which destinations succeeded and which failed. Use 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?

No. Webhooks, campaigns, bulk operations and the MCP server were all added without breaking changes. Every existing integration keeps working without modification, and new capabilities are additive and opt-in.

Still have questions?

Contact us or browse the full FAQ.

Start 7-day free trial

$0 due today, cancel anytime

Start building with PostEverywhere

Get your API key, make your first request, and go live in minutes. API access is included on every plan from $9/mo.