Documentation
SDKs

SDKs

Choose a FounderHQ SDK.

One capture protocol, five SDKs. Pick the one that matches where your code runs, then follow that page.

Before you start

You need a brand and its keys. Copy a publishable key (fhq_pk_...) for browsers and apps. Copy a secret key (fhq_sk_...) for servers. See Getting started.

Pick an SDK

SDKPackageKeyUse it for
Web@founderhq/eventspublishableWebsites and web apps
React Native@founderhq/events-react-nativepublishableReact Native and Expo apps
iOSFounderHQEvents (SwiftPM, CocoaPods)publishableSwift and SwiftUI apps
Androidcom.getfounderhq:eventspublishableKotlin and Compose apps
Node@founderhq/events-nodesecretYour backend

What every client SDK does

The web, React Native, iOS, and Android SDKs share one surface.

You callIt does
captureRecords one event with your own properties
identifyTies the visitor to a contact you know
setAccountSays which account the activity belongs to
setPersonPropertiesUpdates contact properties
register / registerOnce / unregisterAdds properties to every later event
optIn / optOut / isOptedOutControls capture consent on the device
getDistinctId / getSessionIdReads the current identity and session
resetClears identity and account on logout
flush / closeSends queued events now

Every client SDK queues events, persists them across restarts, retries failures, and sends them in batches. Each one also captures screens or pageviews, sessions, and app or page lifecycle on its own.

What the Node SDK does instead

The Node SDK carries no device state. It has no sessions, no automatic capture, and no consent switches. You name the contact on every call, and you use a secret key. It is also the only SDK that can record account membership changes and send revenue commands.

The protocol underneath

Client SDKs send POST /i/v2/e with a publishable key. The Node SDK sends POST /api/events with a secret key. Both use one property namespace, one event shape, and per-event acknowledgements.

Read the protocol reference when you need the wire format, the reserved event names, or the campaign property list.

AI agent or LLM? Read this page as markdown

On this page