Show HN: Apitally – A simple, privacy-focused API monitoring and analytics tool
13 comments
·February 3, 2025vanschelven
Given the focus on privacy you might be interested in connecting with Bugsink[1] also (Self-hosted Error Tracking, Sentry API Compatible). Feel free to reach out.
----- disclosure: as implied by "feel free to reach out": I'm Bugsink
itssimon
A bit off-topic, but I'm curious. What are the benefits of Bugsink over Sentry? Sentry can also be self-hosted.
armanckeser
> I’m Klaas, the solo founder and developer of Bugsink. Bugsink started when I tried to self-host Sentry for a colleague and realized it was more trouble than it was worth. I built Bugsink as a drop-in replacement that’s easier to set up and works on affordable hardware. Now, it’s my full-time focus.
In the about page. I do agree Sentry self hosting can be a nightmare
hiatus
Sentry is comprised of many services but it has been running just fine on a t3.xlarge for over a year for my team. _shrug_
eptcyka
Did you ask the Italians before putting them behind an API?
armanckeser
For a solo dev project this looks great and good luck with it! But am I correct to understand this can't be self-hosted/is not open source? To me "privacy-focused" is pretty much synonymous with open source and self hostable but I am curious if I missed something or if the community thinks otherwise.
itssimon
By the way, I’m planning to add support for more frameworks and languages, hopefully with help from the community.
At the top of my list are Laravel (PHP) and Spring (Java), but I’m keen to hear what other frameworks would be popular here.
arkh
> Laravel (PHP)
You may want to do something compatible with other php frameworks. At least Symfony as it is the base for API platform.
nickittynack
Looks pretty polished for a solo dev nice work. Datadog is pretty pricy these days and this seems to cover 99% of the use cases. Thanks for the free tier
itssimon
Thanks, I appreciate the feedback! Datadog is obviously super powerful, maybe partially warranting the price tag, but most of the time the gazillion features just confuse me to the point that I don't want to use it.
AutistiCoder
ah, makes sense.
fewer features can actually be better because it's simpler.
G’day Hacker News, I’m Simon Gurcke, the sole founder of Apitally (https://apitally.io).
I’m building a simple API monitoring and analytics tool for Python / Node.js apps. It helps users understand API usage and performance, spot issues early and troubleshoot effectively when something goes wrong.
Features include:
- Dashboards: Provide insights into API traffic, errors, performance and consumers.
- Request logging: Opt-in and highly configurable in terms of what data is logged. Users can drill down from aggregated metrics to individual requests (proven to be super helpful when troubleshooting issues).
- Custom alerts: Based on 14 different API metrics with notifications delivered via email, Slack or Microsoft Teams.
- Validation error tracking: Captures metrics about which fields failed validation and why. Works for web frameworks with built-in validation (e.g. FastAPI with pydantic), or that integrate with popular third-party validation libraries (e.g. Zod for Hono).
- Server error tracking: Captures exception details and stack traces for 500 error responses. An integration with the Sentry SDK also captures event IDs, allowing users to click through to the relevant Sentry issue for more context.
I first started developing Apitally to scratch my own itch. While working at a health tech company where I was responsible for API-based software products, I became frustrated with the monitoring tools we had in place - Datadog and the ELK stack. They were too complex for my API-centric use cases, and often a pain to use.
As a result, I focused on making Apitally as simple as possible. This involved not just refining the UX of the dashboard, but also optimizing the developer experience with the open-source SDKs:
- https://github.com/apitally/apitally-py - Python SDK (supports FastAPI, Flask, Django, Litestar, Starlette)
- https://github.com/apitally/apitally-js - Node.js SDK (supports Express, NestJS, Fastify, Koa, Hono)
My other focus was on data privacy, as that is a strict requirement in the healthcare industry. By default, Apitally doesn’t capture any sensitive data - metrics are aggregated on the client side (similar to Prometheus) and sent in the background in regular intervals.
The hardest part has been implementing integrations for various web frameworks and supporting a wide range of versions. I learned a lot about the inner workings of web frameworks in the process. Good test coverage and an extensive test matrix were really important to not break people’s production APIs with buggy middleware.
Apitally’s backend is built in Python and runs on a small Kubernetes cluster on DigitalOcean. It uses PostgreSQL and ClickHouse to store data and NATS JetStream as a message queue. I chose NATS for being lightweight and its exactly-once processing capabilities. I’m also impressed by ClickHouse’s performance given the low hardware specs of my server (4 vCPUs, 8 GB RAM).
Apitally is free to use for small hobby projects (with limitations), and I offer two paid tiers for $39 and $119 (USD) per month. The dashboard has a demo mode, allowing people to explore the product without having to set up their own app first.
Thank you for reading about my bootstrapped indie product. Please let me know your thoughts and questions in the comments.