Skip to content
Postly API

Build social publishing into your product, workflow, or AI stack

Postly API gives developers a direct way to create posts, upload media, schedule content, publish across channels, and retrieve performance data. MCP is available as the AI-agent layer for assistants that need scoped access to Postly actions.

REST APIMedia uploadsSchedulingAnalyticsMCP-ready
API quick look
# Connect your product to Postly
POST /v1/posts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "content": "Launching our new feature today!",
  "platforms": ["linkedin", "x"],
  "schedule_at": "2026-02-01T09:00:00Z"
}
Required setup before API publishing

Connect social platforms manually in the dashboard

The API can publish only through social accounts that have already been connected to the workspace. Users must connect, authorize, or reconnect each social platform manually from the Postly dashboard because platform providers require a human account owner to complete the authorization and consent process.

Connection checklist

Connect or reconnect each social platform manually from the Postly dashboard before publishing through the API.

This manual dashboard step is required because social platforms use human authorization and consent flows for account access.

If a platform token expires, is revoked, or permissions change, reconnect that platform in the dashboard before retrying API calls.

API guide library

10 guides available

Use this when a customer wants to publish several images under one post. Upload each image by file or URL first, then create the post with multiple file IDs.

Example
// Option 1: Upload images from files
POST /v1/files
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data

file=@image1.jpg
file=@image2.jpg

// Example response
{
  "files": [
    { "id": "file_1" },
    { "id": "file_2" }
  ]
}


// Option 2: Upload an image from a public URL
POST /v1/files
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "url": "https://example.com/image1.jpg"
}

// Repeat for each URL and collect the returned file IDs.


// Create one post with multiple images
POST /v1/posts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "content": "New collection from Asia Lifestyle Magazine",
  "platforms": ["instagram", "linkedin"],
  "media": [
    { "file_id": "file_1" },
    { "file_id": "file_2" }
  ]
}