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

# Get library usage metrics

> Retrieve full usage metrics for a library: cumulative and daily request counters broken down by surface (web page, text docs, MCP, CLI), MCP client daily unique-user breakdown, and lifetime topic and country distributions. The API key must belong to a member of the teamspace that owns the library — claim ownership from the library's admin page on context7.com.



## OpenAPI

````yaml /openapi.json get /v2/libs/metrics
openapi: 3.0.0
info:
  title: Context7 Public API
  description: >-
    The Context7 Public API provides programmatic access to library
    documentation and search functionality. Get up-to-date documentation and
    code examples for any library.
  version: 2.0.0
  contact:
    name: Context7 Support
    url: https://context7.com
    email: support@context7.com
servers:
  - url: https://context7.com/api
    description: Production server
security: []
tags:
  - name: Search
    description: Search for libraries in the Context7 database
  - name: Context
    description: Retrieve documentation context for queries
  - name: Refresh
    description: Refresh existing libraries to fetch latest documentation
  - name: Policies
    description: Manage teamspace access policies and filters
  - name: Add Library
    description: Submit new libraries for documentation processing
  - name: Metrics
    description: Retrieve usage metrics for libraries
paths:
  /v2/libs/metrics:
    get:
      tags:
        - Metrics
      summary: Get library usage metrics
      description: >-
        Retrieve full usage metrics for a library: cumulative and daily request
        counters broken down by surface (web page, text docs, MCP, CLI), MCP
        client daily unique-user breakdown, and lifetime topic and country
        distributions. The API key must belong to a member of the teamspace that
        owns the library — claim ownership from the library's admin page on
        context7.com.
      operationId: getLibraryMetrics
      parameters:
        - $ref: '#/components/parameters/LibraryIdParam'
        - $ref: '#/components/parameters/DaysParam'
      responses:
        '200':
          description: Library usage metrics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LibraryMetricsResponse'
              example:
                total:
                  page: 12450
                  txt: 3820
                  mcp: 95210
                  cli: 1240
                daily:
                  - date: '2025-01-14'
                    page: 8
                    txt: 3
                    mcp: 42
                    cli: 1
                    total: 54
                  - date: '2025-01-15'
                    page: 11
                    txt: 5
                    mcp: 67
                    cli: 0
                    total: 83
                mcpClients:
                  dailyData:
                    - date: '2025-01-14'
                      uniqueUsersByClient:
                        cursor: 12
                        claude-code: 7
                      totalUniqueUsers: 18
                    - date: '2025-01-15'
                      uniqueUsersByClient:
                        cursor: 15
                        claude-code: 9
                        codex: 2
                      totalUniqueUsers: 25
                topics:
                  - topic: routing
                    count: 420
                  - topic: middleware
                    count: 312
                  - topic: app-router
                    count: 187
                countries:
                  - country: US
                    count: 3120
                  - country: DE
                    count: 842
                  - country: IN
                    count: 610
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  parameters:
    LibraryIdParam:
      name: libraryId
      in: query
      description: >-
        Context7-compatible library ID — the URL path of the library on
        context7.com. Use `/owner/repo` for GitHub repositories, or
        `/<source>/<id>` for other sources (websites, llms.txt,
        GitLab/Bitbucket, etc.). Optionally suffix with `/<version>` or
        `@<version>` to pin a specific version. See [Library ID
        format](/api-guide#library-id-format).
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 500
        pattern: ^/[^/]+/[^/]+([/@][^/]+)?$
      examples:
        github:
          summary: GitHub repository
          value: /vercel/next.js
        website:
          summary: Website source
          value: /websites/uploadcare_com
        llmstxt:
          summary: llms.txt source
          value: /llmstxt/example
        withVersion:
          summary: With specific version (slash)
          value: /vercel/next.js/v14.3.0
        withVersionAt:
          summary: With specific version (@ syntax)
          value: /vercel/next.js@v14.3.0
    DaysParam:
      name: days
      in: query
      description: Number of days of daily history to return (1-365). Defaults to 30.
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 365
        default: 30
      example: 30
  schemas:
    LibraryMetricsResponse:
      type: object
      description: Library usage metrics response
      properties:
        total:
          $ref: '#/components/schemas/ProjectStats'
        daily:
          type: array
          description: >-
            Per-day request counts (deltas, not cumulative), ordered from oldest
            to newest. Days with zero activity are omitted. Up to `days` points
            — fewer if the library has less history or had idle days in the
            window.
          items:
            $ref: '#/components/schemas/DailyStatsPoint'
        mcpClients:
          $ref: '#/components/schemas/McpClientMetrics'
        topics:
          type: array
          description: Lifetime topic distribution, ordered by count descending
          items:
            $ref: '#/components/schemas/TopicCount'
        countries:
          type: array
          description: >-
            Lifetime country distribution (ISO-2 codes), ordered by count
            descending
          items:
            $ref: '#/components/schemas/CountryCount'
      required:
        - total
        - daily
        - mcpClients
        - topics
        - countries
    ProjectStats:
      type: object
      description: Cumulative request counts for a library, broken down by request surface
      properties:
        page:
          type: integer
          description: Requests served to the context7.com web UI
        txt:
          type: integer
          description: Plain-text documentation requests
        mcp:
          type: integer
          description: Requests served via the Context7 MCP server
        cli:
          type: integer
          description: Requests served to the Context7 CLI
      required:
        - page
        - txt
        - mcp
        - cli
    DailyStatsPoint:
      type: object
      description: >-
        Per-day request counts for a library (counts *on* this date, not
        cumulative)
      properties:
        date:
          type: string
          format: date
          description: UTC date in `YYYY-MM-DD` format
          example: '2025-01-15'
        page:
          type: integer
          description: Requests served to the context7.com web UI on this date
        txt:
          type: integer
          description: Plain-text documentation requests on this date
        mcp:
          type: integer
          description: Requests served via the Context7 MCP server on this date
        cli:
          type: integer
          description: Requests served to the Context7 CLI on this date
        total:
          type: integer
          description: Sum of all request surfaces on this date (`page + txt + mcp + cli`)
      required:
        - date
        - page
        - txt
        - mcp
        - cli
        - total
    McpClientMetrics:
      type: object
      description: MCP client usage breakdown by day
      properties:
        dailyData:
          type: array
          description: >-
            Per-day MCP client unique-user breakdown, ordered from oldest to
            newest
          items:
            $ref: '#/components/schemas/McpDailyClientData'
      required:
        - dailyData
    TopicCount:
      type: object
      description: Topic with its lifetime request count
      properties:
        topic:
          type: string
          description: Normalized, lowercased topic string
          example: routing
        count:
          type: integer
          description: Number of requests that referenced this topic
      required:
        - topic
        - count
    CountryCount:
      type: object
      description: Country with its lifetime request count
      properties:
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code
          example: US
        count:
          type: integer
          description: Number of requests originating from this country
      required:
        - country
        - count
    Error:
      type: object
      description: Standard error response
      properties:
        error:
          type: string
          description: Error code identifier
        message:
          type: string
          description: Human-readable error message
      required:
        - error
        - message
    McpDailyClientData:
      type: object
      description: Per-day MCP client unique users for a library
      properties:
        date:
          type: string
          format: date
          description: UTC date in `YYYY-MM-DD` format
          example: '2025-01-15'
        uniqueUsersByClient:
          type: object
          description: >-
            Unique user count per MCP client identifier (e.g., `cursor`,
            `claude-code`, `codex`)
          additionalProperties:
            type: integer
        totalUniqueUsers:
          type: integer
          description: Total unique users across all clients for this library on this date
      required:
        - date
        - uniqueUsersByClient
        - totalUniqueUsers
  responses:
    BadRequestError:
      description: Bad Request - Invalid input parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            validationError:
              summary: Validation error
              value:
                error: validation_error
                message: Library name is required
            invalidLibraryId:
              summary: Invalid library ID format
              value:
                error: invalid_library_id
                message: >-
                  Invalid library ID format. Expected: `/owner/repo` for GitHub
                  repositories, or `/<source>/<id>` for other sources (the URL
                  path of the library on context7.com)
    UnauthorizedError:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: invalid_api_key
            message: >-
              Invalid API key. Please check your API key. API keys should start
              with 'ctx7sk' prefix.
    ForbiddenError:
      description: Forbidden - Insufficient permissions or plan restrictions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            accessDenied:
              summary: Library not in allowed list
              value:
                error: access_denied
                message: >-
                  Access denied: Library /owner/repo is not included in your
                  allowed libraries
            insufficientRole:
              summary: Insufficient team role
              value:
                error: forbidden
                message: Only team owners and admins can add private repositories
            planRequired:
              summary: Plan upgrade required
              value:
                error: forbidden
                message: >-
                  Private repositories require a pro plan or team. Upgrade at
                  https://context7.com/plans
    NotFoundError:
      description: Not Found - Resource doesn't exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            libraryNotFound:
              summary: Library not found
              value:
                error: library_not_found
                message: >-
                  Library "/owner/repo" not found. Please check the library ID
                  or your access permissions.
            tagNotFound:
              summary: Version tag not found
              value:
                error: tag_not_found
                message: >-
                  Tag "v1.0.0" not found for library "/owner/repo". Available
                  tags: v2.0.0, v1.5.0
            noSnippetsFound:
              summary: No snippets found
              value:
                error: no_snippets_found
                message: Could not fetch documentation snippets from the library.
            teamNotFound:
              summary: Team not found
              value:
                error: team_not_found
                message: Team not found or access denied
            userNotFound:
              summary: User not found
              value:
                error: user_not_found
                message: User not found
            noLibrariesFound:
              summary: No libraries matched search query
              value:
                error: no_libraries_found
                message: >-
                  No libraries found for "nonexistent-lib". Try a different
                  search term.
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: internal_error
            message: An error occurred while processing your request
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Get your API key at
        [context7.com/dashboard](https://context7.com/dashboard). Treat your API
        key like a password and store it securely.

````