EvoHub Docs Sign in

Status API › Analytics

Get a page's visitor analytics

Use with AI
View as MarkdownThis page as plain text, for pasting into an AI tool Open in ClaudeAsk Claude questions about this page Open in ChatGPTAsk ChatGPT questions about this page
Connect to Cursor / VS Code / ClaudeSearch and read these docs from your AI tool (MCP server)

MCP server URL

https://docs-dev.evohub.io/mcp

Claude Code

claude mcp add --transport http evohub-docs-docs https://docs-dev.evohub.io/mcp

Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector, and paste the URL above.

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://docs-dev.evohub.io/mcp"
      ]
    }
  }
}

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}

VS Code — .vscode/mcp.json

{
  "servers": {
    "evohub-docs-docs": {
      "type": "http",
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}
GET/api/v1/pages/{pageID}/analytics

Views, visitors, feed reads and AI requests per day, and the top routes, products, referrers, countries, devices, feeds and AI agents. Counts are cookieless and first-party. The range is whole UTC days, from and to inclusive, by default the last 30 days, at most 366.

Permission (API-key scope): status:page:read.

Authorization

Any one of:

Parameters

Path parameters

  • pageID string (uuid) required
    The status page's id (a UUID).
    Example: 3f6c2a1e-8b4d-4f7a-9c21-5d0e7a9b1c42

Query parameters

  • from string (date)
    First UTC day (YYYY-MM-DD).
  • to string (date)
    Last UTC day (YYYY-MM-DD), inclusive. Default today.

Responses

200

The analytics.

Content type: application/json

Type: object

  • data PageAnalytics required
    Show PageAnalytics properties
    • from string (date)
    • to string (date)
    • enabled boolean
      Whether the page collects analytics now.
    • totals object
      • views integer
      • visitors integer
      • feed_reads integer
      • ai_requests integer
      • subscribers_confirmed integer
    • series array of object
      • day string (date)
      • views integer
      • visitors integer
    • routes array of object
      • route string
      • views integer
    • products array of object
      • product string
      • views integer
    • referrers array of object
      • host string
      • views integer
    • countries array of object
      • code string
      • views integer
    • devices array of object
      • device string
      • views integer
    • feeds array of object
      • kind string
      • count integer
    • ai array of object
      • kind string
      • count integer
    • ai_agents array of object
      • agent string
      • count integer
  • success boolean required
    Value: true

400

from/to is not a date, from is after to, or the range is longer than 366 days (VALIDATION_ERROR).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.
    • request_id string
      This request's id, also in X-Request-ID.

401

No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.
    • request_id string
      This request's id, also in X-Request-ID.

403

The key lacks the scope this endpoint needs (FORBIDDEN).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.
    • request_id string
      This request's id, also in X-Request-ID.

404

No such item, or one the caller cannot see (NOT_FOUND).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.
    • request_id string
      This request's id, also in X-Request-ID.

429

Too many requests (RATE_LIMITED). Wait Retry-After seconds.

Headers

  • Retry-After integer
    Seconds to wait.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.
    • request_id string
      This request's id, also in X-Request-ID.

500

Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.
    • request_id string
      This request's id, also in X-Request-ID.

Example request

curl -X GET 'https://evohub.io/api/v1/pages/3f6c2a1e-8b4d-4f7a-9c21-5d0e7a9b1c42/analytics' \
  -H 'Authorization: Bearer <TOKEN>'

Last updated