Know exactly who's calling your API — and how much.
UsageWatch counts every request your API receives, breaks it down by developer, client app and endpoint, and enforces monthly quotas automatically — so you stop finding out about abuse from your hosting bill.
// Program.cs — drop-in middleware builder.Services.AddUsageWatch(options => { options.ApiKey = "uw_live_••••••••••••"; options.IngestBaseUrl = "https://usagewatch.yourdomain.com"; }); app.UseUsageWatch(); // that's it — every request is now tracked // ...or call the REST endpoint from any language POST /api/ingest/usage X-Api-Key: uw_live_•••••••••••• { "endpoint": "/v1/orders", "method": "POST", "statusCode": 201, "responseTimeMs": 84 }
Everything you need to stay ahead of usage, not behind it
Two ways to track
Drop in the ASP.NET Core middleware for automatic, zero-code tracking, or POST straight to the REST endpoint from any stack.
Per-client breakdowns
Issue a separate API key per developer or customer and see exactly who's driving your traffic — and your bill.
Real quota enforcement
Set a monthly call limit per project. Warn softly, or return a hard HTTP 429 the moment a client goes over.
Live dashboard
Daily call trends, top endpoints, error rates and response times — all queried straight from Postgres, no separate analytics stack.
Scoped, revocable keys
Every key is hashed at rest and shown once. Revoke a compromised or offboarded client's key in one click.
Your data, your Postgres
Self-host on your own PostgreSQL instance. No vendor lock-in, no usage data leaving your infrastructure.
Three steps, five minutes
Create a project
Register your API as a project and pick a plan — Free, Pro or Business.
Issue keys per client
Add each developer or customer as a client app, then generate a key for them.
Watch the dashboard
Install the middleware or call the REST endpoint — usage shows up in real time.
Stop guessing who's using your API
Free forever for small projects. Upgrade only when your traffic does.
Create your free account