Locallytics

Locallytics Data

Server-side function to fetch your analytics.

LocallyticsData() is an async function for React Server Components that retrieves your analytics metrics.

Basic Usage

app/dashboard/page.tsx
import { LocallyticsData } from "locallytics";

export default async function Dashboard() {
  const data = await LocallyticsData();

  return (
    <div>
      <p>{data.pageviews} pageviews</p>
      <p>{data.uniqueVisitors} unique visitors</p>
    </div>
  );
}

Options

All options are optional.

const data = await LocallyticsData({
  dateRange: "last7d", // "last24h" | "last7d" | "last30d" | { start, end }
  endpoint: "/api/analytics", // Your API route (default)
});
OptionTypeDefaultDescription
dateRangeDateRange"last7d"Time period for analytics
endpointstring"/api/analytics"Your API route path

Custom Date Range

const data = await LocallyticsData({
  dateRange: {
    start: new Date("2024-01-01"),
    end: new Date("2024-01-31"),
  },
});

Return Type

interface AnalyticsResult {
  pageviews: number;
  uniqueVisitors: number;
  topPages: { pageUrl: string; count: number }[];
  topReferrers: { pageUrl: string; count: number }[];
  dailyStats: { date: string; pageviews: number; uniqueVisitors: number }[];
  error?: string;
}
FieldDescription
pageviewsTotal pageviews in the date range
uniqueVisitorsUnique sessions in the date range
topPagesMost visited pages, sorted by count
topReferrersTop referrer URLs
dailyStatsDay-by-day breakdown
errorError message if the fetch failed

Error Handling

If something goes wrong, error will contain the message and counts will be 0:

const data = await LocallyticsData();

if (data.error) {
  return <p>Failed to load analytics: {data.error}</p>;
}

On this page