One SDK turns every browser into a live edge — identity-aware, bidirectional, always connected to your backend. Not an API call. A runtime.
const engine = new squid.engine({ sp: 'https://my-api.com' }); engine.on('visitor.identified', event => { const visitor = event.detail; // name, email, company, role — streamed live // enriched by YOUR server via the service provider });
Our SDK is on this page. Here's what it resolved about your session, and the event stream your app would receive.
Resolved in 340ms. No login. No form. No cookies. This is the same stream your code receives.
Identity resolution, behavioral streaming, real-time enrichment, frontend-backend sync — it's a lot to build from scratch. SQID.dev packages it all into one SDK.
<script src="sqid.js"></script>
The SDK makes the browser an intelligent endpoint. The runtime keeps everything in sync.
Person-level resolution — name, role, company, LinkedIn — resolved client-side. Your frontend knows who the visitor is without asking your server.
Clicks, scrolls, page views, engagement scoring. Captured and streamed from the browser in real time. Not batched. Not polled.
The frontend can reach out to any data source through the runtime. Enrich the visitor session with third-party data without a proxy server.
Your backend subscribes to one stream and gets everything — identity, behavior, enrichment — as events. Multiple consumers, one source of truth.
Company data, funding, headcount, industry, technographics. Progressively resolved and pushed to all consumers as it becomes available.
Frontend and backend share the same real-time channel. State stays in sync without you building WebSocket infrastructure or polling logic.
When SQID.dev identifies a visitor, it can hit YOUR server first. Enrich the profile with your own data — CRM records, subscription status, feature flags — before it reaches the browser. No other identification tool does this.
// Your server receives every identified visitor app.post('/visitor_details', async (req, res) => { const visitor = req.body; // { name, email, company, company_role, linkedin_url } // Look up in YOUR database const record = await db.query({ email: visitor.email }); // Send merged data back to the browser res.json({ ...visitor, ...record }); });
Real examples. Working code. Every recipe is a starting point you can deploy today.
Skip "What's your email?" — the chat widget knows who they are before they type.
engine.on('visitor.identified', event => { const visitor = event.detail; window.Intercom('boot', { app_id: 'YOUR_APP_ID', email: visitor.email, name: visitor.name, company: { name: visitor.company } }); });
Enterprise companies see enterprise pricing. Developers see API features. Managers see analytics.
engine.on('visitor.identified', event => { const visitor = event.detail; if (visitor.company_role?.match(/engineer/i)) highlightFeatures(['API', 'SDK', 'Webhooks']); else if (visitor.company_role?.match(/manager/i)) highlightFeatures(['Analytics', 'SSO', 'Reports']); });
"Before you go, Sarah..." — personalized offers by name, company, and role. Suppress for existing customers.
document.addEventListener('mouseout', e => { if (e.clientY < 0 && visitorData) { showModal({ title: `Before you go, ${visitorData.firstName}...`, message: `Demo for ${visitorData.company_role}s` }); } });
Feed identity into every analytics tool at once. Connect anonymous sessions to known users.
engine.on('visitor.identified', event => { const v = event.detail; gtag('set', 'user_properties', { user_id: v.id, company: v.company }); analytics.identify(v.id, { email: v.email }); mixpanel.identify(v.id); });
The intelligence already exists — identity graphs, enrichment APIs, your CRM. The problem is getting it to the point of decision in real time. No infrastructure to manage. No data to store. Just a live pipe from source to action.
SQID.dev doesn't warehouse your data. It streams it. Identity and enrichment data flows from source to destination in real time — through the runtime, not into a database you have to manage.
WebSocket servers, pub/sub brokers, event pipelines — you'd normally build all of this yourself. One SDK and you get it out of the box. Focus on your product, not your plumbing.
Plug in ZoomInfo, Clearbit, Apollo, or your own enrichment. The runtime delivers it all the same way — real-time, bidirectional, to every subscriber simultaneously.
Data locked in a dashboard doesn't convert. Data in your frontend, your chatbot, your agent — while the visitor is still on the page — does. That's what real-time delivery changes.
Every other vendor gives you a request/response lookup. We give you a persistent, bidirectional stream.
Built on Apache Pulsar. The same distributed messaging infrastructure behind Yahoo, Splunk, and Verizon. Exposed as one SDK and a simple consumer API.
From zero to streaming identity, behavior, and enrichment.
One script tag in your frontend.
// Add to your page ;(function(squid){ (window.$quid) || (window.$quid = {}); document.head.appendChild((function(s){ s.src='https://app.asksquid.ai/tfs/' +squid+'/sdk'; s.async=1; return s; })(document.createElement('script'))); })('YOUR_SDK_ID');
Get visitor data the moment identity resolves.
const engine = new squid.engine(); engine.on('visitor.identified', event => { const v = event.detail; // v.name, v.email, v.company, // v.company_role, v.linkedin_url });
Identity, behavior, enrichment — streaming to your code. What you build is up to you.
// AI agent context // Website personalization // Sales routing // Embedded analytics // Your idea here
Your agent is smart. Make it smart about people. Subscribe to the visitor stream — know who your agent is talking to before the first message.
Embed visitor intelligence into your product. One SDK. Your customers get identity, behavior, and real-time data without you building it.
Stop building identity resolution infrastructure. One SDK, one event listener, and your app knows who every visitor is. Ship in a day, not a quarter.
Stop building visitor identity infrastructure from scratch. One SDK gives your product real-time intelligence about every visitor — so you can focus on what makes your app unique.
Free tier. No credit card. No sales call.