> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seerstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Start tracking events in minutes.

This guide shows you how to integrate SeerStack into your application. You'll learn how to authenticate, identify users, and send your first event.

## 1. Get your API Key

You need an API key to send data to SeerStack.

1. Log in to the [SeerStack Dashboard](https://app.seerstack.com).
2. Go to **Settings > Developer**.
3. Copy your **Publishable Key**.

## 2. Install the SDK

> [tab] TypeScript
>
> Install the official TypeScript/JavaScript library:
>
> ```bash theme={null}
> npm install seerstack
> ```

> [tab] Ruby
>
> Add the gem to your Gemfile:
>
> ```ruby theme={null}
> gem "seerstack"
> ```
>
> Then run:
>
> ```bash theme={null}
> bundle install
> ```
>
> Or install directly:
>
> ```bash theme={null}
> gem install seerstack
> ```

## 3. Initialize the client

> [tab] TypeScript
>
> ```typescript theme={null}
> import Seerstack from 'seerstack';
>
> const client = new Seerstack({
>   apiKey: process.env['SEERSTACK_API_KEY'], // e.g. 'sk_live_...'
> });
> ```

> [tab] Ruby
>
> ```ruby theme={null}
> require "seerstack"
>
> seerstack = Seerstack::Client.new(
>   api_key: ENV["SEERSTACK_API_KEY"] # e.g. 'sk_live_...'
> )
> ```

## 4. Send an event

Send a test event to verify your integration.

> [tab] TypeScript
>
> ```typescript theme={null}
> const response = await client.events.capture({
>   name: 'test.event',
>   user_id: 'internal_user',
>   data: {
>     message: 'Hello World',
>     browser: 'Chrome'
>   }
> });
>
> console.log(response.success); // true
> ```

> [tab] Ruby
>
> ```ruby theme={null}
> response = seerstack.events.capture(
>   name: "test.event",
>   user_id: "internal_user",
>   data: {
>     message: "Hello World",
>     browser: "Chrome"
>   }
> )
>
> puts(response.success) # true
> ```

Check your [Dashboard](https://app.seerstack.com) — you should see the event appear instantly.

## 5. Identify a user (optional)

Associate user traits to enrich your events with user context.

> [tab] TypeScript
>
> ```typescript theme={null}
> await client.users.identify({
>   user_id: 'user_123',
>   email: 'grace@hopper.com',
>   name: 'Grace Hopper',
>   attributes: {
>     plan: 'enterprise',
>     team_size: 15
>   }
> });
> ```

> [tab] Ruby
>
> ```ruby theme={null}
> seerstack.users.identify(
>   user_id: "user_123",
>   email: "grace@hopper.com",
>   name: "Grace Hopper",
>   attributes: {
>     plan: "enterprise",
>     team_size: 15
>   }
> )
> ```

## Next steps

> [card] [Identities](https://docs.seerstack.com/essentials/identities.md)
>
> Learn how to attach profiles to your users.

> [card] [Datasources](https://docs.seerstack.com/essentials/datasources.md)
>
> Connect your production database for deeper insights.

> [card] [API Reference](https://docs.seerstack.com/api-reference/introduction.md)
>
> Explore the full API documentation.

> [card] [Events](https://docs.seerstack.com/essentials/events.md)
>
> Learn event best practices.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.