Loading...

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!

RECENT POSTS

The Gatekeeper’s Fallacy: Why the “End-of-Line” QA Model is Obsolete

The Gatekeeper’s Fallacy: Why the “End-of-Line” QA Model is Obsolete Megha Srivastava 24 October 2025 For decades, the software development world operated on a simple, linear model. Developers would build, and when they were “done,” they would “throw the code over the wall” to the Quality Assurance (QA) team. This team acted as a final […]

The Architecture of a Modern Startup: From Hype to Pragmatic Evidence

The Architecture of a Modern Startup: From Hype to Pragmatic Evidence Shakir Khan 15 October 2025 In the world of technology, buzzwords like “microservices,” “serverless,” and “event-driven architecture” dominate discussions. While these concepts are powerful, a modern startup’s architectural journey is less about chasing trends and more about pragmatic decisions. This guide explores the foundational […]

The Role of a BDE in Driving Revenue for Tech Startups

The Role of a BDE in Driving Revenue for Tech Startups Kumkum Kumari 26/09/2025 At Speqto, we’ve worked with many tech startups across different industries from SaaS and fintech to healthcare and logistics and one truth stands out: a Business Development Executive (BDE) is one of the biggest growth drivers for a startup’s success. In […]

From Inquiry to Contract: How Speqto Helps Clients Solve Real Problems

From Inquiry to Contract: How Speqto Helps Clients Solve Real Problems Karan Kumar 26/09/2025 Why Business Development Is Critical in Solving Real Client Problems At Speqto, we’ve seen how clients increasingly face complex business challenges that require more than just off-the-shelf IT solutions. Whether it’s optimizing operations, scaling processes, or leveraging emerging technologies like AI […]

Top Mistakes Business Developers Make in IT Companies (and How to Avoid Them)

Top Mistakes Business Developers Make in IT Companies (and How to Avoid Them) Chirag Verma 14/10/2025 In the fast-evolving IT industry, business development is both an art and a science. At Speqto Technologies, where innovation meets strategy, we’ve observed even the most skilled business developers can fall into common traps that limit their success. Recognizing […]

POPULAR TAG

POPULAR CATEGORIES