Loading...

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!

RECENT POSTS

Building a Wallet or Points-Based Loyalty System for Fintech: What Actually Works

Every fintech founder we talk to eventually asks the same question: “Should we build a wallet-based rewards system or a points-based one?” It sounds like a small product decision, but it shapes your compliance load, your tech architecture, and honestly, how fast you can ship features later. At Speqto Technologies, we’ve built both types for […]

What CTOs Should Ask Before Hiring an Offshore Dev Team (Especially in BFSI and Fintech)

A few months back, a VP of Engineering at a mid-sized lending platform told us something that stuck: “We didn’t lose money because the offshore team couldn’t code. We lost money because nobody asked who owns the AWS root account.” That one sentence captures most of what goes wrong in offshore hiring decisions. It’s rarely […]

Reducing Loan Processing Time Through Workflow Automation: What Actually Works in BFSI

Every NBFC and fintech lender we’ve worked with at Speqto Technologies starts with the same complaint: loan files are stuck somewhere between “submitted” and “disbursed,” and nobody can say exactly where or why. Not because the team is slow, but because the process is scattered across emails, PDFs, spreadsheets, and three different logins that don’t […]

How to Plan a Phased ERP or CRM Implementation Without Breaking Your Business

Every NBFC or fintech CTO we’ve worked with at Speqto has asked some version of the same question: “Can we just go live in one shot?” The honest answer is almost always no. We’ve seen a mid-sized housing finance company try a big-bang CRM rollout across 40 branches in one weekend, and by Monday morning, […]

Why Microservices Architecture Reduces Long-Term Maintenance Cost (And What BFSI Leaders Should Know Before Migrating)

A few months back, we sat down with the CTO of a mid-sized NBFC who was paying nearly ₹40 lakhs a year just to keep their loan origination system running. Not building new features. Not scaling. Just keeping the lights on. That conversation is the reason this post exists. At Speqto Technologies, we’ve rebuilt enough […]

POPULAR TAG

POPULAR CATEGORIES