Publish everywhere.
Straight from your code.
The Postfeeds API lets your apps — and AI agents — compose, schedule and publish to TikTok, Instagram, YouTube and more. Typed SDKs, webhooks and an MCP server included.
One API for social publishing,
built for developers & AI agents
Compose, schedule and publish to TikTok, Instagram, YouTube and more — programmatically. A clean REST API, typed SDKs, webhooks and an MCP server so your apps and agents can post anywhere with one call.
Publish to every platform with one REST call
Authenticate with an API key, POST your content, and let Postfeeds handle per-platform formatting, scheduling and delivery.
curl https://api.postfeeds.com/v1/posts \ -H "Authorization: Bearer $PF_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "caption": "Launch day 🚀", "media": ["https://cdn.app/clip.mp4"], "platforms": ["tiktok", "instagram", "youtube"], "schedule_at": "2026-06-12T09:00:00Z" }'Ready-to-use SDKs, tools & an MCP server
Typed SDKs for TypeScript and Python, a CLI, and a Model Context Protocol server that lets AI agents schedule and publish on their own.
Reliable delivery, rate limits & webhooks
Idempotent requests, automatic retries and real-time webhooks keep every post in sync — from one account to thousands.
Publish to every platform your audience lives on
Post your first video in three steps
From an empty terminal to a scheduled, multi-platform post in a couple of minutes.
- 1
Grab your API key
Create a scoped key per workspace in the dashboard, then drop it into your environment.
- 2
Install the SDK
Use our typed SDKs for TypeScript or Python — or call the REST API directly from anything.
- 3
Publish your first post
One request composes, schedules and fans out to every connected platform at once.
npm i @postfeeds/sdk
export PF_API_KEY="pf_live_..."curl -X POST https://api.postfeeds.com/v1/posts \
-H "Authorization: Bearer $PF_API_KEY" \
-d caption="Launch day 🚀" \
-d media="https://cdn.app/clip.mp4" \
-d platforms="tiktok,instagram,youtube" \
-d schedule_at="2026-06-12T09:00:00Z"Built for every publishing workflow
Whether you're shipping a product, wiring up automations or handing the keys to an agent — the API stays simple.
One call, every platform — with per-platform overrides
Send a single request and Postfeeds reformats it for each network. Override the title, visibility or caption per platform when you need to.
- Automatic aspect-ratio & caption handling
- Per-platform overrides
- Schedule now or in the future
await pf.posts.create({
caption: "New drop 🔥",
media: ["https://cdn.app/reel.mp4"],
platforms: ["tiktok", "instagram", "youtube"],
overrides: {
youtube: { title: "New Drop", visibility: "public" },
tiktok: { allowDuet: false },
},
scheduleAt: "2026-06-12T18:00:00Z",
});Know the moment a post goes live
Subscribe to delivery events and react in real time. Every webhook is signed, retried on failure, and delivered with an idempotency key.
- Signed & verified payloads
- post.published, post.failed & more
- Automatic retries with backoff
app.post("/webhooks/postfeeds", (req, res) => {
const event = pf.webhooks.verify(
req,
process.env.PF_WEBHOOK_SECRET,
);
if (event.type === "post.published") {
console.log("Live on", event.data.platform, event.data.url);
}
res.sendStatus(200);
});Let your agents post on their own
Drop the Postfeeds MCP server into Claude, Cursor or any agent runtime. Your agent gets native tools to compose, schedule and publish — no glue code.
- Model Context Protocol server
- Scoped, revocable agent keys
- Works with any MCP-compatible client
{
"mcpServers": {
"postfeeds": {
"command": "npx",
"args": ["-y", "@postfeeds/mcp"],
"env": { "PF_API_KEY": "pf_live_..." }
}
}
}A clean, predictable REST API
Resource-oriented endpoints, JSON everywhere, and the same response shapes whether you call them by hand or from an agent.
- POST
/v1/posts - GET
/v1/posts - GET
/v1/posts/{id} - DELETE
/v1/posts/{id} - GET
/v1/connections - POST
/v1/webhooks - GET
/v1/usage
Everything you need to build on Postfeeds
A predictable, well-documented API designed for both human developers and autonomous agents.
API keys & scopes
Mint scoped keys per workspace, rotate them anytime, and grant agents only the access they need.
Real-time webhooks
Subscribe to post.published, post.failed and connection events with signed, retried deliveries.
Idempotent requests
Safe retries with idempotency keys — agents can recover from timeouts without double-posting.
Generous rate limits
Clear per-key limits with headers on every response, plus burst handling for batch publishing.
Sandbox mode
Test the full publish flow against a sandbox before a single post ever reaches a real account.
OpenAPI & typed SDKs
A complete OpenAPI spec drives our TypeScript and Python SDKs, types and reference docs.
Get your API key in minutes
Spin up a key, hit the sandbox, and publish your first post programmatically today — free to start.