> ## Documentation Index
> Fetch the complete documentation index at: https://magic-post.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Create various text and media posts and distribute them to all channels at once using Magic Post

![](https://mintcdn.com/magic-post/wSf-YhNVjpL3AqP0/images/main-banner.png?fit=max\&auto=format\&n=wSf-YhNVjpL3AqP0\&q=85\&s=4bd2201e8c3f22f6e3c6d9067b8daf75)

## 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](https://magic-post.mintlify.site/channels/overview.md) for how credentials and connections work.

## Who uses MagicPost

> [card] 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.

> [card] 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

> [card] [Composer and scheduling](https://magic-post.mintlify.site/user-guide/composer.md)
>
> Per-channel captions and options, first comments, previews, drafts, queue slots, recurring and evergreen posts, and a calendar.

> [card] [Media library and AI](https://magic-post.mintlify.site/user-guide/media-library.md)
>
> Chunked uploads, alt text and crops, an optional watermark, plus AI caption writing, brand voices and an image and video studio.

> [card] [Teams and approvals](https://magic-post.mintlify.site/account/teams.md)
>
> Shared workspaces with owner, member and approver roles, and an approval step before posts go out.

> [card] [Analytics](https://magic-post.mintlify.site/user-guide/analytics.md)
>
> Follower and post figures that MagicPost reads back from the networks every hour while Collect analytics is on.

> [card] [Feeds and bulk import](https://magic-post.mintlify.site/user-guide/feeds-and-import.md)
>
> Turn new RSS articles into posts, or import many posts from a CSV file.

> [card] [REST API and webhooks](https://magic-post.mintlify.site/account/rest-api.md)
>
> Token-based API under `/api/v1` and webhooks for post events.

> [card] [Admin panel](https://magic-post.mintlify.site/admin/overview.md)
>
> Users, channel credentials, publishing settings with a system health check, AI models, website content, languages and more.

> [card] [SaaS and billing](https://magic-post.mintlify.site/saas/overview.md)
>
> Optional. Sell plans, take payments through your gateways, issue invoices and run a referral program.

> [!NOTE]
>
> 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

> [card] [Check requirements](https://magic-post.mintlify.site/getting-started/requirements.md)
>
> PHP, extensions, database and folders your host needs.

> [card] [Run the installer](https://magic-post.mintlify.site/installation/web-installer.md)
>
> Install from the browser in a few steps.

> [card] [Publish a first post](https://magic-post.mintlify.site/getting-started/quickstart.md)
>
> From a fresh install to a live post.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.