Documentation
Aptabase is an open-source, privacy-first analytics platform for mobile, desktop and web apps — an alternative to Google Firebase Analytics that collects no personal data, uses no cookies or device identifiers, and needs no consent banner.
Getting started
- Create a free account in the European Union or United States region (no credit card required for the free plan), .
-
Create an app and copy its App Key
from the Instructions menu in the dashboard. The key tells the
SDK where to send data:
-
A-EU-*— European Union (Germany), dashboard at eu.aptabase.com -
A-US-*— United States (Virginia), dashboard at us.aptabase.com
-
-
Install the SDK for your platform
(full list below), initialize it with
the App Key and call the track function for the events you care about.
For example, in a web app:
import { init, trackEvent } from "@aptabase/web"; init("A-EU-0000000000"); // your App Key trackEvent("app_started"); trackEvent("screen_view", { name: "Settings" }); - Open the dashboard. Events show up in real time. Debug builds are kept separate from release builds automatically — see Build Modes.
How the SDKs behave
- Nothing is tracked automatically — you call the track function for each event.
- Every event is enriched automatically with OS name and version, app version and locale.
- Custom property values must be strings or numbers.
- Tracking calls are non-blocking and run in the background.
- Events are separated into Debug and Release build modes based on your build configuration.
SDKs (17 platforms)
Every SDK is open source under the MIT license. The SDK reference has initialization and tracking code for each one; the framework guides walk through a full setup.
Mobile
| Platform | Package | Install | Links |
|---|---|---|---|
| Swift (iOS, macOS, watchOS, tvOS) | Aptabase (Swift Package Manager) | Add https://github.com/aptabase/aptabase-swift.git via SPM or Xcode | README · Guide |
| Kotlin (Android) | com.github.aptabase:aptabase-kotlin (JitPack) | implementation("com.github.aptabase:aptabase-kotlin:0.0.8") | README · Guide |
| Flutter | aptabase_flutter (pub.dev) | flutter pub add aptabase_flutter | README · Guide |
| React Native | @aptabase/react-native | npm add @aptabase/react-native | README · Guide |
| NativeScript (community) | @nicogaldo/nativescript-aptabase | npm add @nicogaldo/nativescript-aptabase | README · Guide |
Desktop
| Platform | Package | Install | Links |
|---|---|---|---|
| Electron | @aptabase/electron | npm add @aptabase/electron | README · Guide |
| Tauri | tauri-plugin-aptabase (Rust) + @aptabase/tauri (JavaScript) | cargo add tauri-plugin-aptabase && npm add @aptabase/tauri | README · Guide |
| .NET MAUI | Aptabase.Maui (NuGet) | dotnet add package Aptabase.Maui | README · Guide |
Web
| Platform | Package | Install | Links |
|---|---|---|---|
| Web apps (SPA) | @aptabase/web (~1 kB) | npm add @aptabase/web | README · Guide |
| React / Next.js | @aptabase/react (~1 kB) | npm add @aptabase/react | README · Guide |
| Angular | @aptabase/angular | npm add @aptabase/angular | README · Guide |
| Browser extensions | @aptabase/browser (~1 kB) | npm add @aptabase/browser | README · Guide |
Games
| Platform | Package | Install | Links |
|---|---|---|---|
| Unity | Unity Package Manager (git URL) | Package Manager → Add package from git URL: https://github.com/aptabase/aptabase-unity.git | README · Guide |
| Unreal Engine | Plugin (C++ project) | Clone https://github.com/aptabase/aptabase-unreal into your project's Plugins/ folder | README · Guide |
| Godot | addons/aptabase (autoload singleton) | Copy addons/aptabase into your project and enable the plugin | README · Guide |
Other
Don't see your platform? Build your own SDK — the ingestion API is small and documented in the wiki.
Guides
- Build Modes — how Debug and Release data are kept apart, and how to switch between them in the dashboard.
- Apple App Privacy — how to answer the App Store privacy questionnaire when using Aptabase.
- How to build your own SDK — for platforms we don't cover yet.
- Blog — product updates and platform-specific tutorials.
Data & privacy
SDKs send no identifiers. On the server, Aptabase derives a temporary anonymous hash from the client IP, user agent and a salt that rotates every 24 hours, which makes it impossible to correlate sessions across days or apps. Analytics data is retained for up to 5 years.
Data collected
- The event name and the custom properties you attach to it (strings and numbers only)
- App version and build number
- Operating system name and version
- Device model
- Locale / language
- Country and region, derived on the server from the IP address (the IP address itself is not stored)
- A random, short-lived session id generated by the SDK, plus timestamps
Data never collected
- Device IDs, advertising IDs or hardware identifiers
- Cookies, fingerprints or any persistent user identifier
- IP addresses (used transiently to derive the country and a daily-rotated anonymous hash, never stored)
- Names, emails or any other personal data
This is why apps using Aptabase stay GDPR, CCPA, PECR compliant without a consent banner, and why user-level metrics such as Monthly Active Users or retention are not available — see who Aptabase is for. Legal details: Privacy Policy and Data Processing Agreement.
Limits & pricing
Free up to 20,000 events/month. Paid plans from $10/month for 200,000 events up to $450/month for 50,000,000 events. No overage fees. Every call to the track function counts as one event.
There are no overage fees. We email you when you're close to your plan's monthly limit; if you exceed it, analytics are temporarily paused until the start of the next month.
Tools
- MCP server — lets AI agents (Cursor, Claude Desktop and others) query your Aptabase analytics. Aptabase has no public query API; the MCP server wraps the dashboard endpoints.
- CSV export — export your data at any time from the dashboard.
Help
- Discord — community and support
- GitHub issues — bugs and feature requests
- hi@aptabase.com — email
For AI agents
- llms.txt — product facts, who it's for, the full pricing table and the SDK index, with links.
- llms-full.txt — install, initialization and tracking code for every SDK.
-
Every key page has a Markdown version: append
.mdto the path (/pricing.md, /about.md, /docs.md, /docs/build-modes.md, /for-swift.md) or request the HTML URL withAccept: text/markdown.