Skip to main content

JavaScript Proxy SDK

In this guide we explain how to use feature toggles in a Single Page App via The Unleash Proxy. You can also checkout the source code for the JavaScript Proxy SDK.


For single-page apps we have a tiny proxy-client in JavaScript, without any external dependencies, except from browser APIs. This client will store toggles relevant for the current user in local-storage and synchronize with the Unleash Proxy in the background. This means we can bootstrap the toggles for a specific use the next time the user visits the web-page.

We are looking in to also supporting react-native with this SDK. Reach out if you want to help us validate the implementation.

How to use the JavaScript Proxy SDK

Step 1: Install

npm install unleash-proxy-client

Step 2: Initialize the SDK

You need to have an Unleash Proxy server running. In addition you will need a proxy-specific clientKey in order to connect to the Unleash Proxy. For more on how to set up client keys, consult the Unleash Proxy docs.

import { UnleashClient } from 'unleash-proxy-client';

const unleash = new UnleashClient({
url: '',
clientKey: 'your-proxy-key',
appName: 'my-webapp',

// Used to set the context fields, shared with the Unleash Proxy
unleash.updateContext({ userId: '1233' });

// Start the background polling

Step 3: Check if feature toggle is enabled


...or get toggle variant:

const variant = unleash.getVariant('proxy.demo');
if ( === 'blue') {
// something with variant blue...

Listen for updates via the EventEmitter

The client is also an event emitter. This means that your code can subscribe to updates from the client. This is a neat way to update a single page app when toggle state updates.

unleash.on('update', () => {
const myToggle = unleash.isEnabled('proxy.demo');
//do something useful