Public API & MCP

Query your Qusto workspace from BI tools, scripts, or assistants. Included on Core and above. Authenticate with a merchant API key — never a CE service key.

← All docs
Privacy boundary: the External API and MCP expose aggregate analytics and commerce metrics only. They do not return personal data, raw visitor IPs, or DSAR/erasure surfaces. Use the dashboard Settings flows for GDPR Art. 15/17 requests.
New: /external/data-coverage answers a question no cookie-based analytics tool can — how many of your store's real, paid orders your browser tag never recorded, straight from your own order record. See below.

Authentication

  1. In the dashboard: Settings → API Access → Generate key (shown once).
  2. Send the key on every request:
X-Qusto-API-Key: qk_live_…

Base URL:

https://app.qusto.io/api/v1

Example:

curl -sS -H "X-Qusto-API-Key: qk_live_…" \
  "https://app.qusto.io/api/v1/external/account"

Endpoints

Site-scoped routes require a site_id owned by the key's workspace. Foreign sites return 403.

MethodPathTierNotes
GET/external/accountCore+Workspace metadata
GET/external/sitesCore+Sites for this key
GET/external/stats/aggregateCore+site_id required
GET/external/stats/timeseriesCore+site_id
GET/external/stats/breakdownCore+site_id
GET/external/stats/realtimeCore+Current visitors
GET/external/eventsCore+site_id, from, to
GET/external/revenueCore+Revenue summary
GET/external/funnel/conversionCore+Funnel signal
GET/external/cart/abandonmentGrowth+Cart abandonment visibility
GET/external/customers/ltv-bandsGrowth+Customer spend distribution, k-anonymity-suppressed
GET/external/customers/ltvGrowth+Deprecated — returns individual rows; use ltv-bands
GET/external/attribution/summaryProfessional+Multi-touch
GET/external/data-coverageCore+Orders your browser tag never recorded, straight from your store's own order record

Machine-readable contract: /docs/api/openapi.yaml (API 1.1.0; also used by qusto-mcp on npm).

MCP (assistants)

Use the first-party qusto-mcp server with Claude Desktop, Cursor, or any MCP client.

{
  "mcpServers": {
    "qusto": {
      "command": "npx",
      "args": ["-y", "qusto-mcp"],
      "env": {
        "QUSTO_API_KEY": "qk_live_…",
        "QUSTO_API_BASE": "https://app.qusto.io/api/v1"
      }
    }
  }
}

Only set QUSTO_API_KEY (and optionally QUSTO_API_BASE). Use the merchant key from Settings → API Access — never internal service keys.

Rate limits

Common errors

StatusMeaning
401Missing/invalid/revoked API key
403Site not owned, or plan lacks the feature (e.g. attribution on Core)
429Rate limit exceeded

Need help?

Generate a key under Dashboard → Settings → API Access. Product questions: hello@qusto.io.