Skip to main content
EngageFabric provides official SDKs to simplify integration with your applications.
SDKs are currently available for enterprise customers and early access partners. Contact us at support@engagefabric.com to get access.

Available SDKs

JavaScript SDK

Full-featured SDK for Node.js and browser environments

React Components

Pre-built UI components for React applications

Installation

npm install @engagefabricsdk/sdk

Integration Methods

Choose the integration method that fits your tech stack:
LanguageIntegration MethodInstall
JavaScript/TypeScript@engagefabricsdk/sdknpm install @engagefabricsdk/sdk
React@engagefabricsdk/reactnpm install @engagefabricsdk/react
PythonREST API (requests)pip install requests
RubyREST API (net/http)Built-in
PHPREST API (curl)Built-in
cURLCommand lineBuilt-in

Quick Comparison

FeatureJavaScript SDKReact Components
API CallsYesVia SDK
WebSocketYesVia SDK
State ManagementZustand storesReact hooks
UI ComponentsNoYes
Server-sideYesNo
BrowserYesYes

When to Use What

JavaScript SDK Only

Use the JavaScript SDK alone when:
  • Building a Node.js backend
  • Using a different frontend framework (Vue, Angular, Svelte)
  • Need full control over UI rendering
  • Server-side rendering requirements

React Components

Use React Components when:
  • Building a React application
  • Want pre-built, styled UI components
  • Need quick integration with minimal code
  • Want consistent EngageFabric UI patterns

REST API (No SDK Required)

Any language can integrate with EngageFabric via the REST API. You do not need a language-specific SDK — just make HTTP requests with your API key. This is ideal for Python, Ruby, PHP, Go, Java, or any backend that can make HTTP calls. The two most common operations are identifying a player and tracking an event:

Identify a Player

import requests

API_KEY = "ef_live_your-api-key"
BASE_URL = "https://api.engagefabric.com/api/v1"

response = requests.post(
    f"{BASE_URL}/players/identify",
    headers={
        "X-API-Key": API_KEY,
        "Content-Type": "application/json"
    },
    json={
        "externalUserId": "user-123",
        "displayName": "John Doe"
    }
)

player = response.json()
print(f"Player ID: {player['id']}")

Track an Event

import requests

API_KEY = "ef_live_your-api-key"
BASE_URL = "https://api.engagefabric.com/api/v1"

response = requests.post(
    f"{BASE_URL}/events",
    headers={
        "X-API-Key": API_KEY,
        "Content-Type": "application/json"
    },
    json={
        "playerId": "player-id",
        "name": "lesson_completed",
        "properties": {
            "courseId": "math-101",
            "score": 95
        }
    }
)

print(f"Status: {response.status_code}")
For the full API reference including all available endpoints, see the API Reference. For a step-by-step guide to getting started, see the Quick Start.

Coming Soon

We’re working on additional SDKs:
SDKStatus
Python SDKPlanned
Unity SDKPlanned
iOS SDKPlanned
Android SDKPlanned
Want to see an SDK for your platform? Let us know!