Skip to main content
The Stats API gives you access to your company’s analytics data. It’s designed to be self-exploratory - use the describe endpoints to discover what data is available, then query raw records or pre-defined metrics.
The Stats API requires the stats:read permission. See Permissions to learn how to request permissions for your app.

Getting started

The API explains its available data. Start by calling the describe endpoint to see what’s available:
This returns the available data nodes, views, and metrics you can query. The response varies based on your permissions and what data exists for your company.

Core concepts

The Stats API has three main operations: All endpoints are GET requests. The resource parameter uses : as a separator for paths (e.g., receipts:gross_revenue).

Exploring the schema

Use describe to navigate the API. It works at any level:
The describe response tells you:
  • Available columns and their types
  • Associations to other nodes (for joins)
  • Supported filters and breakdowns (for metrics)
  • Example data to understand the shape
The API is designed to be AI-friendly. Point an AI assistant at the describe endpoints and it can explore your data, understand the schema, and help you build queries.

Querying raw data

Fetch paginated rows from any node or view:
You can join related nodes by chaining paths with ::

Response format

Use cursor from the response for pagination:

Querying metrics

Metrics are pre-defined aggregations. Call describe on a metric to see its available filters and breakdowns:
Granularity options: daily, weekly, monthly

Common parameters

Error responses

Errors include a debug field with a request_id for debugging: