JavaScript
Browser tracking with optional autocapture
bun add @alitycs/browser// sdks
Every Alitycs library sends the same event payload, batches in the background, and retries with backoff. Pick the one that matches your runtime — the code samples in the docs follow along.
Each one wraps the same HTTP API. Install it, pass a key, and call track — the rest is batching, retries, and session handling you do not have to write.
Browser tracking with optional autocapture
bun add @alitycs/browserUniversal server-side TypeScript tracking
bun add @alitycs/coreKotlin and Java server-side tracking
implementation("com.alitycs:alitycs-sdk-jvm:1.0.0")Server-side Python tracking with batching, sessions, and retries
pip install alitycsConcurrency-safe server-side tracking
go get github.com/alitycs/alitycs-sdk-goServer-side tracking for PHP 8.1+ applications
composer require alitycs/alitycs-sdk-phpAny language, over HTTPS
# Nothing to install — use any HTTPS client.The short answer: one browser library for anything a user touches, one server library per backend language, and the REST API when neither fits.
| Library | Runtime | Typical use | Autocapture | Key type | Docs |
|---|---|---|---|---|---|
| JavaScript | Browsers and webviews | Client-side product analytics: page views, clicks, form submits | Yes | pk_live_…Publishable — ingest only | JavaScript quickstart |
| Node.js | Server-side JavaScript and TypeScript | Events from an API, a worker, or a background job | No | sk_live_…Secret — read it from the environment | Node.js quickstart |
| JVM | JVM — Kotlin and Java | Backend services and batch jobs on the JVM | No | sk_live_…Secret — read it from the environment | JVM quickstart |
| Python | Python | Backends, scheduled jobs, and data pipelines | No | sk_live_…Secret — read it from the environment | Python quickstart |
| Go | Go | High-throughput services; the client is safe across goroutines | No | sk_live_…Secret — read it from the environment | Go quickstart |
| PHP | PHP 8.1 and newer | Server-rendered applications and web endpoints | No | sk_live_…Secret — read it from the environment | PHP quickstart |
| REST API | Anything that speaks HTTPS | Languages without an official library, curl, CI jobs | No | pk_live_… / sk_live_…Publishable to ingest, secret to read | REST API reference |
// install and initialize
Install the package, initialize once near the top of your app, and call track wherever something happens. This is the JavaScript library; every other library takes the same shape with its own package manager.
pk_live_… key, which can only write events.bun add @alitycs/browserimport { init } from "@alitycs/browser";
const analytics = init({
apiKey: "pk_live_4Kd9xTz2",
autoCapture: true,
});What we commit to when a library changes, so you can plan an upgrade rather than discover one.
Every library follows semver. A patch release fixes behavior, a minor release adds surface without changing what already works, and a major release is the only kind that may change or remove an existing call.
A major version can change a method signature, drop a configuration option, or raise the minimum runtime version. Each one ships with a migration note listing every break and the call that replaces it.
The previous major stays supported for twelve months after its successor ships — security and correctness fixes, no new features. After that it keeps talking to API v1, but stops receiving releases.
Releases are tagged in each package registry — npm, Maven Central, PyPI, Packagist, and Go modules — with the changelog in the library's repository. The wire format is versioned separately as API v1.
The libraries are a convenience over the HTTP API, not a privileged path into it — anything that can send an HTTPS request with a JSON body can send events and read them back.
One POST to /events with a batch of events, and authenticated reads on /v1. Endpoints, payload fields, error codes, and rate limits are all documented.
Tell us the language and roughly where you would call it from. Requests are what decides the order we build in, and we will tell you what is already underway.
Email supportCreate a workspace and the publishable key is ready with it. Install a library, track one event, and watch it land.
No credit card required. SDK v1.0.3 · API v1.