Uploading the ReactJS app on Netlify is quite easy but API is not as simple as a static web app, it usually has some functional component that requires to be executed to generate a response based on the request endpoint. In this tutorial, you will learn how to deploy ExpressJS API on the Netlify platform as quickly as 10 mins.

deploy express js api on netlify

We have created a Git repository with all code mentioned in this article. The steps explained below are linked to the files from that repo only. So if you prefer to dive into code directly then here is the link for that Git repo.

Steps Deploy ExpressJS API On Netlify

Step 1: If you haven’t created a project yet then first create a project directory and navigate to that directory using cd command.

mkdir netlify-expressjs-serverless
cd netlify-expressjs-serverless

Step 2: Initialize npm and which will create a default package.json file

npm init -y

Step 3: Run the below command to install npm packages: express, serverless-http, netlify-lambda

npm install express serverless-http netlify-lambda

Step 4: Create .gitignore file and include this content

Step 5: Create netlify.toml file which will have Netlify deploy configuration

Step 6: Create a directory with a name dist and a index.html file in that new directory. You can add some static content if you would like.

Note: Netlify will show the content of this index.html file if the user navigates to the root API domain.

Step 7: Create a new directory src and api.js file in that new directory which will contain ExpressJS endpoint code

Note: We have used functions in app.use() because we have used the same value in netlify.toml file.

Step 8: Add these scripts in your package.json file

“scripts”: {
//…
“start”: “netlify-lambda serve src”,
“build”: “netlify-lambda build src”
//…
}

Step 9: To test this code run the below command and navigate to

  1. localhost:9000/.netlify/functions/api: will return what you have configured / endpoint
  2. localhost:9000/.netlify/functions/api/another: will return what you have configured /another endpoint

npm start

Step 10: Now go ahead and deploy this API using the below command if you prefer Netlify CLI or commit everything to a Git repo and deploy it in Netlify UI.

netlify deploy

expressjs api published on netlify

This way you can easily deploy ExpressJS API on the Netlify platform. If you need any help then feel free to ask your questions in the comment section below.