API Keys
Issue, verify, and revoke keys with metadata, expiration, and usage limits built in.
Rate Limiting
Protect any endpoint from abuse — standalone or attached to API keys.
Usage Tracking
Know who’s using your API, how much, and when — with analytics out of the box.
Why Unkey?
Building API infrastructure from scratch means managing databases, Redis clusters, edge caching, and analytics pipelines. Unkey handles all of that so you can focus on your actual product.| DIY Approach | With Unkey |
|---|---|
| Set up key storage, hashing, rotation | unkey.keys.create() |
| Deploy Redis for rate limiting | unkey.ratelimit.limit() |
| Build usage tracking & dashboards | Built-in analytics |
| Manage infrastructure globally | Globally distributed |
Unkey never stores your API keys in plain text. We hash them before storage, so even if our database were compromised, your keys stay safe.
What can you build?
Protect a public API
Protect a public API
Issue API keys to your users, verify them on every request, and automatically reject invalid or expired keys.
Rate limit anything
Rate limit anything
Limit requests per user, per IP, per endpoint — or any identifier you choose. No Redis required.
Usage-based billing
Usage-based billing
Track API usage per customer with credit limits and automatic refills. Perfect for tiered pricing.
Multi-tenant rate limits
Multi-tenant rate limits
Use Identities to group keys under users or organizations, sharing rate limits across all their keys.
Get started
Quickstart
Create your first API and verify a key in under 5 minutes.
Framework guides
Step-by-step guides for Next.js, Bun, Express, Hono, and more.
Choose your path
I need API key authentication
Issue keys to users, verify on requests, track usage per key.
I need rate limiting
Protect endpoints from abuse without managing Redis infrastructure.
I need both
Start with API keys — rate limiting can be added per-key or standalone.
I'm migrating from another solution
Bring existing keys to Unkey without disrupting your users.

