API
Contactless Vital Signs in Your App
The Circadify API brings rPPG-powered vitals to any application. Build with the Web SDK (including its prebuilt React components), native mobile SDKs, embed widget, or REST endpoints to return heart rate, respiratory rate, HRV, and configured optional outputs from a guided camera scan.
SDK Examples, One API
Integrate contactless vital sign readings with Web (including prebuilt React components), iOS, Android, embed widget, or REST workflows. These examples show the same SDK-guided scan pattern across web and native iOS.
Browser-based vital signs for JavaScript and TypeScript apps. The SDK handles camera access, quality checks, local measurement payload preparation, secure upload, and result polling.
import { CircadifySDK } from '@circadify/web-sdk';
const circadify = new CircadifySDK({
apiKey: 'ck_live_your_key_here',
onQualityWarning: (warning) => showHint(warning.message),
});
const result = await circadify.measureVitals({
videoElement: document.getElementById('preview-video'),
});Native Swift package for iOS apps. The SDK supports camera permission handling, measurement options, progress callbacks, quality warnings, and result retrieval.
import CircadifySDK
let circadify = try CircadifySDK(apiKey: "ck_live_your_key_here")
let vitals = try await circadify.measureVitals()
print(vitals.heartRate) // 72 BPMSDK outputs
Configurable Metrics
Pick the Integration That Matches Your Stack
Circadify supports packaged SDKs for product teams and REST endpoints for approved server-side workflows. SDKs handle camera permissions, quality checks, measurement payload preparation, upload, polling, and cleanup.
Web SDK
@circadify/web-sdkHeadless JavaScript/TypeScript SDK for vanilla JS, Vue, Svelte, or any browser app — bundled with prebuilt React components (provider, hooks, a styled CircadifyScan) to speed up implementation.
iOS SDK
CircadifySDKNative Swift package for iOS 15+ and Swift 5.7+ with camera permissions, callbacks, and result retrieval.
Android SDK
com.circadify:circadify-android-sdkNative Kotlin SDK for Android API 24+ using CameraX, quality callbacks, cancellation, and result polling.
Embed Widget
cdn.circadify.com/widget.jsDrop-in script for floating or inline scanner experiences when you do not want a full SDK install.
REST API
https://api.circadify.comServer-side endpoints for sessions, result retrieval, developer account operations, API keys, and usage.
Headless Mode
measureVitals({ videoElement })Use SDK capture, callbacks, upload, and polling while rendering your own camera preview and scan UI.
Built for Developers
Cross-Platform
Works across browsers and React apps, native mobile apps, embedded camera workflows, and backend systems.
Guided Measurement
Run a guided camera scan and receive structured results with confidence indicators. No extra hardware required.
Simple Integration
Choose Web (including prebuilt React components), iOS, Android, embed widget, or REST API paths based on your stack.
BAA-Ready Privacy Model
Encrypted transport, limited data retention, and BAA support for qualified healthcare deployments.
On-Device Preparation
The SDK handles capture quality checks, face guidance, and measurement payload preparation locally.
Configurable Metrics
Heart rate, respiratory rate, HRV, and optional BP, SpO2, or stress-related outputs based on configuration.
Get Started in Minutes
import { CircadifySDK } from '@circadify/web-sdk';
const circadify = new CircadifySDK({
apiKey: 'ck_live_your_key_here',
onProgress: (event) => updateProgress(event.percent, event.phase),
onQualityWarning: (warning) => showScanHint(warning.message),
onQualityState: (state) => updateQualityMeters(state),
});
const result = await circadify.measureVitals({
videoElement: document.getElementById('preview-video'),
demographics: { age: 35, sex: 'M', fitzpatrick: 3 },
});
console.log(result);
// {
// heartRate: 72,
// hrv: 45.2,
// respiratoryRate: 16,
// confidence: 0.87,
// sessionId: 'abc-123',
// timestamp: 1716573674200,
// // Optional when enabled: spo2, systolicBp, diastolicBp
// }Web SDK Surface
measureVitals(options?)Run camera capture, measurement payload preparation, secure upload, and result deliverycheckCameraAccess()Check if a camera is available and permissions are grantedgetDeviceCapabilities()Returns camera and secure-context capability informationcancel()Cancel an in-progress measurement and reject the measurement promisedestroy()Clean up SDK runtime resources and active camera streamsonProgress(event)Real-time progress updates with phase and percentageonQualityState(state)Per-frame lighting, motion, pose, readiness, and scan guidance stateonQualityWarning(warning)Alerts when lighting, motion, face position, or occlusion may affect resultsonLandmarks(landmarks)Normalized face landmarks for custom overlaysonCameraReady(info)Access the SDK-owned stream or video when rendering custom UISession Endpoints for Approved Direct Integrations
SDK integrations manage this flow automatically. Direct REST integrations use API-key authenticated session endpoints and the secure upload URL returned by the API.
/sdk/session/startCreate a measurement session and receive a secure upload URL.
upload_urlUpload the SDK-prepared binary measurement payload. This is not raw video or a public media file.
/sdk/session/upload-completeNotify Circadify that upload is complete and start processing.
/sdk/session/{sessionId}/resultRetrieve completed results with confidence and optional configured fields.
Real Feedback From Real Users
Would Recommend to a Friend or Family Member
“I told my family about the app, and they were amazed at how the technology works and how quick the scan was.”
— Winnie, 24, Mother
Found the Scan Easy to Complete
“I just looked at my phone for a few seconds and it gave me my vitals. The people around me wanted to try it as well.”
— George, 28, Businessman
Believe It Could Improve Community Health Access
“Where I'm from, getting to a medical center for basic stuff requires a long wait. Something like this could change that.”
— Akunda, 26, Accountant
API Frequently Asked Questions
The Circadify rPPG API is a RESTful interface that lets developers add camera-based vitals to their applications. Using SDK-prepared camera signals, the API returns heart rate, respiratory rate, HRV, and configuration-dependent BP or SpO2 outputs.
Circadify supports Web (including prebuilt React components), iOS, Android, embed widget, and REST integrations. Use @circadify/web-sdk for JavaScript/TypeScript and React, CircadifySDK for Swift apps, com.circadify:circadify-android-sdk for Kotlin Android apps, or the REST API from any server-side language.
SDK session endpoints use an X-API-Key header with your ck_live_* key. Developer account endpoints use a bearer token in the Authorization header.
Rate and scan limits are plan-specific. Enterprise customers can request dedicated throughput, deployment support, and workflow-specific scaling for approved production use cases.
Circadify supports HIPAA-eligible deployments with encrypted transport, limited data retention, and Business Associate Agreements (BAA) for qualified healthcare organizations. The SDK prepares measurement payloads locally so raw video frames are not uploaded in the standard flow.
Yes. Native SDKs are available for iOS and Android, and the Web SDK can run in supported mobile browsers over HTTPS. The SDKs handle camera access, scan quality checks, measurement payload preparation, secure upload, and result polling.
Circadify is designed for standard smartphone and laptop cameras. Camera access requires HTTPS outside localhost, and the SDK uses readiness checks, quality warnings, and confidence scores to help your app respond to lighting, motion, pose, or device limitations.
Performance depends on the metric, device, lighting, motion, population, and deployment configuration. Circadify returns confidence indicators and provides validation materials for pilot and enterprise customers so teams can evaluate fit for their intended use.
Get API Access
Request your API key and start building with contactless vital signs today.
Request A Demo
See how contactless vitals can transform your healthcare delivery.
From the Blog
Contactless Heart Rate Monitoring
How rPPG technology supports heart rate readings from camera-based scan signals.
Contactless Blood Pressure Measurement
Understanding camera-based blood pressure trend outputs and workflow context.
Contactless SpO2 Monitoring
Camera-based oxygen saturation signals using remote photoplethysmography.
Contactless HRV Analysis
Measuring heart rate variability remotely for stress, recovery, and autonomic health insights.