Error tracking, minus the agent

Catch every error.
Ship without fear.

Metricly is a hosted Sentry alternative that captures every exception over a single HTTP call — then groups, ranks, and triages them in a console your whole team can read. No SDK. No agent.

No SDK to installAny language or runtimeLive in 5 minutes
getmetricly.tech/acme/checkout-api/issues
checkout-api · IssuesLast 14 days
Unresolved
147
Events 24h
38.2k
Users
1,204
p50 ingest
4ms

Exception volume · events / day

error
TypeError: Cannot read properties of undefined
createOrder · checkout.ts:42
318
fatal
Timed out fetching a connection from the pool
query · db.ts:88
47
warning
Deprecated endpoint /v1/users called
router · api.ts:21
204
The problem

Production breaks in a thousand ways. Your tooling shouldn't.

Legacy error tools ship a heavy SDK, drown you in duplicate alerts, and bill like an APM. Metricly takes one HTTP request, collapses the noise into a single ranked issue, and gets out of your way.

Before

TypeError: Cannot read 'id' — checkout.ts:42
TypeError: Cannot read 'id' — checkout.ts:42
TypeError: Cannot read 'id' — checkout.ts:42

After

Error318×

1 grouped issue · 41 users affected

Features

Everything you need to triage production

The signal of a heavyweight APM — without the weight, or the bill.

No SDK to ship

One authenticated POST to /api/ingest. Works anywhere HTTP works — no agent, no instrumentation, no version lock-in.

Smart grouping

Fingerprinting by exception type and stack signature collapses thousands of occurrences into one actionable issue.

Resolve & regress

Mark issues resolved or ignored. If a resolved issue fires again, Metricly reopens it and flags the regression automatically.

Users affected

Attach a user to each event and track distinct impacted people — prioritize by blast radius, not raw volume.

Full event context

Stack traces, tags, releases, environments, request URLs and arbitrary extra data — captured verbatim.

Scoped team access

Invite your whole team with role-based access. Admins control billing and settings; members triage and resolve issues.

The integration

One request in. One grouped issue out.

Send a JSON event from anywhere. Metricly fingerprints, groups, and ranks it — with full context attached.

report-error.shcURL
# one authenticated POST — that is the whole SDK
curl -X POST https://getmetricly.tech/api/ingest \
  -H "X-Metricly-Key: mtr_live_8f2c…" \
  -d '{
    "level": "error",
    "exception": {
      "type":  "TypeError",
      "value": "Cannot read 'id' of undefined"
    },
    "environment": "production",
    "user": { "id": "u_8123" }
  }'
checkout-api · issuegrouped
Errorproductionweb@1.4.2

TypeError: Cannot read 'id' of undefined

createOrder · checkout.ts:42

at createOrder (checkout.ts:42:18) at handleSubmit (form.ts:19:7) at onClick (Button.tsx:7:3)
Events
318
Users affected
41
First seen
3d ago
Last seen
12s ago
Works anywhere

If it speaks HTTP, it speaks Metricly

No per-language SDK to keep in sync. The same JSON payload works from every runtime, edge function, and shell.

Node.js
Python
Go
Rust
Ruby
PHP
Java
.NET
Elixir
Vercel
Cloudflare
cURL
Pricing

Top up. Pay as you go.

Prepaid, usage-based pricing — top up your account with credit and we draw it down as events arrive. No subscription, no minimums. When your balance runs out you drop back to the free tier until you top up again.

Pay as you go

For everyone, from side projects to scale.

$0.50/ GB ingested
+ $0.25/ 1,000 operations

Drawn from your prepaid balance. Free tier, no balance needed: 50 new + 500 duplicate events/day · 500 MB/mo.

  • Free tier: 50 new + 500 duplicate events/day · 500 MB/mo
  • Top up any amount — usage draws down your balance
  • Run out of credit? You drop to the free tier, never a surprise bill
  • Unlimited projects · 1 team seat free, then $0.25 each (max 20)
  • Full retention & smart grouping · automatic regression detection
  • No SDK — one authenticated POST · no subscription
For students
Hack Club students

Verified students build for free.

$5/ month free credit

Everything in pay as you go, plus $5/mo of usage on us, on top of the free tier.

  • Free tier + $5/mo usage credit, auto-refreshed monthly
  • Verify once with Hack Club
  • Credit applies on top of the free tier
  • No card required to start

Prepaid top-ups via Stripe · usage drawn from your balance · no subscription

FAQ

Frequently asked questions

Do I really not need an SDK?

Correct. You send a single authenticated POST to /api/ingest with a JSON body. Any HTTP client works — fetch, curl, axios, http.client. If it can make an HTTPS request, it can talk to Metricly.

Which languages and runtimes are supported?

Every one. Ingestion is plain HTTPS + JSON, so Node, Python, Go, Ruby, Rust, Java, PHP, Elixir, and edge functions on Vercel, Cloudflare, and Deno are all first-class — as is a shell script with curl.

How does grouping work?

Events are fingerprinted by exception type and a normalized stack signature. Vendored frames and dynamic paths are stripped before hashing, so the same bug collapses into one issue across environments.

Is my data isolated from other tenants?

Yes. Every query and response is scoped to your active organization, enforced at the auth layer. A token for one org can never read or write another org's data.

How does billing and usage work?

Metricly is prepaid, top-up pay-as-you-go. Start on the free tier — 50 new and 500 duplicate events per day, plus 500 MB of data per month. To go beyond it, top up your account with usage credit (securely via Stripe); we draw it down as events arrive — $0.50 per GB of data and $0.25 per 1,000 operations (each ingest POST counts as one). When your balance runs out you simply drop back to the free tier until you top up again — no surprise invoice, no subscription. Verified Hack Club students get $5/month of usage credit.

Catch your next exception today

Create a project, copy your ingest key, and fire your first event. Free to start — no credit card, no infrastructure to babysit.