# @lidofinance/next-ip-rate-limit

> IP rate limit for next server api requests

Latest version **0.64.0** (published 2026-09-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install @lidofinance/next-ip-rate-limit
pnpm add @lidofinance/next-ip-rate-limit
yarn add @lidofinance/next-ip-rate-limit
bun add @lidofinance/next-ip-rate-limit
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.64.0 |
| Published | 2026-09-01 |
| First published | 2022-12-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >= 16 |
| Dependencies | 1 |
| Unpacked size | 33.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | lidofinance-group, lidofinance-ui |

## Links

- npm: https://www.npmjs.com/package/@lidofinance/next-ip-rate-limit
- Repository: https://github.com/lidofinance/warehouse
- Homepage: https://github.com/lidofinance/warehouse/tree/main/packages/next/ip-rate-limit
- Issues: https://github.com/lidofinance/warehouse/issues
- npm.io page: https://npm.io/package/@lidofinance/next-ip-rate-limit

## Dependencies (1)

- [@lidofinance/next-api-wrapper](https://npm.io/package/@lidofinance/next-api-wrapper.md) *

## Recent versions

- 0.64.0 (latest) — 2026-09-01
- 0.63.1 — 2026-08-25
- 0.63.0 — 2026-08-12
- 0.62.0 — 2026-08-05
- 0.61.0 — 2026-07-22
- 0.60.0 — 2026-07-15
- 0.59.0 — 2026-05-05
- 0.58.0 — 2026-03-31
- 0.57.0 — 2026-03-27
- 0.56.0 — 2025-10-22
- 0.55.0 — 2025-10-20
- 0.54.1 — 2025-08-20
- 0.54.0 — 2025-08-20
- 0.52.0 — 2025-07-10
- 0.51.0 — 2025-03-06
- … 44 more at https://npm.io/package/@lidofinance/next-ip-rate-limit/versions

## README

# @lidofinance/next-ip-rate-limit

IP rate limit for next server api requests.

## Installation

`yarn add @lidofinance/next-ip-rate-limit`.

## Getting started

### With Next.js API

```ts
import { ipRateLimit } from '@lidofinance/next-ip-rate-limit'
import { NextApiRequest, NextApiResponse } from 'next'

// env vars
const RATE_LIMIT = 60
const RATE_LIMIT_TIME_FRAME = 60 // 1 min

const someRequest = async (req, res) => {
  ipRateLimit({
    req,
    res,
    limit: RATE_LIMIT,
    timeFrame: RATE_LIMIT_TIME_FRAME,
  })

  await fetch()
}

export default someRequest
```

### With @lidofinance/next-api-wrapper

```ts
import { wrapRequest, API } from '@lidofinance/next-api-wrapper'
import { ipRateLimit, rateLimitWrapper } from '@lidofinance/next-ip-rate-limit'

const someRequest: API = async (req, res) => await fetch()

export const rateLimit = rateLimitWrapper({ rateLimit: RATE_LIMIT, rateLimitTimeFrame: RATE_LIMIT_TIME_FRAME })

export default wrapRequest([rateLimit, someWrapper])(someRequest)
```

---
_Source: https://npm.io/package/@lidofinance/next-ip-rate-limit · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
