Use Cases
Simplify your stack and build anything. Or everything.
Content Management System
Create with a minimal, powerful editing experience. Extend effortlessly.
Enterprise App Builder
Build sophisticated enterprise tools while reducing development costs.
Headless E-commerce
Manage all your content, alongside your products, in a single, powerful editing experience.
Digital Asset Management
Ensure brand consistency by seamlessly managing digital assets within your CMS.
Why Payload
Build tomorrow’s web with a modern solution you truly own.
For Marketing Teams
Advanced features like Visual Editing and Live Preview are giving a head back to the headless CMS.
For Agencies
Learn how Payload delivers for software consultancies with a content framework that can build anything.
For Developers
Built with React & TypeScript, depart restrictive “no-code” options and write code you’re proud of.
Developers
Code-based nature means you can build on top of it to power anything.
Resources
Documentation
Examples
Templates
GitHub
Blog
Community
Roadmap
Discord
Community Help
Payload Cloud
Deploy your entire stack in one place with Payload Cloud.
Login
Cloud Pricing
Enterprise
It’s time to take back your content infrastructure.
Schedule a Demo
Enterprise Features
SSO
Publishing Workflows
Visual Editor
Static A/B testing
AI features
Customer Stories
Microsoft
Blue Origin
Hello Bello
Mythical Society
Tekton
Featured Customer Story
Microsoft chose Payload to tell the world about AI.
Read the case study
Docs
New project
Login
Search
New project
Login
Search
Let us help you get started
Let us help you get started
Close
1
const
payload
=
require
(
'payload'
)
;
2
const
express
=
require
(
'express'
)
;
3
4
const
app
=
express
(
)
;
5
6
// Just pass your app into Payload and everything
7
// will be scoped to Payload routers.
8
9
payload
.
init
(
{
10
secret
:
'XXXXXXXXXXXXXXXXXXXXXXXXX'
,
11
express
:
app
,
12
}
)
;
13
14
app
.
listen
(
process
.
env
.
PORT
,
(
)
=>
{
15
console
.
log
(
\`
Application
listening on \$
{
3000
}
...
\`
)
;
16
}
)
;
17
Learn about Hooks
Learn about Hooks
Close
1
const
Customers
=
{
2
// ...
3
hooks
:
{
4
beforeChange
:
[
5
// Before the Customer is created or updated,
6
// sync it to Hubspot
7
syncCustomerToHubspot
,
8
]
,
9
afterChange
:
[
10
// Send the new Customer a welcome email
11
// after it's successfully created
12
sendWelcomeEmail
,
13
]
,
14
afterRead
:
[
15
// Dynamically append user's active subscriptions
16
// straight from Stripe
17
addStripeSubscriptions
,
18
]
,
19
}
,
20
}
;
21
Read about access control
Read about access control
Close
1
const
Orders
=
{
2
// ...
3
access
:
{
4
create
:
(
)
=>
true
,
// Everyone can create
5
read
:
(
{
req
:
{
user
}
}
)
=>
{
6
if
(
user
)
{
7
return
{
// Users can only read their own
8
owner
:
{
equals
:
user
.
id
,
}
,
9
}
;
10
}
11
12
return
false
;
// Not logged in? Can't read any
13
}
,
14
update
:
(
{
req
:
{
user
}
}
)
=>
{
15
// Only Admins can update Orders
16
if
(
user
.
roles
.
includes
(
'admin'
)
)
return
true
;
17
return
false
;
18
}
,
19
delete
:
(
)
=>
false
,
// No one can delete
20
}
,
21
}
;
22
Learn about the Admin UI
Learn about the Admin UI
Payload provides solutions, not roadblocks.
You can host it yourself, or let us handle hosting for you on
Payload Cloud
.
Get Started on Payload Cloud
Get Started on Payload Cloud