Getting Started

Get a working Findable integration in three steps.

1. Get an API Key

Contact your Findable representative to obtain an API key. Keys are prefixed with fk_live_ for production and fk_test_ for sandbox environments.

2. Install

React developers should install @findable-ai/react, which includes the SDK as a dependency:

Terminalbash
npm install @findable-ai/react

For non-React projects, install the SDK directly:

Terminalbash
npm install @findable-ai/sdk

3. Add the Chat Widget

Wrap your app in <FindableProvider> and drop in <FindableChat>:

App.tsxtsx
import { FindableProvider, FindableChat } from '@findable-ai/react';
import '@findable-ai/react/styles.css';

function App({ sessionToken }: { sessionToken: string }) {
  return (
    <FindableProvider token={sessionToken} buildingOwnerId="YOUR_OWNER_ID">
      <FindableChat buildingId="bld-789" />
    </FindableProvider>
  );
}

Exchange your API key for a session token server-side. See Authentication for details.

That's it!

The chat widget connects to the Findable API, handles streaming responses, shows citations, and suggests follow-up questions — all out of the box.

Using the SDK Directly

For server-side usage or full UI control, use the SDK client:

Node.jstypescript
import { FindableClient } from '@findable-ai/sdk';

const client = new FindableClient({
  apiKey: 'YOUR_API_KEY', // pragma: allowlist secret
  buildingOwnerId: 'YOUR_OWNER_ID',
});

// Non-streaming
const response = await client.ask({
  buildingId: 'bld-789',
  query: 'What fire safety documents are available?',
});
console.log(response.answer);

// Streaming
for await (const event of client.askStream({
  buildingId: 'bld-789',
  query: 'Fire safety docs?',
})) {
  if (event.event === 'text') process.stdout.write(event.text);
}

Next Steps