How to Build a Node.js/Express REST API in 5 Minutes with AI
Why This Matters Most developers still spin up new Express servers by copy-pasting boilerplate or running express-generator, but more than 80% now use some form of AI coding tool weekly - and they expect instant solutions that work out of the box and get them up and running in minutes. With the steps below you will have a working REST API in under five minutes, combining a minimal Express.js core with an AI agent to generate the repetitive parts. Prerequisites Node.js ≥ 20 installed (check with node -v) pnpm or npm for packages An AI coding agent (e.g. Line0, Cursor) Step 1 - Set up the project (1 min) mkdir todo-api && cd todo-api pnpm init -y pnpm add express pnpm add -D @types/express @types/node ts-node tsup typescript express is a lightweight web framework that makes routing and middleware straightforward. Step 2 - Generate your first route with AI (1 min) Open your AI tool and paste a prompt such as: "Create a minimal Express REST API with routes for GET /status and POST /echo. Return JSON responses." The agent will generate a file similar to this: // src/server.ts import express from "express"; const PORT = process.env.PORT || 3000; const app = express(); app.use(express.json()); // A quick endpoint example app.get('/status', (_req, res) => res.json({ ok: true })); app.post('/echo', (req, res) => res.json(req.body)); app.listen(PORT, () => console.log(`API listening on port ${PORT}`)); Under the hood this is identical to the canonical “hello-world” Express example. Step 3 - Add your first endpoints (1 min) Type the following prompt in your AI coding tool: "Add a /tasks resource with full CRUD endpoints using Express Router; include in-memory storage." The coding agent should now generate a new router file src/routes/tasks.ts with .get, .post, .put, and .delete handlers and placeholders for all your business logic. The src/server.ts file should also be updated with the new /task router. Step 4 - Update package.json run scripts (1 min) To bundle the project's TS files we can use tsup which offers a lightweight way to bundle your packages and run your service. Add the following scripts to package.json: "scripts": { "dev:local": "tsup --watch --onSuccess 'npm run local:serve'", "local:serve": "pkill -f 'node dist/server.js'; node dist/server.js &", } Here dev:local bundles the project files and runs in --watch mode which handles hot reloading. On each change we need to restart the service so we run local:serve to kill the process and start it again. This is a simpler and cleaner implementation instead of configuring nodemon for your TS express.js apps. Step 5 - Run & test (1 min) You can use tools like Postman or curl to test your new endpoints: pnpm run dev:local # start the server curl http://localhost:3000/status You should see { "ok": true } as a response. Optional: One prompt generation You can use a tool like Line0 which is an AI pair programmer and handles the full project setup, basic boilerplate, package.json configuration and implements the logic end to end with 0 coding required. Use a simple prompt like: "Build a TODO api service with CRUD endpoints for tasks as well as a /status health check endpoint." It will set up everything for you in a few seconds and give you a fully working service you can build on. You can then ask it for more complex business logic, database integrations, implementation of 3rd party APIs and so on. FAQ Q: How safe is AI-generated code? A: Treat it like any other template-review logic, add validation, and write tests. The GitHub CEO recently noted that true productivity comes from switching fluidly between AI output and manual edits, not blind copy-paste. Q: What if I only have two minutes? Use Line0's backend pair programmer to get up and running in seconds.

Why This Matters
Most developers still spin up new Express servers by copy-pasting boilerplate or running express-generator
, but more than 80% now use some form of AI coding tool weekly - and they expect instant solutions that work out of the box and get them up and running in minutes.
With the steps below you will have a working REST API in under five minutes, combining a minimal Express.js core with an AI agent to generate the repetitive parts.
Prerequisites
- Node.js ≥ 20 installed (check with
node -v
) -
pnpm
ornpm
for packages - An AI coding agent (e.g. Line0, Cursor)
Step 1 - Set up the project (1 min)
mkdir todo-api && cd todo-api
pnpm init -y
pnpm add express
pnpm add -D @types/express @types/node ts-node tsup typescript
express
is a lightweight web framework that makes routing and middleware straightforward.
Step 2 - Generate your first route with AI (1 min)
Open your AI tool and paste a prompt such as:
"Create a minimal Express REST API with routes for GET /status and POST /echo. Return JSON responses."
The agent will generate a file similar to this:
// src/server.ts
import express from "express";
const PORT = process.env.PORT || 3000;
const app = express();
app.use(express.json());
// A quick endpoint example
app.get('/status', (_req, res) => res.json({ ok: true }));
app.post('/echo', (req, res) => res.json(req.body));
app.listen(PORT, () =>
console.log(`API listening on port ${PORT}`));
Under the hood this is identical to the canonical “hello-world” Express example.
Step 3 - Add your first endpoints (1 min)
Type the following prompt in your AI coding tool:
"Add a /tasks resource with full CRUD endpoints using Express Router; include in-memory storage."
The coding agent should now generate a new router file src/routes/tasks.ts
with .get
, .post
, .put
, and .delete
handlers and placeholders for all your business logic.
The src/server.ts
file should also be updated with the new /task
router.
Step 4 - Update package.json run scripts (1 min)
To bundle the project's TS files we can use tsup
which offers a lightweight way to bundle your packages and run your service.
Add the following scripts to package.json
:
"scripts": {
"dev:local": "tsup --watch --onSuccess 'npm run local:serve'",
"local:serve": "pkill -f 'node dist/server.js'; node dist/server.js &",
}
Here dev:local
bundles the project files and runs in --watch
mode which handles hot reloading. On each change we need to restart the service so we run local:serve
to kill the process and start it again. This is a simpler and cleaner implementation instead of configuring nodemon
for your TS express.js apps.
Step 5 - Run & test (1 min)
You can use tools like Postman or curl
to test your new endpoints:
pnpm run dev:local # start the server
curl http://localhost:3000/status
You should see { "ok": true }
as a response.
Optional: One prompt generation
You can use a tool like Line0 which is an AI pair programmer and handles the full project setup, basic boilerplate, package.json
configuration and implements the logic end to end with 0 coding required.
Use a simple prompt like:
"Build a TODO api service with CRUD endpoints for tasks as well as a
/status
health check endpoint."
It will set up everything for you in a few seconds and give you a fully working service you can build on.
You can then ask it for more complex business logic, database integrations, implementation of 3rd party APIs and so on.
FAQ
Q: How safe is AI-generated code?
A: Treat it like any other template-review logic, add validation, and write tests. The GitHub CEO recently noted that true productivity comes from switching fluidly between AI output and manual edits, not blind copy-paste.
Q: What if I only have two minutes?
Use Line0's backend pair programmer to get up and running in seconds.