Postiz
Self-hosted social scheduler for 30+ networks with a public API, an in-repo MCP server, and an agent CLI.
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.
- 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
- 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
- Clone
git clone https://github.com/gitroomhq/postiz-app - ImageContainer
Standard · $29 per month closed source
- HostedOpen the hosted app
Team · $39 per month closed source
No distribution recorded.
Pro · $49 per month closed source
No distribution recorded.
Ultimate · $99 per month closed source
No distribution recorded.
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_URLREDIS_URLJWT_SECRETFRONTEND_URLNEXT_PUBLIC_BACKEND_URLBACKEND_INTERNAL_URLSTORAGE_PROVIDERAPI_LIMITIS_GENERALOPENAI_API_KEYX_API_KEYLINKEDIN_CLIENT_IDFACEBOOK_APP_IDTHREADS_APP_IDYOUTUBE_CLIENT_IDTIKTOK_CLIENT_IDPINTEREST_CLIENT_IDREDDIT_CLIENT_IDDISCORD_CLIENT_IDMASTODON_URLPOSTIZ_GENERIC_OAUTH- Config files
.envdocker-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
- github.com/gitroomhq/postiz-app
- AGPL-3.0 license
- Last commit Sep 2, 2026
- 35,402 stars
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.
Reach
Partial coverage. 6 of 10 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Create and schedule posts | Reachable | docs.postiz.com/public-api: Posts endpoint creates, schedules, and publishes |
| Publish to Instagram | Reachable | public API platform list includes Instagram; needs your own Meta app approval |
| Publish to TikTok | Reachable | public API platform list includes TikTok; TIKTOK_CLIENT_ID in .env.example |
| Publish to YouTube | Reachable | public API platform list includes YouTube; YOUTUBE_CLIENT_ID in .env.example |
| Upload media before posting | Reachable | public API Upload endpoint |
| List and manage connected channels | Reachable | public API Integrations endpoint |
| Pull analytics | Not reachable | README lists analytics; public API docs cover only posts, integrations, upload |
| Team comments and collaboration | Not reachable | not in public API docs |
| Generate posts, images, or videos with AI | Undetermined | hosted plans meter AI images and videos; not documented in public API |
| Buy or exchange posts in the marketplace | Not reachable | README 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
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README tech stack: Next.js frontend, NestJS backend, run with docker compose | 95% |
| executionModel | scheduler is deterministic; OPENAI_API_KEY in .env.example and 'many AI features' in README | 60% |
| operability | public 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 org | 90% |
| effort | .env.example names 90+ variables; README says hosted and self-hosted are the same product | 90% |
| editions | postiz.com/pricing: Standard $29, Team $39, Pro $49, Ultimate $99 per month; FAQ says self-hosting is free | 85% |
| active | pushedAt 2026-09-02; 265 open issues | – |
| provenance | long-running project with sponsors and contributors; no vibe-coded claim | 70% |
| reach | 70% |
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
- github.com/gitroomhq/postiz-app sourcing:content-publishing:github
- docs.postiz.com/public-api analysis:content-publishing
- postiz.com/pricing analysis:content-publishing
- github.com/gitroomhq/postiz-agent analysis:content-publishing