"Build applications faster with object and file storage, user authentication, push notifications, dashboard and more out of the box."
The original. Open-sourced when Parse was bought by Facebook and then later shut down. Community version looks very active, and probably worth giving a spin at some point. Requires MongoDB or PostgreSQL as a data-storage unit, and optionally plugs in to Docker. Note that compared to the original Parse, Parse Jobs and Parse Analytics are not provided, but it's a NodeJS/Express-friendly tool, so that could/should be someting a NodeJS developer could implement on their own (or plug a third-party into) if needed. As a quick-stand-up backend, though, it should be more than adequate.
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Parse Server works with the Express web application framework. It can be added to existing web applications, or run by itself.
The full documentation for Parse Server is available in the wiki. The Parse Server guide is a good place to get started. An API reference and Cloud Code guide are also available. If you're interested in developing for Parse Server, the Development guide will help you get set up.
Parse Server is available in different flavors on different branches:
release-<version>.x.x, for example release-5.x.x. LTS branches do not have pre-release branches.The fastest and easiest way to get started is to run MongoDB and Parse Server locally.
Before you start make sure you have installed:
npmParse Server is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the Node.js Long Term Support plan and only test against versions that are officially supported and have not reached their end-of-life date.
| Version | Minimum Version | End-of-Life | Parse Server Support |
|---|---|---|---|
| Node.js 18 | 18.20.4 | April 2025 | <= 8.x (2025) |
| Node.js 20 | 20.19.0 | April 2026 | <= 9.x (2026) |
| Node.js 22 | 22.12.0 | April 2027 | <= 10.x (2027) |
| Node.js 24 | 24.11.0 | April 2028 | <= 11.x (2028) |
Parse Server is continuously tested with the most recent releases of MongoDB to ensure compatibility. We follow the MongoDB support schedule and MongoDB lifecycle schedule and only test against versions that are officially supported and have not reached their end-of-life date. MongoDB "rapid releases" are ignored as these are considered pre-releases of the next major version.
| Version | Minimum Version | End-of-Life | Parse Server Support |
|---|---|---|---|
| MongoDB 6 | 6.0.19 | July 2025 | <= 8.x (2025) |
| MongoDB 7 | 7.0.16 | August 2026 | <= 9.x (2026) |
| MongoDB 8 | 8.0.4 | TDB | <= 10.x (2027) |
Parse Server is continuously tested with the most recent releases of PostgreSQL and PostGIS to ensure compatibility, using PostGIS docker images. We follow the PostgreSQL support schedule and PostGIS support schedule and only test against versions that are officially supported and have not reached their end-of-life date. Due to the extensive PostgreSQL support duration of 5 years, Parse Server drops support about 2 years before the official end-of-life date.
| Version | PostGIS Version | End-of-Life | Parse Server Support |
|---|---|---|---|
| Postgres 13 | 3.1, 3.2, 3.3, 3.4, 3.5 | November 2025 | <= 6.x (2023) |
| Postgres 14 | 3.5 | November 2026 | <= 7.x (2024) |
| Postgres 15 | 3.3, 3.4, 3.5 | November 2027 | <= 8.x (2025) |
| Postgres 16 | 3.5 | November 2028 | <= 9.x (2026) |
| Postgres 17 | 3.5 | November 2029 | <= 10.x (2027) |
| Postgres 18 | 3.6 | November 2030 | <= 11.x (2028) |
$ npm install -g parse-server mongodb-runner
$ mongodb-runner start
$ parse-server --appId APPLICATION_ID --masterKey MASTER_KEY --databaseURI mongodb://localhost/test
Note: If installation with -g fails due to permission problems (npm ERR! code 'EACCES'), please refer to this link.
$ git clone https://github.com/parse-community/parse-server
$ cd parse-server
$ docker build --tag parse-server .
$ docker run --name my-mongo -d mongo
$ docker run --name my-parse-server -v config-vol:/parse-server/config -p 1337:1337 --link my-mongo:mongo -d parse-server --appId APPLICATION_ID --masterKey MASTER_KEY --databaseURI mongodb://mongo/test
Note: If you want to use Cloud Code, add -v cloud-code-vol:/parse-server/cloud --cloud /parse-server/cloud/main.js to the command above. Make sure main.js is in the cloud-code-vol directory before starting Parse Server.
You can use any arbitrary string as your application id and master key. These will be used by your clients to authenticate with the Parse Server.
That's it! You are now running a standalone version of Parse Server on your machine.
Using a remote MongoDB? Pass the --databaseURI DATABASE_URI parameter when starting parse-server. Learn more about configuring Parse Server here. For a full list of available options, run parse-server --help.
Now that you're running Parse Server, it is time to save your first object. The easiest way is to use the REST API, but you can easily do the same using any of the Parse SDKs. To learn more check out the documentation.
Parse provides SDKs for all the major platforms. Refer to the Parse Server guide to learn how to connect your app to Parse Server.
Once you have a better understanding of how the project works, please refer to the Parse Server wiki for in-depth guides to deploy Parse Server to major infrastructure providers. Read on to learn more about additional ways of running Parse Server.
We have provided a basic Node.js application that uses the Parse Server module on Express and can be easily deployed to various infrastructure providers:
You can also create an instance of Parse Server, and mount it on a new or existing Express website:
const express = require('express');
const ParseServer = require('parse-server').ParseServer;
const app = express();
const server = new ParseServer({
databaseURI: 'mongodb://localhost:27017/dev', // Connection string for your MongoDB database
cloud: './cloud/main.js', // Path to your Cloud Code
appId: 'myAppId',
masterKey: 'myMasterKey', // Keep this key secret!
fileKey: 'optionalFileKey',
serverURL: 'http://localhost:1337/parse', // Don't forget to change to https if needed
});
// Start server
await server.start();
// Serve the Parse API on the /parse URL prefix
app.use('/parse', server.app);
app.listen(1337, function () {
console.log('parse-server-example running on port 1337.');
});
For a full list of available options, run parse-server --help or take a look at [Parse Server Configurations][server-options].
Check the Parse Server health by sending a request to the /parse/health endpoint.
The response looks like this:
{
"status": "ok"
}
| Value | Description |
|---|---|
initialized |
The server has been created but the start method has not been called yet. |
starting |
The server is starting up. |
ok |
The server started and is running. |
error |
There was a startup error, see the logs for details. |
Last modified 11 September 2026