API monetization platform for teams that sell an API
Keys, rate limits, quotas and Stripe usage billing for your API. Add the SDK to your server and requests never pass through us.
Step 1: Add the SDK to your API
A few lines of middleware. Keys and limits are checked in your process.
server.jsimport express from "express"; import { usageRail } from "@usagerail/node/express"; const app = express(); // Checks the API key, rate limit and quota app.use(usageRail({ appKey: process.env.USAGERAIL_APP_KEY, auth: "api-key", })); app.post("/v1/verify", verifyEmail);Step 2: Customers create their own keys
In a portal on your domain, with your plans and your branding.
developers.mailcheck.dev/keysAPI keys
Create keyProductionCreated just nowmck_live_k7Gx2PqA4vR9tLwQe2ZsXb7nJc3MyHd8KfP1aUo629139iCopyShown once. Copy it now.
Pro plan, this month78,214 of 100,000Step 3: Usage is billed through your Stripe
Once per period, with the included requests already applied.
Mailcheck API
Invoice MCK-0042Oct 1 to Nov 1, 2026
- Pro plan
- $29.00
- Pro usage128,400 requests, first 100,000 included
- $14.20
- Total
- $43.20
Charged to the card on file by Stripe
Example plan: $29 a month with 100,000 requests included, then $0.50 per 1,000.
Everything between a request and an invoice
One SDK and one dashboard, in the order a request meets them.
Before the request runs
- API keys
- Your customers create, rotate and revoke keys. The SDK checks them inside your process.
- Rate limits
- Per customer, per second and per minute. Over the limit gets a 429 with Retry-After.
- Quotas
- Per plan: bill the overage, stop at the limit, or draw down prepaid credits.
After it runs
- Metering
- Counts per customer and endpoint, in requests or your own unit, such as tokens.
- Analytics
- Usage by customer, endpoint and outcome (2xx, 4xx, 5xx), next to quotas and billing.
At billing time
- Plans and checkout
- Prices are created on your Stripe account. Customers pay with Stripe Checkout.
- Usage invoices
- Usage goes onto each customer's Stripe invoice at the end of the period.
- Prepaid credits
- Sell credit packs. Balances, expiry and refunds are tracked for you.
For your customers
- Hosted portal
- Sign-up, keys, usage, plan changes and credits, on your own domain.
- Embeds
- A pricing table for your website and a usage widget for your dashboard.
Your requests never pass through us
There is no gateway in front of your API. The SDK makes its decisions in your server and sends us totals, which is also why we can price by plan instead of by request.
Checks happen in your process
The SDK keeps a synced copy of your keys and limits. Our target is under 1 ms added per request at p99; we'll publish the benchmark before launch.
We receive per-minute totals
Every 60 seconds the SDK sends counts per customer and endpoint. Request and response bodies stay on your server.
Stripe gets one event per customer per period
Two hours after a billing period ends, the total goes to your Stripe account, and we check the finalized invoice against our own count.
Writing your API in Go, PHP, Ruby or another language? Your server can call our HTTP check endpoint instead. That adds one network call per request.
Your customer
Calls your API with their key
Your API server, with the UsageRail SDK
Key valid, under the rate limit, quota left: the request runs
UsageRail
Counts, quotas, plans, portal, reconciliation
Your Stripe account
Invoices your customer and collects payment
Free until you bill $1,000 a month through it
No revenue share. Stripe's own fees go to Stripe, as they would anyway.
| Plan | Per month | Billed through UsageRail | Metered requests |
|---|---|---|---|
| Free | $0 | Up to $1,000 | 1M |
| Starter | $29 | No limit | 2M |
| Growth | $79 | No limit | 10M |
| Scale | $199 | No limit | 50M |
When UsageRail is the wrong choice
We'd rather you pick the right tool than churn in a month. These are the cases where something else fits better.
You need gateway features such as caching, request rewriting or a firewall.
Zuplo or Kong do that. UsageRail has no gateway.
You want someone else to collect and remit sales tax.
A merchant of record such as Polar handles that. With us, the money and the tax stay with your Stripe account.
You want a marketplace to bring you customers.
RapidAPI does, and takes 25% of revenue for it. We don't bring traffic.
You write TypeScript and don't mind wiring a few open-source pieces together.
Their free tiers can cover keys, limits and billing for $0 in software. You'd build the customer portal yourself.
Guides and tools
Guides
- API monetizationPricing models and how to start charging
- Usage-based pricingPer request, tiers, credits and hybrid plans
- Usage-based billingWhat to meter and how Stripe invoices it
- Metered billingIncluded units, overage and period-end reporting
- Stripe usage-based billingStep-by-step setup with Node and Python
- API rate limitingAlgorithms, 429 headers and working code
Tools
Try it on your API
Sign up with your email; the free plan needs no card. API keys, rate limits, quotas, usage and the customer portal work today. Billing through your Stripe account comes next.