Custom billing meters
Define the value unit that fits your product, including generated documents, searches, audio minutes, and agent actions.
UsageTap Meter
Instrument the product once. Apply customer allowances and limits, forecast what happens next, expose usage inside your application, and synchronize validated events with Stripe.
Your usage flow
UsageTap owns usage data and policy. Your provider keeps owning subscriptions, invoices, and payments.
Instrument the product lifecycle once.
Change plans and controls from operations.
Give teams and customers the same truth.
Product walkthrough
UsageTap connects the operator view, customer usage experience, forecasts, and plan controls. Walk through the product before exploring each capability below.

Know what happened
Capture the product events that drive customer value and variable cost, with enough context to understand who used what.

Decide what happens next
Apply plan and customer policy before high-cost usage becomes a margin problem or an unpleasant billing surprise.

Forecast usage
Understand where usage and spend are heading while customer teams, operators, and customers still have time to act.

Connect usage to commerce
Pass trusted usage into the systems that own subscriptions and payments while UsageTap remains focused on usage data and policy.

Infrastructure and extensibility
UsageTap gives product teams a focused operating surface without closing off the billing, observability, and internal systems that already run the business.
Define the value unit that fits your product, including generated documents, searches, audio minutes, and agent actions.
Stream calls, tokens, latency, and cost to OTLP-compatible tools including Datadog, Grafana, and New Relic.
Send validated meter events and keep UsageTap customer plans aligned with the subscriptions Stripe already owns.
Integrate with the TypeScript SDK or plain HTTP, then deliver usage and policy events to internal systems through webhooks.
Simple integration
Wrap your OpenAI, Anthropic, or OpenRouter client. Your existing provider calls stay the same while UsageTap handles metering around them.
Read the SDK reference →import OpenAI from "openai";
import { withMetering } from "@usagetap/sdk/openai";
// Every existing OpenAI call below stays the same.
const openai = withMetering(new OpenAI(), "cust_123");
const response = await openai.responses.create({
model: "gpt-5.5-mini",
input: "Generate the document",
});A separate product for input cost
UsageTap Compress is purpose-built for prompt efficiency and production evaluation. It complements Meter without blending two different buying journeys.
Usage data and policy, connected
Start with metering, then add controls, forecasting, customer visibility, and commerce synchronization when you need them.