India-built AI & blockchain engineering since 2017 · Serving clients worldwide

blog

Building Your First REST API with Node.js and Express

Building Your First REST API with Node.js and Express

Jeevan Singh

28 August, 2025

Node.js Logo


REST APIs are the backbone of modern web and mobile applications. They allow clients and servers to communicate effectively, exchanging data in a structured way. In this blog, we’ll walk through the process of building your first REST API using Node.js and Express – one of the most popular frameworks for server-side JavaScript.

Why Use Express for APIs?

While Node.js provides the core runtime, Express.js simplifies the process of building APIs by offering an easy-to-use framework. It provides routing, middleware support, and a clean structure to build scalable applications. With Express, you can create REST APIs in just a few lines of code.

Step-by-Step Guide to Building Your First REST API

1. Initialize a New Node.js Project

Create a project folder and initialize it with npm:

mkdir my-first-api
cd my-first-api
npm init -y

This sets up your project and creates a package.json file.

2. Install Express

Next, install Express.js:

npm install express

This adds Express as a dependency to your project.

3. Create Your API Server

Inside your project, create a file named server.js and add the following code:

const express = require('express');
const app = express();
const PORT = 3000;

// Middleware to parse JSON
app.use(express.json());

// Sample data
let users = [
  { id: 1, name: 'John Doe' },
  { id: 2, name: 'Jane Smith' }
];

// GET all users
app.get('/api/users', (req, res) => {
  res.json(users);
});

// GET single user
app.get('/api/users/:id', (req, res) => {
  const user = users.find(u => u.id === parseInt(req.params.id));
  user ? res.json(user) : res.status(404).json({ message: 'User not found' });
});

// POST new user
app.post('/api/users', (req, res) => {
  const newUser = {
    id: users.length + 1,
    name: req.body.name
  };
  users.push(newUser);
  res.status(201).json(newUser);
});

// PUT update user
app.put('/api/users/:id', (req, res) => {
  const user = users.find(u => u.id === parseInt(req.params.id));
  if (user) {
    user.name = req.body.name || user.name;
    res.json(user);
  } else {
    res.status(404).json({ message: 'User not found' });
  }
});

// DELETE user
app.delete('/api/users/:id', (req, res) => {
  users = users.filter(u => u.id !== parseInt(req.params.id));
  res.json({ message: 'User deleted successfully' });
});

// Start server
app.listen(PORT, () => {
  console.log(`Server running on http://localhost:${PORT}`);
});

This simple API allows you to perform CRUD operations (Create, Read, Update, Delete) on a list of users.

4. Test Your API

Run your server with:

node server.js

Use tools like Postman or curl to test your API endpoints:

  • GET /api/users → Fetch all users
  • GET /api/users/:id → Fetch a single user
  • POST /api/users → Add a new user
  • PUT /api/users/:id → Update a user
  • DELETE /api/users/:id → Delete a user

How This Helps You

By creating this REST API, you’ve built a foundation for more advanced applications. You can now connect your frontend (React, Angular, Vue, or even mobile apps) to this backend and manage data seamlessly. Understanding the basics of Express and REST APIs opens doors to building scalable full-stack applications.

Conclusion

Building your first REST API with Node.js and Express is a major step toward becoming a full-stack developer. With just a few lines of code, you created a functional backend that supports CRUD operations. From here, you can expand by connecting to databases, adding authentication, or deploying your API to production. Keep experimenting, and you’ll soon be building powerful backend systems!

Share this article

Leave a Reply

Your email address will not be published. Required fields are marked *

Keep reading

Related articles

Have an AI idea or a product to build? Let’s talk.

Tell us what you are building. A solutions architect will respond within one business day with next steps and a no-obligation estimate.

  • Free 30-minute consultation
  • NDA on request, before we talk details
  • Estimate within 3–5 business days
WhatsAppTelegramCall

Tell us what you want to build

A solutions architect replies within one business day. NDA on request.

We reply within one business day. Your details stay confidential.