mothermachine

Browse / Content publishing

Postiz

Self-hosted social scheduler for 30+ networks with a public API, an in-repo MCP server, and an agent CLI.

AdaptableOperable Business appWeb app Hybrid TypeScript API License: AGPL-3.0

Open-source social media scheduling platform that publishes to X, LinkedIn, Instagram, TikTok, YouTube, Reddit, Bluesky and more from one calendar. The Builder ships a documented public API, an MCP server inside the monorepo, a Node SDK, and a separate postiz-agent CLI aimed at coding agents. Self-hosting is free under AGPL; the hosted service is paid.

Use it when
  • I run social for a few brands and want a Buffer I own, with my agent posting through an API
  • I need one calendar that publishes to a dozen networks and I do not want per-channel pricing
Gotchas
  • AGPL-3.0: network use of a modified copy triggers source disclosure
  • Every network needs your own developer app; Meta and TikTok apps require platform review before you can post for other accounts
  • Public API is rate limited to 90 create-post calls per hour by default; self-hosters raise it with API_LIMIT
  • On the hosted service the API is on paid plans only
  • Requires PostgreSQL, Redis, and Temporal; the stack is heavier than a single container

Last activity Sep 2, 2026. Fit: adaptable 2, operable 3.

Editions

Self-hosted · Free open source

  • Clonegit clone https://github.com/gitroomhq/postiz-app
  • ImageContainer

closed source

closed source

No distribution recorded.

closed source

No distribution recorded.

closed source

No distribution recorded.

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only23 things to edit

Copy .env.example, set database, Redis, JWT, and public URLs, then add a client ID and secret for each network you want to publish to. STORAGE_PROVIDER switches local vs Cloudflare R2; API_LIMIT raises the per-hour API cap; IS_GENERAL and the POSTIZ_OAUTH_* vars swap the login provider. No code changes needed to run it as your own scheduler.

Env vars
DATABASE_URL REDIS_URL JWT_SECRET FRONTEND_URL NEXT_PUBLIC_BACKEND_URL BACKEND_INTERNAL_URL STORAGE_PROVIDER API_LIMIT IS_GENERAL OPENAI_API_KEY X_API_KEY LINKEDIN_CLIENT_ID FACEBOOK_APP_ID THREADS_APP_ID YOUTUBE_CLIENT_ID TIKTOK_CLIENT_ID PINTEREST_CLIENT_ID REDDIT_CLIENT_ID DISCORD_CLIENT_ID MASTODON_URL POSTIZ_GENERIC_OAUTH
Config files
.env docker-compose.yaml
Prompt files
none
Accounts you need
developer app on each social network (Meta, TikTok, Google, X, LinkedIn, Reddit, Pinterest, Discord)Cloudflare R2 (optional storage)OpenAI (optional AI features)

Source

Operable: what an agent can drive

Interface

OfficialAPIpublished by the builderremote or local

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
docs.postiz.com/public-api

Reach

Partial coverage. 6 of 10 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Create and schedule postsReachabledocs.postiz.com/public-api: Posts endpoint creates, schedules, and publishes
Publish to InstagramReachablepublic API platform list includes Instagram; needs your own Meta app approval
Publish to TikTokReachablepublic API platform list includes TikTok; TIKTOK_CLIENT_ID in .env.example
Publish to YouTubeReachablepublic API platform list includes YouTube; YOUTUBE_CLIENT_ID in .env.example
Upload media before postingReachablepublic API Upload endpoint
List and manage connected channelsReachablepublic API Integrations endpoint
Pull analyticsNot reachableREADME lists analytics; public API docs cover only posts, integrations, upload
Team comments and collaborationNot reachablenot in public API docs
Generate posts, images, or videos with AIUndeterminedhosted plans meter AI images and videos; not documented in public API
Buy or exchange posts in the marketplaceNot reachableREADME feature; not in public API docs

Code stack

Languages
TypeScript
Frameworks
Next.jsNestJSPrismaTemporal
Package manager
pnpm
Database
PostgreSQLRedis
Hosting target
docker-composeany Node host
Built
Human-written (recorded, never ranked)

Model stack

Providers
OpenAI (optional)
Models
none
Keys you need
OPENAI_API_KEY
Prompts live in
none

Evidence and confidence

FieldWhere it was seenConfidence
formFactorREADME tech stack: Next.js frontend, NestJS backend, run with docker compose95%
executionModelscheduler is deterministic; OPENAI_API_KEY in .env.example and 'many AI features' in README60%
operabilitypublic API at docs.postiz.com/public-api; MCP server file libraries/nestjs-libraries/src/chat/start.mcp.ts (server name 'Postiz MCP'); gitroomhq/postiz-agent CLI (440 stars, pushed 2026-09-01), all from the same org90%
effort.env.example names 90+ variables; README says hosted and self-hosted are the same product90%
editionspostiz.com/pricing: Standard $29, Team $39, Pro $49, Ultimate $99 per month; FAQ says self-hosting is free85%
activepushedAt 2026-09-02; 265 open issues–
provenancelong-running project with sponsors and contributors; no vibe-coded claim70%
reach70%

Open questions

  • Enumerate the MCP server's tool list from start.mcp.ts; only the server name was confirmed
  • Does the hosted MCP endpoint require a paid plan like the API does?
  • postiz-agent license shows NOASSERTION on GitHub; confirm

Sources