> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blobrouter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Express

> Node Express example using @blobrouter/sdk with multer.

<Info>
  **BlobRouter v0.1** · Last updated: August 2026 · Architecture version: **2.0**
</Info>

```bash theme={null}
npm install express multer @blobrouter/sdk
```

```javascript theme={null}
import express from "express";
import multer from "multer";
import { BlobRouter, BlobRouterError } from "@blobrouter/sdk";

const upload = multer({ storage: multer.memoryStorage() });
const storage = new BlobRouter({
  apiKey: process.env.BLOBROUTER_API_KEY,
});

const app = express();

app.post("/upload", upload.single("file"), async (req, res) => {
  try {
    if (!req.file) {
      return res.status(400).json({ error: "file required" });
    }

    const result = await storage.upload(req.file.buffer, {
      fileName: req.file.originalname,
      contentType: req.file.mimetype,
      fileSizeBytes: req.file.size,
      priority: "cold",
    });

    res.json(result);
  } catch (err) {
    if (err instanceof BlobRouterError) {
      return res.status(err.statusCode ?? 500).json({
        error: err.message,
        code: err.code,
      });
    }
    throw err;
  }
});

app.listen(3000);
```
