Error grouping
The same root error arriving 500 times with different user ids and line numbers becomes a single record. Normalisation weighs the message, the exception type and the first five stack frames together.
500 events → 1 issue
Six modules, one data model. Errors, logs, uptime, SSL and domains in the same dashboard and the same API, with no code changes to get started.
The same root error arriving 500 times with different user ids and line numbers becomes a single record. Normalisation weighs the message, the exception type and the first five stack frames together.
500 events → 1 issue
CLEF and OTLP compatible ingest. On Serilog only the server URL and the key change — no code change.
INF Order created {OrderId}=48213
WRN Payment provider slow 2.4 s
ERR Cart not found {UserId}=***
HTTP, TCP port, certificate chain and domain expiry. An incident never opens without confirmation from at least two locations, so a single location fault raises no false alarm.
99.98%
2/2 locations confirmed
Email, Slack, Discord and Telegram. Alerts fire when the threshold is met, so a one-off network blip stays silent — and recovery notices are automatic.
Everything the dashboard shows comes from the public API. Ready-made React components drop the issue list, uptime badge and SSL countdown into your own product.
GET /api/v1/projects/{id}/summary
{
"openIssues": 5,
"uptime24h": 99.98,
"sslDaysLeft": 61
}
Every end client is isolated in its own workspace. Brand colour and logo flow into the widgets automatically; your client never sees Errorbird.
Your agency
A secret and a publishable key pair are generated for you.
Change the Serilog sink URL or redirect your OTLP collector.
Enter a URL or a domain — no code change needed.
Log.Logger = new LoggerConfiguration()
.WriteTo.Seq(
serverUrl: "https://api.errorbird.com/api/v1/ingest",
apiKey: "ebrd_secret_…")
.CreateLogger();
Same sink. Only the address and the key change.
var summary = await errorbird.GetSummaryAsync(ct);
var issues = await errorbird.ListIssuesAsync(
new IssueListQuery(Limit: 10), ct);
return Results.Ok(new { summary, issues.Items });
Errorbird.Client (NuGet) and @errorbird/client (npm) read SDKs.
Anyone adding error tracking and uptime monitoring to their own project. One organisation, a few projects, minutes to set up.
For teams watching dozens of client sites and applications who want to present the data under their own brand. Isolation and white-label are there from day one.
The free plan needs no credit card. Setup is creating a project and changing one log address.