Alarum
bug_report Errors

Application errors, in one timeline

A no-friction error inbox. Pipe exceptions, 500s and background-job failures from any language to a single timeline. Sentry-lite for small teams.

error

The problem

Sentry is the gold standard, until your project doesn't justify its pricing. Self-hosting Sentry is great, until you don't want to operate Postgres + Redis + Snuba + Clickhouse. You end up writing your own try/except + email loop, and missing half the errors.

check_circle

How Alarum solves it

POST the exception, level, message and stack to Alarum. Filter by service tag, route critical to push, forward the rest to your team channel. You get the 80% of error-tracking value with 5% of the operational overhead.

Integrate in one line

POST the exception and stack from any language. Below: Python. Replace <YOUR_TOKEN> with an ingestion token from your project, then send.

import requests, traceback, socket

ALARUM_TOKEN = "<YOUR_TOKEN>"

def report_exception(exc: Exception, level: str = "error", source: str | None = None):
    requests.post(
        "https://alarum.me/h",
        headers={"Authorization": f"Bearer {ALARUM_TOKEN}"},
        json={
            "level": level,
            "title": f"{type(exc).__name__}: {exc}",
            "message": traceback.format_exc()[-1800:],
            "source": source or socket.gethostname(),
            "tags": ["python", "exception"],
        },
        timeout=2,
    )

try:
    do_the_work()
except Exception as e:
    report_exception(e, level="critical", source="api-worker")
    raise

Why teams pick Alarum for this

language

Any language, any framework

A single POST. Works from Python, Node, Go, PHP, Ruby, Rust, shell. No SDK to keep up to date.

route

Per-level routing

Errors push immediately; warns batch into your inbox; info stays out of sight until you search.

search

Full-text search across stacks

Find every occurrence of an exception type, a stack frame or a service name in seconds.

forum

Forward to on-call

Pipe critical exceptions to a Discord on-call channel while keeping the long tail in Alarum.

tag

Tag by service & env

tags=["service:api", "env:prod"] makes filtering trivial when something explodes across multiple repos.

savings

Flat predictable pricing

No per-seat fees, no per-exception tax. A free tier you can actually ship to production, paid plans priced for indie budgets.

Why not just use X?

Sentry is unbeatable at scale and at funded-startup pricing. Alarum is the right fit when you just need to know when something breaks without paying per-seat, and you don't need source maps or distributed tracing.

Try it free, no card

Sign in with GitHub or Codeberg. First event in under five minutes.

Get started