> ## Documentation Index
> Fetch the complete documentation index at: https://docs.perplexity.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Usage Analytics per Member

> Returns your organization's Perplexity usage broken down per member, as daily buckets. Each day lists one row per member with usage that day, keyed by email. credit_usage carries the same Model and Credit Source breakdown as v1; query_volume carries Feature, Project and Comet. Uses the same organization analytics API key as v1. Only complete UTC days are returned; the in-progress day is never included.

<Info>
  This endpoint requires an **organization analytics API key**, generated by an org admin from the Perplexity web app — the same key v1 uses. See [Analytics API](/docs/admin/computer-analytics-api#per-member-usage) for setup, per-member semantics, and pagination.
</Info>


## OpenAPI

````yaml get /v2/analytics/computer/usage
openapi: 3.1.0
info:
  title: Perplexity AI API
  description: Perplexity AI API
  version: 1.0.0
servers:
  - url: https://api.perplexity.ai
    description: Perplexity AI API
security: []
paths:
  /v2/analytics/computer/usage:
    get:
      summary: Usage Analytics per Member
      description: >-
        Returns your organization's Perplexity usage broken down per member, as
        daily buckets. Each day lists one row per member with usage that day,
        keyed by email. credit_usage carries the same Model and Credit Source
        breakdown as v1; query_volume carries Feature, Project and Comet. Uses
        the same organization analytics API key as v1. Only complete UTC days
        are returned; the in-progress day is never included.
      operationId: getComputerUsageAnalyticsV2
      parameters:
        - name: dataset
          in: query
          required: true
          description: >-
            The dataset to query. query_volume at this grain carries Feature,
            Project and Comet breakdowns, but not Model or Model Family.
          schema:
            type: string
            enum:
              - credit_usage
              - query_volume
        - name: group_by
          in: query
          required: true
          description: >-
            The dimension to group each day's usage by. user_email is currently
            the only supported value.
          schema:
            type: string
            enum:
              - user_email
        - name: start_time
          in: query
          required: true
          description: >-
            Window start in unix seconds (UTC), inclusive. Snapped down to the
            day grid, so the first day can include usage from before this time.
          schema:
            type: integer
            minimum: 0
        - name: end_time
          in: query
          required: false
          description: >-
            Window end in unix seconds (UTC), exclusive. Defaults to now; future
            values are capped at now. The window may span at most 90 days.
          schema:
            type: integer
            minimum: 0
        - name: limit
          in: query
          required: false
          description: >-
            Member rows per page. Default 50, max 100. A page can span multiple
            days.
          schema:
            type: integer
        - name: page
          in: query
          required: false
          description: >-
            Opaque pagination cursor from a previous response's next_page. Valid
            only with the same query parameters it was issued for.
          schema:
            type: string
      responses:
        '200':
          description: >-
            Per-member daily usage for the requested window. Days with no
            attributable usage are omitted; the analytics store syncs
            periodically, so recent days may not yet be present.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComputerUsageV2Response'
              example:
                categories:
                  - Model
                  - Credit Source
                data:
                  - start_time: 1746057600
                    end_time: 1746144000
                    results:
                      - user_email: alice@example.com
                        count: 900
                        by_categories:
                          Model:
                            - category: claude-opus-4-8
                              count: 900
                          Credit Source:
                            - category: paid
                              count: 900
                      - user_email: bob@example.com
                        count: 500
                        by_categories:
                          Model:
                            - category: claude-sonnet-4-6
                              count: 500
                          Credit Source:
                            - category: promo
                              count: 500
                has_more: true
                next_page: eyJwayI6ICJPUkcjLi4uIn0=
        '400':
          description: >-
            Invalid parameters (type: bad_request) — e.g. a dataset or group_by
            outside the accepted values — or a semantically invalid request
            (type: invalid_request), e.g. start_time after end_time, a window
            over 90 days, or a misused pagination cursor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsErrorResponse'
              example:
                error:
                  message: start_time must be before end_time.
                  type: invalid_request
                  code: 400
        '401':
          description: 'Missing or invalid API key (type: unauthorized).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsErrorResponse'
        '404':
          description: >-
            The Analytics API is not enabled for this organization (type:
            feature_disabled).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsErrorResponse'
        '429':
          description: >-
            Rate limit exceeded (type: request_rate_limit_exceeded). Limits
            apply per organization across all of its keys.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsErrorResponse'
      security:
        - HTTPBearer: []
components:
  schemas:
    ComputerUsageV2Response:
      type: object
      properties:
        categories:
          type: array
          description: >-
            Category breakdown labels each member row surfaces, in canonical
            render order. Each label is a key in every row's `by_categories`.
          items:
            type: string
        data:
          type: array
          description: >-
            Daily buckets in chronological order, each with one row per member
            who used credits that day. Days with no attributable usage are
            omitted.
          items:
            $ref: '#/components/schemas/ComputerUsageV2Bucket'
        has_more:
          type: boolean
          description: Whether more member rows exist beyond this page.
        next_page:
          type:
            - string
            - 'null'
          description: >-
            Cursor for the next page; pass as the page parameter with otherwise
            identical query parameters.
      required:
        - categories
        - data
        - has_more
    AnalyticsErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            type:
              type: string
            code:
              type: integer
          required:
            - message
            - type
            - code
      required:
        - error
    ComputerUsageV2Bucket:
      type: object
      properties:
        start_time:
          type: integer
          description: Day start in unix seconds (UTC), inclusive.
        end_time:
          type: integer
          description: Day end in unix seconds (UTC), exclusive.
        results:
          type: array
          description: One row per member with credit usage on this day.
          items:
            $ref: '#/components/schemas/ComputerUsageV2Result'
      required:
        - start_time
        - end_time
        - results
    ComputerUsageV2Result:
      type: object
      description: One member's credit usage for a single day.
      properties:
        user_email:
          type: string
          description: >-
            The member's email. Rows whose member can no longer be resolved to
            an email are omitted.
        count:
          type: integer
          description: >-
            The member's credit total for the day. May exceed the sum of any
            single breakdown — usage without a category attribution counts
            toward the total but not the breakdown.
        by_categories:
          type: object
          description: >-
            The member's day broken down by each label in the response's
            top-level `categories` list.
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ComputerUsageCategoryCount'
      required:
        - user_email
        - count
        - by_categories
    ComputerUsageCategoryCount:
      type: object
      description: >-
        A bucket's count for one value of a category breakdown — e.g. a
        connector name for connectors, a duration band for task_durations, or
        paid/promo for credit_usage's Credit Source axis.
      properties:
        category:
          type: string
        count:
          type: integer
      required:
        - category
        - count
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````