Free plan: 5,000 events a month

For SaaS builders and small teams

Error tracking for every app you run. Nothing else.

ErrorHub is an API-first error tracking service for small software teams. Send errors from any stack to one endpoint; ErrorHub groups duplicates into issues, keeps every project in one inbox and alerts when an error is new or comes back. €9/month includes 10,000 events, excl. VAT.

Start free. No card, no SDK. Hosted in the EU.

Three apps. One endpoint. One inbox.

Simulated in your browser. Nothing is sent.

Issues All projects 149 events grouped into 3 issues
  1. open

    InvalidOperationException: Order 42 has no address new

    billing-api production 1.4.2 order {n} has no address

    100
  2. open

    TypeError: Cannot read properties of undefined (reading 'total')

    storefront production 2.9.0 CartSummary@cart.js

    37
  3. open

    TimeoutError: PDF render timed out regression

    pdf-worker production 0.8.3 pdf render timed out

    12

One bug, 100 occurrences, one issue. Send more, or resolve an issue and send again.

One endpoint for every stack

  • ASP.NET Core
  • Next.js
  • Node.js
  • Python
  • Django
  • FastAPI
  • Go
  • PHP
  • Laravel
  • Java
  • Spring Boot
  • Ruby on Rails
  • Rust
  • Browser apps
  • Serverless functions
  • Background workers
  • Cron jobs
  • cURL

Why ErrorHub

You asked what broke. You got an observability platform.

ErrorHub is an error tracking service with one job. It tells you what broke in production, and where. It collects error events over one HTTP API, groups duplicates into issues, and alerts you when something is new or comes back. It does not collect logs, traces, session replays or metrics.

ErrorHub compared with a typical observability suite
ErrorHub Typical observability suite
Data you send Error events Errors, traces, replays, logs, metrics and profiles
Quotas to watch One: error events One for each data type
How you integrate One HTTPS POST from any language A vendor SDK for each language and framework
Concepts to learn Project, issue, event Issues plus spans, traces, replays, profiles and sampling rules

How it works

From first request to first issue in four steps

There is no SDK to install. Your app sends one JSON document to one endpoint and ErrorHub does the rest. The goal is a first error in your inbox in under five minutes.

  1. Create a project

    Name it. ErrorHub gives you an endpoint, a secret server key and a public browser key that can only submit events.

  2. Send an error

    POST JSON to /api/v1/events with your key in the X-ErrorHub-Key header. Only the error itself is required.

  3. Open one issue

    Events with the same fingerprint roll up into one issue with its count, first and last seen, environment and release.

  4. Resolve it

    Mark the issue resolved. If the error returns, ErrorHub reopens the issue and alerts you.

curl -X POST https://errorhub.dev/api/v1/events \
  -H "Content-Type: application/json" \
  -H "X-ErrorHub-Key: $ERRORHUB_KEY" \
  -d '{
    "source": "backend",
    "level": "error",
    "environment": "production",
    "release": "1.4.2",
    "exceptionType": "InvalidOperationException",
    "exceptionMessage": "Order 42 has no address",
    "stackTrace": "at Billing.Checkout.Submit() in Checkout.cs:line 88"
  }'
Reply
HTTP/1.1 202 Accepted
{"id":"0199a3c2-6f1e-7b2a-9c41-5d8e2f0a7b13","status":"accepted"}

Or let your coding agent write it

Every project generates an install prompt. Paste it into Claude Code, Cursor or Codex inside your repository. The agent adds a small reporter in your language, reads the key from an environment variable and sends one test error to confirm the 202.

Add ErrorHub error reporting to this codebase. There is no SDK: report errors with one HTTP POST.

Endpoint: POST https://errorhub.dev/api/v1/events
Headers: Content-Type: application/json, X-ErrorHub-Key: <key>

Do this:
1. Add one small reporter module in the project's own language. Avoid new dependencies.
2. Report unhandled exceptions through the framework's global error hook.
3. Fire and forget with a ~3 second timeout. Reporting must never throw or block a request.
4. Never send passwords, cookies, Authorization headers, tokens, request bodies or query strings.
5. Fill environment and release from the app's existing configuration and version.
6. Trigger one test error, confirm ErrorHub replied 202, and list the files you changed.

Features

Everything between the exception and the fix

ErrorHub spends its whole feature list on one path: receive the error, group it, tell you, help you fix it, and notice if it comes back.

One inbox for every project

Create as many projects as you run. Issues from all of them land in one list that you can narrow by project, environment, release, level and source.

Duplicates collapse into one issue

ErrorHub strips ids, timestamps, URLs, paths and numbers before it fingerprints an error, so one bug stays one issue however many times it fires.

Regressions reopen themselves

Resolve an issue and move on. If the same error fires again, ErrorHub reopens the issue and sends a regression alert.

Alerts that stay quiet until it matters

Push notifications for new errors and regressions, on your phone or desktop. Warnings and repeats of a known error stay silent.

Secrets are scrubbed on the server

Passwords, tokens, cookies and connection strings are redacted in every payload. Query strings are dropped. Request bodies and headers are never part of an event.

A fix prompt for your coding agent

Every issue comes with a prompt you can paste into your coding agent. It carries the stack trace, request, release and context, marked as data so an error message cannot steer the agent.

Filter by release and environment

Every event records its release and environment. Filter the inbox by either one, search by title or exception type, and sort by last seen or by occurrences.

Pricing

One price list. No surprise bill.

ErrorHub is free for up to 5,000 events a month. The Indie plan costs €9 a month and includes 10,000 events, unlimited projects and unlimited users. Extra events cost €0.20 per started 1,000, and only if you turn pay-as-you-go on. Prices exclude VAT.

Free

€0

For side projects and small apps in production.

  • 5,000 events a month
  • Unlimited projects
  • 1 user
  • 7-day event history
  • No card required
Start free, no card

Scale

Volume pricing

For workloads above 100,000 events a month.

  • Event volume agreed with you
  • Unlimited projects
  • Unlimited users
  • Event history agreed with you
Talk to us

What would I pay?

Prices exclude VAT.

Plan: Indie

€9 per month

Hard limit: ErrorHub accepts the first 10,000 events and stops. 15,000 events are not stored. Your bill stays €9.

You choose what happens at the limit

  • Hard limit Default

    ErrorHub stops accepting events at your monthly limit. No extra spend.

  • Budget limit

    Events keep flowing until the extra budget you set is used up. Then ErrorHub stops.

  • Pay-as-you-go

    Every accepted event is stored and billed at €0.20 per started 1,000, up to 100,000 events a month. The most a month can cost is €27.

What is one event?
One valid error occurrence accepted by the API. An exception that fires 10,000 times is 10,000 events and one issue.
What is never billed?
Rejected, invalid and unauthenticated requests. Users, projects, dashboard views, searches and API reads.
What about VAT?
Prices exclude VAT. It is added at checkout at the rate of your country. EU businesses with a valid VAT number outside Bulgaria pay no VAT (reverse charge).

Data and privacy

We store less, so there is less to leak

An error report should help you fix a bug. It should not become a copy of your users' data. ErrorHub limits what an event can carry, scrubs the rest on the server, and keeps it in the EU.

  • Hosted in the EU

    ErrorHub stores your events and issues on servers of Hetzner Online GmbH in Germany, in the European Union.

  • No bodies, headers or query strings

    The event format has no field for request bodies or headers. Paths are cut at the first ? or #, because query strings carry tokens.

  • Secrets redacted

    Passwords, API keys, JWTs, bearer tokens, connection strings and private keys become [Redacted] in messages, stack traces, tags and context.

  • Short event history

    Events are deleted when their history window ends: 30 days on Indie, 7 on Free. Issue summaries and counts stay.

  • Server keys are hashed

    ErrorHub stores an HMAC of each secret server key, never the key, and shows it once. Browser keys are public by design and can only submit events.

  • Limits for bad days

    Rate limits apply per project key, so one looping app cannot starve another. Alerts are capped, so an error storm cannot flood your phone.

These controls support data minimization. They do not make your application compliant with any regulation by themselves. The details are in the Privacy Policy and the Data Processing Agreement.

FAQ

Questions developers ask first

What is ErrorHub?

ErrorHub is an API-first error tracking service for small software teams: any application that can send an HTTPS request reports errors to one endpoint, and ErrorHub groups duplicates into issues, keeps every project in one inbox and alerts when an error is new or comes back. It does not collect logs, traces, session replays or metrics.

Do I need to install an SDK?

No. ErrorHub has no SDK. Your code sends a JSON document to POST /api/v1/events with the project key in the X-ErrorHub-Key header. Each project also generates an install prompt, so a coding agent can write the reporter for you.

Which languages and frameworks does ErrorHub support?

Any language that can make an HTTPS request, including C#, JavaScript, TypeScript, Python, Go, PHP, Java and Ruby. Every event is grouped by exception type and normalized message. Stack-frame grouping is tuned for .NET and JavaScript traces today.

What counts as an event?

One valid error occurrence accepted by the API is one event. An exception that happens 10,000 times is 10,000 events and one issue. Invalid, rejected and unauthenticated requests do not count. Users, projects, searches and API reads are never metered.

What happens when I reach my monthly limit?

By default ErrorHub stops accepting events at the limit and your bill stays the same. You can instead set a budget for extra events, or turn on pay-as-you-go at €0.20 per started 1,000 events, up to 100,000 events a month.

Can I track several apps or client projects in one account?

Yes. Projects are unlimited on every plan. Each project has its own keys, and the issue inbox shows all projects together or one at a time.

Does ErrorHub do logs, tracing, session replay or uptime monitoring?

No, and that is deliberate. ErrorHub tracks application errors and nothing else, so there is one kind of data to send and one quota to understand.

How do alerts work?

ErrorHub sends a push notification to your phone or desktop browser when a new error appears or a resolved one returns. Warnings and repeats of a known error stay quiet. The notification opens the issue with a fix prompt ready to copy.

What data does ErrorHub store about my users?

Only what your reporter sends, after scrubbing. Events carry no request bodies, headers or cookies. Query strings are removed and secrets are redacted on the server. The user field holds an identifier you choose.

Where does ErrorHub store my data?

On servers of Hetzner Online GmbH in Germany, in the European Union. Events are deleted when their history window ends, which is 30 days on Indie and 7 days on Free. Issue summaries and counts stay, so you keep the history of each bug.

Do the prices include VAT?

No. Prices exclude VAT. VAT is added at checkout at the rate of your country. A business in another EU country that enters a valid VAT number is invoiced without VAT under the reverse charge rule. Payments are handled by Stripe.

Can I cancel, downgrade or delete my account myself?

Yes, in the dashboard, without writing to anyone. A cancelled plan runs to the end of the month you paid for and then becomes Free. Closing the account deletes its projects, errors, keys and users at once.

Who runs ErrorHub?

ErrorHub is built and run by Autrady EOOD, a software company in Varna, Bulgaria, registered under UIC 206828616. The Privacy Policy, the Terms of Service and the Data Processing Agreement are public.

How do I start?

Create a free account, create a project and send your first error. The Free plan needs no card and covers 5,000 events a month. Questions go to hello@errorhub.dev.

Start free

Put every app's errors in one inbox

Create a project, send one request and read your first issue. The Free plan covers 5,000 events a month and needs no card.

No sales call. No card. Questions first? Write to hello@errorhub.dev