open source  ·  MIT

Your AI usage,
always in view.

AIMeter is a self-hosted dashboard that polls usage APIs across your AI subscriptions — quota, remaining, reset time — without any data leaving your server. SQLite, Postgres, MySQL, or D1. Runs anywhere.

AIMeter — dashboard
SQLite · Postgres · MySQL · D1 Docker · Vercel · Cloudflare Workers no telemetry  ·  credentials stay local
01 What it does
quota tracking Live progress bars per provider. Marks overquota when you've exceeded your limit. Shows a stale-data warning if the last fetch failed or is older than 3 minutes.
usage history Stores usage snapshots to your database over time. Charts plot consumption across the active billing window so you can see how fast you burn through quota.
self-hosted No third-party services, no accounts, no telemetry. Credentials stay in your environment variables or encrypted in your own database. Deploy once and forget.
multi-account Add multiple credential sets per provider. Cards are drag-reorderable. Useful if you have personal and work accounts on the same service.
REST API Every dashboard operation — list providers, trigger refresh, read history — is a JSON endpoint. Integrate with Raycast, Alfred, Slack bots, or status pages.
database SQLite for zero-config local use. Postgres or MySQL for production deployments. D1 for Cloudflare Workers edge deployments. Same schema and migrations across all four. Switch by changing one env var.
02 Supported providers
03 Screenshots click to expand
01Dashboard
02History
03API
04Settings
04 Install

Get running

Serves on :3000 by default. No build step required if you use Docker.

  • Docker — recommended
  • Vercel — serverless
  • Cloudflare Workers — edge
full documentation →
sh
# run with persistent SQLite volume
docker run -d \
  --name aimeter \
  -p 3000:3000 \
  -v aimeter-data:/app/data \
  ghcr.io/bugwz/aimeter:latest