Skip to content
UsageRail

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.

  1. Step 1: Add the SDK to your API

    A few lines of middleware. Keys and limits are checked in your process.

    server.js
    import 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);
  2. Step 2: Customers create their own keys

    In a portal on your domain, with your plans and your branding.

    developers.mailcheck.dev/keys

    API keys

    Create key
    ProductionCreated just now
    mck_live_k7Gx2PqA4vR9tLwQe2ZsXb7nJc3MyHd8KfP1aUo629139iCopy

    Shown once. Copy it now.

    Pro plan, this month78,214 of 100,000
  3. Step 3: Usage is billed through your Stripe

    Once per period, with the included requests already applied.

    Mailcheck API

    Invoice MCK-0042

    Oct 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

Direct to your server

Your API server, with the UsageRail SDK

Key valid, under the rate limit, quota left: the request runs

Per-minute totals, every 60 seconds

UsageRail

Counts, quotas, plans, portal, reconciliation

One usage event per customer per period

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.

PlanPer monthBilled through UsageRailMetered requests
Free$0Up to $1,0001M
Starter$29No limit2M
Growth$79No limit10M
Scale$199No limit50M

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.

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.