Skip to main content

Overview

The current_visitors endpoint returns the number of unique visitors (sessions) in the last 5 minutes. This is ideal for displaying realtime activity on your dashboard.

Endpoint

GET https://api.tinybird.co/v0/pipes/current_visitors.json

Parameters

tenant_id
string
Filter by tenant ID
domain
string
Filter by domain

SQL Query

The endpoint executes the following SQL query:
SELECT uniq(session_id) AS visits
FROM analytics_hits
WHERE timestamp >= (now() - interval 5 minute)
    {% if defined(tenant_id) %}
    AND tenant_id = {{ String(tenant_id, description="Filter by tenant ID") }}
    {% end %}
    {% if defined(domain) %}
    AND domain = {{ String(domain, description="Filter by domain") }}
    {% end %}

Response

visits
uint64
required
Number of unique visitors in the last 5 minutes

TypeScript Usage

import { createAnalyticsClient } from '@tinybirdco/analytics-client';

const tinybird = createAnalyticsClient();

// Get current visitors for all domains
const result = await tinybird.query.currentVisitors({});
console.log(`Current visitors: ${result.data[0].visits}`);

// Get current visitors for a specific domain
const domainResult = await tinybird.query.currentVisitors({
  domain: 'example.com'
});
console.log(`Current visitors for ${domainResult.data[0].visits}`);

// Get current visitors for a specific tenant
const tenantResult = await tinybird.query.currentVisitors({
  tenant_id: 'tenant-123',
  domain: 'example.com'
});

Example Response

{
  "data": [
    {
      "visits": 42
    }
  ]
}

Build docs developers (and LLMs) love