Expert guidance for integrating FeatBit Node.js Server-Side SDK in backend applications. Use when building Node.js server apps with feature flags, A/B testing, gradual rollouts, or OpenFeature integration. Covers SDK setup, flag evaluation, and event tracking.
View on GitHubFebruary 3, 2026
Select agents to install to:
npx add-skill https://github.com/featbit/featbit-skills/blob/main/skills/featbit-node-server-sdk/SKILL.md -a claude-code --skill featbit-node-server-sdkInstallation paths:
.claude/skills/featbit-node-server-sdk/# FeatBit Node.js Server SDK
Expert guidance for integrating FeatBit Server-Side SDK in Node.js backend applications.
> **๐ฆ Official SDK**: [@featbit/node-server-sdk](https://www.npmjs.com/package/@featbit/node-server-sdk)
> **๐ Full Documentation**: [GitHub Repository](https://github.com/featbit/featbit-node-server-sdk)
โ ๏ธ **Important**: This is a **server-side SDK** for multi-user systems (web servers, APIs). Not for browser/client-side applications.
## Quick Start
### Installation
```bash
npm install --save @featbit/node-server-sdk
```
### Prerequisites
Before using the SDK, obtain:
- **Environment Secret (SDK Key)**: [How to get](https://docs.featbit.co/sdk/faq#how-to-get-the-environment-secret)
- **SDK URLs**: [How to get](https://docs.featbit.co/sdk/faq#how-to-get-the-sdk-urls)
- FeatBit SaaS: `wss://app-eval.featbit.co` and `https://app-eval.featbit.co`
- Self-hosted: `ws://localhost:5100` and `http://localhost:5100`
### Basic Usage
```javascript
import { FbClientBuilder, UserBuilder } from "@featbit/node-server-sdk";
// Setup SDK options
const fbClient = new FbClientBuilder()
.sdkKey("your_sdk_key")
.streamingUri('wss://app-eval.featbit.co')
.eventsUri("https://app-eval.featbit.co")
.build();
(async () => {
// Wait for the SDK to be initialized
try {
await fbClient.waitForInitialization();
} catch(err) {
// failed to initialize the SDK
console.log(err);
}
// flag to be evaluated
const flagKey = "game-runner";
// create a user
const user = new UserBuilder('a-unique-key-of-user')
.name('bob')
.custom('sex', 'female')
.custom('age', 18)
.build();
// evaluate a feature flag for a given user
const boolVariation = await fbClient.boolVariation(flagKey, user, false);
console.log(`flag '${flagKey}' returns ${boolVariation} for user ${user.Key}`);
// evaluate a boolean flag for a given user with evaluation detail
const boolVariationDetail = await fbClient.boolVariationDetai