Skip to main content

What MagicPost?

MagicPost is a self-hosted web application for planning, scheduling and publishing social media posts. You install it on your own server and register an app with each social network once. Your users then connect their accounts as channels and publish to all of them from one place. It is built on Laravel 12 and Livewire. It needs PHP 8.3 or newer, a MySQL database and one cron job, and it is designed to run on ordinary shared hosting that only offers cron.

Supported networks

Users can publish to X (Twitter), LinkedIn, Facebook Pages, Instagram, TikTok, YouTube, Pinterest, Threads, WhatsApp and Telegram. Each network needs its own developer app, gateway or bot, which you set up once under Admin → Publishing → Platforms. See Publishing channels for how credentials and connections work.

Who uses MagicPost

Admin

The site owner. The admin installs the script, registers the network apps, sets publishing limits, adds AI provider keys, manages users and, if needed, turns on billing.

Users and teams

People who register on your site. They connect channels, write and schedule posts, and can invite teammates with the roles owner, member and approver.

How publishing works

1

The admin registers the network apps

Each network is switched on under Admin → Publishing → Platforms once its credentials are saved and Available to users is ticked.
2

Users connect channels

From Channels, a user authorises MagicPost on the network and returns to the site. Every connected account, page or group is a channel.
3

Users compose posts

In the Composer a post is written once, adjusted per channel, and sent now, at a chosen time, to the next free queue slot, or on a repeat.
4

The scheduler sends them

Your cron job runs the Laravel scheduler every minute. It picks up posts that are due, queues them and sends each one to its channels. A post can succeed on some channels and fail on others.

What is in the box

Composer and scheduling

Per-channel captions and options, first comments, previews, drafts, queue slots, recurring and evergreen posts, and a calendar.

Media library and AI

Chunked uploads, alt text and crops, an optional watermark, plus AI caption writing, brand voices and an image and video studio.

Teams and approvals

Shared workspaces with owner, member and approver roles, and an approval step before posts go out.

Analytics

Follower and post figures that MagicPost reads back from the networks every hour while Collect analytics is on.

Feeds and bulk import

Turn new RSS articles into posts, or import many posts from a CSV file.

REST API and webhooks

Token-based API under /api/v1 and webhooks for post events.

Admin panel

Users, channel credentials, publishing settings with a system health check, AI models, website content, languages and more.

SaaS and billing

Optional. Sell plans, take payments through your gateways, issue invoices and run a referral program.
SaaS Business is optional. While it is switched off, no plan limits apply and every feature is available to every account. Turning it on makes plans and the free tier decide what each account can do.

Where to start

Check requirements

PHP, extensions, database and folders your host needs.

Run the installer

Install from the browser in a few steps.

Publish a first post

From a fresh install to a live post.