Skip to main content

SDKs & API

Developer Platform

SDK Examples, One API

Build contactless vital sign workflows with Web, React, native mobile, embed widget, headless SDK, or REST integrations. SDKs manage camera access, scan guidance, payload preparation, secure upload, polling, and cleanup.

Web SDK

Headless browser scan

import { CircadifySDK } from '@circadify/web-sdk';

const sdk = new CircadifySDK({
  apiKey: 'ck_live_your_key_here',
  onProgress: (event) => updateProgress(event.percent),
  onQualityWarning: (warning) => showHint(warning.message),
  onQualityState: (state) => updateQualityMeters(state),
});

const result = await sdk.measureVitals({
  videoElement: document.getElementById('preview-video'),
  demographics: { age: 35, sex: 'M', fitzpatrick: 3 },
});
Integration Options

Pick the SDK That Matches Your Product

Each path uses the same core session model while giving your team the right UI control, platform support, and deployment shape.

React SDK

React 18+
@circadify/react

Provider, hooks, a styled CircadifyScan component, composable scan views, and utility helpers for React apps.

Install / Access

npm install @circadify/web-sdk @circadify/react
Provider + hooksStyled scan viewCustom UI helpers
Read setup guide

Web SDK

TypeScript
@circadify/web-sdk

Headless JavaScript and TypeScript SDK for vanilla JS, Vue, Svelte, or any browser app with a build step.

Install / Access

npm install @circadify/web-sdk
Chrome 80+Safari 14+Full TypeScript types
Read setup guide

iOS SDK

Swift
CircadifySDK

Native Swift package for iOS apps with camera permissions, measurement options, callbacks, and result retrieval.

Install / Access

Swift Package Manager
iOS 15+Swift 5.7+Physical device required
Read setup guide

Android SDK

Kotlin
com.circadify:circadify-android-sdk

Native Kotlin SDK for Android apps using CameraX, quality callbacks, cancellation, secure upload, and result polling.

Install / Access

implementation("com.circadify:circadify-android-sdk:0.1.1")
Android API 24+CameraXHeadless UI model
Read setup guide

Embed Widget

No build step
cdn.circadify.com/widget.js

Drop-in floating or inline scanner for demos, portals, marketing pages, and lightweight product integrations.

Install / Access

<script src="https://cdn.circadify.com/widget.js"></script>
Script tagonComplete callbackTheme options
Read setup guide

REST API

JSON
https://api.circadify.com

Server-side endpoints for session creation, secure payload upload completion, result retrieval, account operations, and usage.

Install / Access

X-API-Key: ck_live_your_key_here
Session endpointsResult pollingDeveloper account APIs
Read setup guide

Headless Mode

Custom UI
measureVitals({ videoElement })

Use SDK capture, scan-quality callbacks, secure upload, and polling while rendering your own camera and results interface.

Install / Access

Use your own preview, overlays, and result UI
Caller-owned videoQuality state callbacksAbortController support
Read setup guide
Data Flow

Clear Privacy Boundary

The SDK performs local capture, scan quality checks, and measurement payload preparation before secure processing. The low-level payload format is private and can change between SDK versions.

1

Local Capture

The SDK opens the camera with permission, guides scan readiness, and checks lighting, motion, pose, and face position.

2

Payload Preparation

The SDK prepares a secure measurement payload locally. The standard flow does not upload raw video, raw frames, or photos.

3

Secure Processing

The SDK uploads the prepared payload and Circadify returns configured vital sign outputs through the API.

4

Results Returned

Your app receives structured results with confidence context. Circadify does not retain results by default.

Results

Standard Outputs and Optional Signals

Heart Rate
Standard

BPM result with confidence context.

Heart Rate Variability
Standard

Returned as supported HRV metrics for the scan.

Respiratory Rate
Standard

Breaths per minute when scan quality is sufficient.

Blood Pressure
Configuration-dependent

Systolic and diastolic trend outputs when enabled.

SpO2
Configuration-dependent

Blood oxygen signal when enabled for the deployment.

Stress / Recovery Signals
Configuration-dependent

Derived signals when supported by the configuration.

Examples

Common Implementation Patterns

Web SDK

Headless browser scan

import { CircadifySDK } from '@circadify/web-sdk';

const sdk = new CircadifySDK({
  apiKey: 'ck_live_your_key_here',
  onProgress: (event) => updateProgress(event.percent),
  onQualityWarning: (warning) => showHint(warning.message),
  onQualityState: (state) => updateQualityMeters(state),
});

const result = await sdk.measureVitals({
  videoElement: document.getElementById('preview-video'),
  demographics: { age: 35, sex: 'M', fitzpatrick: 3 },
});
React SDK

Provider + scan component

import { CircadifyProvider, CircadifyScan } from '@circadify/react';
import '@circadify/react/styles.css';

export function ScanPage() {
  return (
    <CircadifyProvider apiKey="ck_live_your_key_here">
      <CircadifyScan
        type="standard"
        onResult={(result) => saveResult(result)}
        onError={(error) => showRetry(error.message)}
      />
    </CircadifyProvider>
  );
}
REST API

Session lifecycle

curl -X POST https://api.circadify.com/sdk/session/start \
  -H "X-API-Key: ck_live_your_key_here" \
  -H "Content-Type: application/json"

curl -X PUT "$UPLOAD_URL" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @measurement-payload.bin

curl https://api.circadify.com/sdk/session/$SESSION_ID/result \
  -H "X-API-Key: ck_live_your_key_here"

Ready to Build?

Start with docs, request API access, or talk through the right SDK path for your product and deployment requirements.

Request A Demo

See how contactless vitals can transform your healthcare delivery.