What you’ll build
A Hono app with rate-limited endpoints. Users who exceed the limit get a 429 response. Time to complete: ~5 minutesPrerequisites
- Unkey account (free)
- Root key with
ratelimit.*.limitpermission - Node.js 18+ or Bun
1
Create a Hono app
2
Install the SDK
3
Add your root key
Create a
.env file:.env
4
Add rate limiting
Update
src/index.ts:src/index.ts
5
Run your app
6
Test it
What’s in the response?
limiter.limit() returns:
Using as middleware
Create reusable middleware for cleaner code:src/middleware/ratelimit.ts
src/index.ts
Different limits per route group
Deploying to Cloudflare Workers
For Cloudflare Workers, access env through the context:Next steps
How it works
Understand the architecture
Per-user overrides
Give specific users higher limits
SDK Reference
All configuration options
Add API key auth
Combine with API key authentication
Troubleshooting
Rate limit not applying?
Rate limit not applying?
- Verify
UNKEY_ROOT_KEYis set correctly - For Workers: usec.env.UNKEY_ROOT_KEY, notprocess.env- Check your root key hasratelimit.*.limitpermission
Environment not loading locally?
Environment not loading locally?
- For Node.js: Install
dotenvand addimport 'dotenv/config'- For Bun:.envloads automatically - Restart the dev server after changes