Skip to content
Seven networks · one request shape

Social media APIs for posting and scheduling

One authenticated endpoint publishes to LinkedIn, X, Facebook, Instagram, Threads, Bluesky and YouTube Shorts. PostMCP owns the OAuth flows, media upload handshakes and per-network quirks so your code sends text, a media URL and a time.

Platform references

Pick your platform API

Each reference covers the endpoints, OAuth scopes, media pipeline, published limits and error codes for that network — plus copy-paste samples in cURL, JavaScript, Python and MCP.

One call, every network

The same body works everywhere

Add values to the platforms array and the engine fans the broadcast out in parallel, translating each one into that network’s native call — a versioned LinkedIn share, a chunked X media upload, a Graph API photo post, an Instagram container poll, a Threads publish, an AT Protocol record write.

  • Per-platform status recorded on every post, so partial failures are visible.
  • Media fetched once and re-uploaded in the format each network expects.
  • Credentials encrypted in the user vault, never returned to your client.
  • Scheduling, editing and force-publishing available on all seven networks.
POST /api/tools/create_post
curl -X POST "https://api.postmcpai.com/api/tools/create_post" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $POSTMCPAI_API_KEY" \
  -d '{
    "content": "One request. Seven networks.",
    "platforms": ["linkedin", "twitter", "facebook", "instagram", "threads", "bluesky", "youtube"],
    "publishImmediately": true
  }'
Shared surface

Seven operations, all networks

Every operation is a POST against https://api.postmcpai.com and is available both as a REST endpoint and as an MCP tool.

OperationEndpointWhat it does
preflight_postPOST/api/tools/preflight_postDry-run copy against limits, targets and credits before publishing.
create_postPOST/api/tools/create_postSchedule a post or broadcast it immediately.
publish_post_nowPOST/api/tools/publish_post_nowForce a queued post out ahead of its slot, or retry the profiles that failed.
list_postsPOST/api/tools/list_postsRead the queue — scheduled, published, draft and failed — with counts.
get_postPOST/api/tools/get_postRead one post, with per-profile delivery state and live URLs.
get_post_analyticsPOST/api/tools/get_post_analyticsRead how a post did: views, likes, comments and shares per profile.
get_profile_analyticsPOST/api/tools/get_profile_analyticsRead a profile’s followers, post count and views from its network.
update_postPOST/api/tools/update_postEdit copy, targets, schedule or status before publication.
reschedule_postPOST/api/tools/reschedule_postMove a post to another slot, keeping its copy and targets.
reset_stuck_postPOST/api/tools/reset_stuck_postRelease a post left stuck mid-publish so it can be retried.
delete_postPOST/api/tools/delete_postRemove a scheduled or draft post from the queue.
get_connected_accountsPOST/api/tools/get_connected_accountsList connected profiles, handles and page IDs per platform.
get_account_healthPOST/api/tools/get_account_healthFind connections whose token expired or is about to.
generate_imagePOST/api/tools/generate_imageGenerate a post image and get back a hosted URL for mediaUrl.
list_workspacesPOST/api/tools/list_workspacesList the workspaces on this key, with the id to scope other calls to.
get_user_infoPOST/api/tools/get_user_infoRead plan tier and credit balance.

API key auth

Send x-api-key, an Authorization bearer token, or an apikey query parameter.

Encrypted vault

Network tokens are encrypted server-side and never returned to your client.

MCP native

The same operations are MCP tools for Claude Desktop, Cursor and custom agents.

Social media API questions

What is a social media API?

A social media API lets your code publish and manage content on a network without a person clicking through the interface. Each network exposes its own — LinkedIn REST, Twitter API v2, Meta Graph API, AT Protocol — with its own auth model, media pipeline and limits. PostMCP puts one request shape in front of all six.

Can one API post to every platform at once?

Yes. Pass several values in the platforms array of a single create_post call and the engine broadcasts to each connected account, recording a per-platform status so a partial failure is visible rather than silent.

Do I need a developer account on each network?

No. PostMCP holds the app registrations and approved products for LinkedIn, X, Facebook, Instagram and Threads. You connect an account through a hosted OAuth flow, and Bluesky connects with a handle and app password.

How do I schedule posts through the API?

Set publishImmediately to false and supply scheduleDate as YYYY-MM-DD and scheduleTime as HH:MM. The post sits in the queue and stays editable, reschedulable and deletable until the engine broadcasts it.

How is the API authenticated?

Every request carries a PostMCP API key, sent as an x-api-key header, an Authorization bearer token, or an apikey query parameter on the MCP transport. Network credentials stay encrypted in the user vault and are never returned to your client.

Can AI agents call these APIs?

Yes. The same seven operations are exposed as Model Context Protocol tools, so Claude Desktop, Cursor and any MCP client can publish directly. A REST and OpenAPI surface covers ChatGPT Custom GPT Actions and plain webhooks.

One API key. Every network.

Connect your accounts, take a key and publish your first cross-network post in under five minutes.