# Node.js & Web SDK

> The Aerostack Node.js and Web SDK. Use @aerostack/sdk in Cloudflare Workers, Node.js, and Bun for server-side database, AI, auth, and realtime.

Use `@aerostack/sdk` for server-side code: Cloudflare Workers, Node.js, and Bun. This is the full server-side SDK with access to database, cache, AI, queue, storage, and realtime broadcast.

## Install

```bash
npm install @aerostack/sdk
```

## Initialize

```ts

const client = new AerostackClient({
  projectId: process.env.PROJECT_ID,
  apiKey: process.env.API_KEY,
  baseUrl: 'https://api.aerostack.dev/v1',
})

const { sdk, realtime } = client
```

In a Cloudflare Worker, the SDK is typically initialized from env bindings:

```ts
// Using the module-style Worker

  async fetch(request, env) {
    const { sdk } = new AerostackClient({
      projectId: env.PROJECT_ID,
      apiKey: env.API_KEY,
    })

    // Use sdk.db, sdk.cache, etc.
  }
}
```

## Available modules

| Module | Description |
|--------|-------------|
| `sdk.db` | SQL queries |
| `sdk.cache` | Key-value cache |
| `sdk.storage` | File upload and object storage |
| `sdk.ai` | LLM completions and embeddings |
| `sdk.queue` | Background job queue |
| `sdk.search` | Vector similarity search |
| `sdk.socket` | Realtime broadcast (server → clients) |
| `sdk.secrets` | Secret retrieval |
| `sdk.auth` | Server-side token verification |

## Next steps

- [Authentication](/sdk/javascript/auth) — verify tokens, get user context
- [Database](/sdk/javascript/db) — query, insert, batch
- [Realtime](/sdk/javascript/realtime) — server-side broadcast
- [Full API Reference](/sdk/javascript/api-reference) — all methods
