Your usage, on your GitHub profile. Pick a card. Copy. Done.
Only public usage is shared. Privacy settings ↗
Sign in or look up a public handle.
Paste into README.md in your public username/username GitHub repository. Or let your agent do it.
Sign in or enter a public handle to get your snippet.
Build a widget, track a trend, or export your usage.
No key needed. Same numbers as your card.
{
"schemaVersion": 1,
"handle": "YOUR-HANDLE",
"period": "today",
"totals": {
"tokens": 3600000
},
"freshness": "fresh",
"lastSyncedAt": "2026-08-30T11:55:00Z"
}Response excerpt · sample dataBrowser-friendly JSON. Poll at most once per minute.
Read your private usage with a revocable key. Store it server-side, never in your README.
Sign in to manage API keysRead-only · Expires in 1 year · Up to 5 keys · Includes pending-review usage
period: today, week, 7d, 30d (API default), year, or all. Week starts Monday; year starts January 1. Windows include today in the account’s last reported timezone. from is null for all time; to and timezoneOffsetMinutes describe the window. daily contains the last 30 days for all-time responses. Summary history is capped at 50,000 stored rows; coverage: limited-history signals that limit. Use authenticated entry pagination for full exports.
totals.tokens includes input, output, cache creation and cache reads. costUSD estimates API value, not your subscription bill. Public summaries exclude pending-review days. Owner access includes them. generatedAt is response time; lastSyncedAt is data freshness. More than 24 hours without sync is stale; no sync is never.
Errors: 400 invalid options, 401 invalid/expired/revoked key, 404 unavailable public profile, 429 rate limit, 503 temporary outage. Authenticated responses are never shared-cacheable. Entry pagination is a live read: for a consistent export, run while sync is paused, then restart your sync.
Your normal background sync sends usage about every 15 minutes while your machine is running. The image reads your latest saved data whenever requested. GitHub caches images separately, so updates are not instant. You never need to recommit your README to update the numbers.
Your saved totals stay visible. Larger cards show the last sync date and switch to ‘Sync paused’ after 24 hours. A rolling window can decrease as old activity leaves it. Run npx whoburnedmore@latest to resume syncing.
Cards require both a public profile and leaderboard visibility. If you turn either off, delete your account, or your profile becomes unavailable, new image requests return a neutral card without numbers. Previously cached images and screenshots on other services cannot be recalled instantly.
No. Cards show aggregate usage only. The optional personal API key is read-only, belongs only in a private server environment, and must never be put in an image URL, public repository, or browser app.
Estimated API value measures tokens at model API prices. Subscription plans, credits, caching and provider accounting can make your actual payment very different. Numbers reflect the usage successfully synced to whoburnedmore.