Skip to main content

Documentation Index

Fetch the complete documentation index at: https://unkey.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Ship APIs, not infrastructure. Push a Dockerfile, get a production API. Unkey builds the image, runs it across your chosen regions, and routes every request through Sentinel for API key authentication, rate limiting, and IP rules before it hits your code. Domains, rollbacks, and analytics are handled. You write the application; we run it.

Deploy

Push to GitHub or run unkey deploy. Multi-region, instant rollbacks, automatic domains, preview environments.

Sentinel

API key authentication, rate limiting, and IP policies running in front of your app. No middleware to write.

API keys

Issue, verify, revoke. Usage limits, expiration, metadata, identities. Use standalone or attached to a deployment.

Analytics

Who’s using your API, how much, when. Built in, queryable, no pipeline to build.

Why Unkey?

Shipping an API used to mean stitching together a runtime, a CDN, a key store, a Redis for rate limits, an analytics pipeline, and the auth middleware to glue them. Unkey is one platform that runs all of it on servers we operate, so you can focus on the actual API.
Without UnkeyWith Unkey
Provision servers, configure load balancers, manage TLSgit push or unkey deploy
Build key storage, hashing, rotation, revocationAttached to your app or called via SDK
Stand up Redis for rate limitingunkey.ratelimit.limit()
Wire up usage tracking and dashboardsBuilt-in analytics
Unkey never stores API keys in plain text. Keys are SHA-256 hashed before storage, so even if our database were compromised your keys stay safe.

What can you build?

Connect a GitHub repository or run unkey deploy. Unkey builds your image, runs it across your chosen regions, and assigns domains automatically. Every push to your default branch goes to production; every other branch gets a preview environment.
unkey deploy ghcr.io/acme/payments-api:v1.2.3 \
  --project payments \
  --root-key $UNKEY_ROOT_KEY
Sentinel sits in front of your deployment and enforces API key checks, rate limits, and IP rules. No SDK call required from inside your app: invalid requests are rejected before they reach your code.
// Inside your app, the request is already authenticated.
// Identity and quota info arrive on request headers.
const userId = req.headers["x-unkey-identity"];
Issue keys with prefixes, expiration, usage credits, rate limits, and arbitrary metadata. Verify them with one SDK call, attached to a deployment or standalone.
const { meta, data } = await unkey.keys.verifyKey({ key: "sk_..." });
if (!data.valid) return new Response("Unauthorized", { status: 401 });
Per-user, per-IP, per-endpoint, per-anything. Globally distributed, no Redis, attached to a key or completely standalone.
const { success } = await unkey.ratelimit.limit({
  namespace: "api.requests",
  identifier: userId,
  limit: 100,
  duration: 60_000,
});
if (!success) return new Response("Too many requests", { status: 429 });
Issue keys with monthly credits and automatic refills. Verification consumes credits, so usage-based pricing is one config object away.
const { meta, data } = await unkey.keys.createKey({
  apiId: "api_...",
  credits: {
    remaining: 10000,
    refill: { interval: "monthly", amount: 10000 }
  }
});

Get started

Deploy your first app

Connect a GitHub repository (or push a Docker image) and have a live URL in minutes.

Issue your first API key

Create an API, generate a key, and verify it with curl or your favorite SDK.

Framework guides

Step-by-step recipes for Next.js, Bun, Express, Hono, FastAPI, Go.

Cookbook

Ready-to-copy patterns: per-user limits, tiered subscriptions, usage billing.

Choose your path

I want to ship an API

Deploy from GitHub or CLI. Multi-region, rollbacks, preview environments, Sentinel in front.

I just need API keys or rate limits

Use the SDK directly from any backend, no deployment required.

I'm migrating from another solution

Bring existing keys over without disrupting your users.

I want both

Start by deploying. Add API key auth and rate limits as policies on the deployment.

Join the community

Questions, ideas, or just want to talk to other API builders?

Discord

Chat with the team and community

GitHub

Star us, file issues, contribute

Twitter / X

Follow for updates
Last modified on May 6, 2026