Data API

Access raw analytics data for custom dashboards and integrations

JavaScript LibraryFramework AgnosticTypeScript ReadyReal-time Updates
Version
v1.0.3

Quick Start

1. Include the Script

<script src="https://www.sitetooling.space/data.js" 
          data-token="YOUR_SITE_TOKEN"></script>

2. Access Your Data

// Get basic metrics
  const stats = await siteToolingData.getBasicMetrics('7d');
  console.log(stats.visitors);    // Raw number: 1,234
  console.log(stats.pageViews);   // Raw number: 5,678

  // Get top pages
  const pages = await siteToolingData.getTopPages('7d', 10);
  pages.forEach(page => {
    console.log(`${page.path}: ${page.visits} visits`);
  });

3. Build Custom UI

// Update your custom dashboard
  document.getElementById('visitor-count').textContent = stats.visitors;
  document.getElementById('page-views').textContent = stats.pageViews;
  document.getElementById('bounce-rate').textContent = stats.bounceRateFormatted;

Live Demo

This demo uses real data from sitetooling.space:

...
Visitors
...
Page Views
...
Bounce Rate
...
Online Now

API Reference

Constructor

const analytics = new SiteTooling.DataAPI(token, options)
ParameterTypeDescription
tokenstringYour website token from registration
optionsobjectOptional: { cache: true, debug: false }

Core Methods

getBasicMetrics(timeframe)

Get core analytics metrics for dashboard cards.

const metrics = await analytics.getBasicMetrics('7d');
  // Returns: { visitors, pageViews, bounceRate, avgSessionTime, onlineUsers }
Parameters:timeframe - '1d', '7d', '30d', or 'all'

getStats(timeframe)

Get complete analytics data including lists and charts.

const data = await analytics.getStats('7d');
  // Returns: Complete analytics object with all data

getTopPages(timeframe, limit)

Get most visited pages.

const pages = await analytics.getTopPages('7d', 10);
  // Returns: [{ path, visits, visitors, percentage }]

getChartData(timeframe)

Get time-series data for custom charts.

const chartData = await analytics.getChartData('30d');
  // Returns: [{ date, visitors, pageViews, duration }]

getRealTimeData()

Get current online users and real-time metrics.

const realtime = await analytics.getRealTimeData();
  // Returns: { onlineUsers, lastActivity, currentPageViews }