Payload CMS
Term 66 of 68 in the ERPStack technical glossary
What is Payload CMS?
Payload CMS is an open-source, TypeScript-native headless CMS built on Next.js that provides a fully customizable admin UI, flexible collection schemas, and API-first content delivery — without the per-seat pricing of Contentful or the plugin complexity of WordPress.
Payload CMS at a glance
- Model
- Config-as-code — collections defined in TypeScript 5.9 files that live in your repository
- Storage
- Your own PostgreSQL 18 database, so content and application data share 1 backup and 1 boundary
- Delivery
- REST and GraphQL out of the box, consumed by Next.js 16 server components
- Hosting
- Self-hosted in your own cloud account; 0 per-editor SaaS licence fees
- Built with
- Payload CMS collections in TypeScript 5.9 over PostgreSQL 18, consumed by Next.js 16 server components, styled with Tailwind CSS 4, deployed to Vercel or AWS
- Numbers that matter
- 1 database for content and application data; 0 per-editor licence fees; 2 delivery APIs; 1 pull request per content-model change
- Compare with
- Hosted headless platforms, and coupled CMS products with bundled themes
- Commonly paired with
- Next.js, React, Tailwind CSS, a PostgreSQL Database and Vercel or AWS hosting
- Where it fits
- retail, media and hospitality sites on Next.js 16 and React 19 over Vercel or AWS, with Tailwind CSS 4 and Storybook holding the component layer above PostgreSQL 18.
How Payload CMS works in production
The ERPStack approach to Payload CMS
We implement Payload CMS for clients replacing WordPress or Contentful, hosting it within their existing Next.js application on Vercel — eliminating CMS subscription fees and providing complete content model ownership.
Frequently asked questions about Payload CMS
What distinguishes Payload from hosted CMS platforms?
Where it runs and who owns the data. Payload CMS is self-hosted, so content sits in your own PostgreSQL 18 database inside your own cloud account rather than in a vendor's tenancy. That matters for data residency, for keeping content inside the same compliance boundary as business records, and for cost, since pricing does not scale with the number of editors or API calls.
Why is config-as-code useful for content modelling?
Because a content model is a schema, and schemas benefit from review. Payload CMS collections are TypeScript 5.9 files in the repository, so a field change arrives as a pull request with a diff, runs through CI, and deploys with the code that depends on it. Clicking fields into a hosted dashboard produces a model with no history and no review, which drifts between environments.
Can Payload run alongside application data?
Yes, and that is usually the point. Payload CMS writing into the same PostgreSQL 18 instance as the application means 1 connection pool, 1 backup policy and the ability to join content against business data without an integration layer. It also removes a common failure mode where the marketing site is down because a separate content service is unreachable.
What are the trade-offs of self-hosting a CMS?
You own the operations. Payload CMS running in your account means upgrades, backups and uptime are your responsibility rather than a vendor's, which is real work. In exchange you get data ownership, no per-seat pricing and no API rate limits imposed from outside. For teams already operating a production database, the marginal cost is small; for teams with no operations capability, a hosted product may be the better trade.