SDKs · APIS · PLATFORMS

Connects to everything.
Replaces nothing.

Prynt integrates with your existing stack in minutes. Client SDKs for every platform, server SDKs for every language, and native integrations with the tools you already use.

Quick Start Guide → API Reference
JavaScript
React
Swift
Kotlin
🌐 Node.js
🐍 Python
💼 Go
Client SDKs

First-party SDKs for every platform.

Lightweight, privacy-first client libraries that collect device signals and generate a stable visitor ID. Average integration time: 12 minutes.

JS

JavaScript

Browser · 12KB gzipped

Stable
JavaScript
import Prynt from '@prynt/js'; const prynt = await Prynt.init({ apiKey: 'pk_live_...' }); const result = await prynt.identify(); // result.visitorId: "pv_7xN2qK..."

React

Hooks + Provider · 14KB gzipped

Stable
React / TSX
import { PryntProvider, usePrynt } from '@prynt/react'; // Wrap your app <PryntProvider apiKey="pk_live_..."> <App /> </PryntProvider> // Use in any component const { identify } = usePrynt();

iOS (Swift)

SPM + CocoaPods · iOS 13+

Stable
Swift
import Prynt let prynt = Prynt( apiKey: "pk_live_..." ) let result = try await prynt.identify() // result.visitorId = "pv_7xN2qK..."

Android (Kotlin)

Gradle · API 21+

Stable
Kotlin
val prynt = Prynt.init( context = applicationContext, apiKey = "pk_live_..." ) val result = prynt.identify() // result.visitorId: "pv_7xN2qK..."

Flutter

Dart package · iOS + Android

Beta
Dart
import 'package:prynt/prynt.dart'; final prynt = await Prynt.init( apiKey: 'pk_live_...', ); final result = await prynt.identify(); // result.visitorId: "pv_7xN2qK..."
RN

React Native

Native module · iOS + Android

Beta
React Native
import Prynt from '@prynt/react-native'; const prynt = await Prynt.init({ apiKey: 'pk_live_...' }); const result = await prynt.identify();
Server SDKs

Verify and enrich server-side.

Use server SDKs to verify client results, access sealed data, query visitor history, and integrate Prynt into your backend decision logic.

N

Node.js

npm · TypeScript included

Node.js
import { PryntServer } from '@prynt/node'; const prynt = new PryntServer({ secretKey: 'sk_live_...' }); const event = await prynt.getEvent(requestId); // Full identification with sealed data
$ npm install @prynt/node
Py

Python

pip · Type hints included

Python
from prynt import PryntServer prynt = PryntServer( secret_key="sk_live_..." ) event = prynt.get_event(request_id) # Full identification with sealed data
$ pip install prynt-server
Go

Go

Go module · 1.21+

Go
import "github.com/prynt/prynt-go" client := prynt.NewClient( prynt.WithSecretKey("sk_live_..."), ) event, err := client.GetEvent(ctx, requestID) // Full identification with sealed data
$ go get github.com/prynt/prynt-go
Rb

Ruby

gem · Ruby 3.0+

Ruby
require 'prynt' client = Prynt::Server.new( secret_key: "sk_live_..." ) event = client.get_event(request_id) # Full identification with sealed data
$ gem install prynt-server
PHP

PHP

Composer · PHP 8.1+

PHP
use Prynt\Server\PryntClient; $prynt = new PryntClient([ 'secret_key' => 'sk_live_...' ]); $event = $prynt->getEvent($requestId); // Full identification with sealed data
$ composer require prynt/server-sdk
J

Java

Maven / Gradle · Java 11+

Java
import com.prynt.server.PryntClient; PryntClient prynt = PryntClient .builder() .secretKey("sk_live_...") .build(); Event event = prynt.getEvent(requestId); // Full identification with sealed data
> com.prynt:server-sdk:2.4.0
Platform Integrations

Native integrations. Zero glue code.

Pre-built integrations with the platforms and services your team already uses. Drop Prynt into your existing workflow without rewriting anything.

Stripe Official

Attach Prynt visitor IDs to Stripe PaymentIntents and Charges. Use device intelligence to inform Stripe Radar rules and reduce chargebacks without adding checkout friction.

PaymentIntent metadataRadar integrationDispute evidence

Cloudflare Workers Official

Run Prynt at the edge inside Cloudflare Workers. Verify device fingerprints and enforce rules before requests reach your origin -- block fraud at the CDN layer.

Edge verificationKV storageSub-5ms overhead
λ

AWS Lambda Official

Deploy Prynt verification as a Lambda function or Lambda@Edge. Use with API Gateway to protect serverless APIs with device intelligence at scale.

Lambda LayerAPI Gateway authCloudFormation

Vercel Official

First-class Vercel integration. Use Prynt in Edge Middleware, API Routes, or Server Actions. Auto-configured environment variables and zero-config deployment.

Edge MiddlewareServer Actions1-click deploy
N

Next.js Official

Purpose-built Next.js package with App Router support, Server Components integration, and automatic script optimization. Works with both Pages and App directory.

App RouterServer ComponentsScript optimization

Segment Partner

Send Prynt device intelligence to your Segment workspace as enrichment data. Automatically attach visitor IDs and risk signals to your existing analytics events.

Event enrichmentIdentity resolutionWarehouse sync
Delivery Methods

Get results how you want them.

Three ways to consume Prynt identification results, each optimized for different integration patterns and security requirements.

{}

REST API

Synchronous request/response API. Send a request ID, get back a full identification result with all signals. Ideal for server-side verification at the point of decision.

99.9% uptime SLA with global edge endpoints
P95 response time under 100ms
Comprehensive OpenAPI specification
Rate limiting with automatic retry headers
Idempotent requests for safe retries
🔔

Webhooks

Real-time push notifications when identifications complete. Configure multiple endpoints with filtering, retries, and cryptographic signature verification.

HMAC-SHA256 signature verification
Automatic exponential backoff retries
Filter by event type, risk level, or rule match
Webhook logs with replay from dashboard
Configurable timeout and concurrent delivery
🔒

Sealed Results

Client-side results encrypted with your public key. Only your server can decrypt them -- preventing client-side tampering while eliminating the server-to-Prynt API call.

AES-256-GCM encryption with key rotation
Zero server-to-Prynt latency on verification
Tamper-proof: client cannot read or modify data
Offline verification -- no outbound API dependency
Ideal for high-throughput, latency-sensitive flows

Integrate Prynt in 12 minutes.

Pick your SDK, add three lines of code, and start identifying visitors. Free plan included.

Start Free Trial → Read Quick Start