> ## 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 a library

> The library's parse state, counts, versions and the active parse task. Poll it after adding or refreshing a library. Works for the teamspace's private and claimed libraries, and for any public library.



## OpenAPI

````yaml https://context7.com/openapi.json get /v2/teamspaces/{teamspaceId}/libraries/{owner}/{repo}
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: Ask
    description: Answer questions from a website registered with Context7 Ask
  - 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
  - name: Usage
    description: See member and teamspace API usage
  - name: Teamspaces
    description: >-
      Teamspaces the caller is a member of. The management API
      (`/v2/teamspaces/*`) accepts a Context7 API key, which reaches only its
      own teamspace and can make changes or read personal data only when it was
      created with write access (other keys can only read and get 403
      `write_access_required` on writes and on personal data), or an OAuth token
      issued for the Context7 Admin MCP server
      (`https://admin.mcp.context7.com/mcp`), which reaches every teamspace of
      the user. A browser session is not accepted.
  - name: Teamspace Admin
    description: >-
      Members, invitations, rules, library policies and requests, usage and the
      spending limit of a teamspace. Every API key can read rules, policies,
      usage and the spending limit. Changes, and reading members, invitations,
      the invite link and library requests (they name people), need an API key
      created with **Write access** ticked (other keys get 403
      `write_access_required`), or the Context7 Admin MCP sign-in.
  - name: Teamspace Libraries
    description: >-
      A teamspace's libraries: its private sources and the libraries it has
      claimed. Add, refresh, configure, version, claim and remove them, and read
      their parse state and usage. A library id `/owner/repo` is two path
      segments. Every API key can read. Changes need an API key created with
      **Write access** ticked (other keys get 403 `write_access_required`), or
      the Context7 Admin MCP sign-in.
  - name: Docs7 Sites
    description: >-
      Docs7 documentation sites of a teamspace: settings, custom domains,
      deployments, previews and the Docs7 agents. Any member can read; owners
      and admins can change; developers can add a site, publish one added for
      the agents only, and rebuild. Sites deployed with the `docs7 deploy` CLI
      have `source: "local"`; operations marked GitHub-only answer 404 for them.
      Every API key can read, except feature requests and the GitHub account
      behind a build (personal data). Changes, and those reads, need an API key
      created with **Write access** ticked (other keys get 403
      `write_access_required`), or the Context7 Admin MCP sign-in.
  - name: Docs7 Analytics
    description: >-
      Traffic of one Docs7 site: visitors, AI crawlers, searches, assistant
      questions and page feedback. Docs7 Free reads the last 7 days, Docs7 Pro
      the last 90. Every API key can read the visitor, crawler and path reports.
      Searches, questions, conversations, feedback and the raw records
      (`explore`) are personal data and need an API key created with **Write
      access** ticked, or the Context7 Admin MCP sign-in.
  - name: Ask Sites
    description: >-
      Manage a teamspace's Context7 Ask sites: add, verify, remove, and read
      their analytics and question log. Every API key can read the sites.
      Changes, and reading the analytics and question log (visitor questions),
      need an API key created with **Write access** ticked (other keys get 403
      `write_access_required`), or the Context7 Admin MCP sign-in.
paths:
  /v2/teamspaces/{teamspaceId}/libraries/{owner}/{repo}:
    parameters:
      - name: teamspaceId
        in: path
        required: true
        description: Teamspace id (uuid).
        schema:
          type: string
          format: uuid
      - name: owner
        in: path
        required: true
        description: >-
          First segment of the library id `/owner/repo` (for example `vercel` in
          `/vercel/next.js`, `websites` in `/websites/docs_example_com`).
          Case-insensitive.
        schema:
          type: string
      - name: repo
        in: path
        required: true
        description: Second segment of the library id `/owner/repo`. Case-insensitive.
        schema:
          type: string
    get:
      tags:
        - Teamspace Libraries
      summary: Get a library
      description: >-
        The library's parse state, counts, versions and the active parse task.
        Poll it after adding or refreshing a library. Works for the teamspace's
        private and claimed libraries, and for any public library.
      operationId: getTeamspaceLibrary
      responses:
        '200':
          description: The library
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamspaceLibraryDetail'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          description: >-
            The caller cannot access this teamspace, the API key belongs to
            another teamspace, or the caller's role is too low
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: forbidden
                message: You do not have access to this teamspace.
        '404':
          description: >-
            The teamspace has no library with this id (neither claimed nor one
            of its private sources)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: library_not_found
                message: This teamspace has no library with this id.
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    TeamspaceLibraryDetail:
      allOf:
        - $ref: '#/components/schemas/TeamspaceLibrarySummary'
        - type: object
          required:
            - versions
            - task
          properties:
            lastRunDate:
              type: string
              format: date-time
              description: When the last parse ran, successful or not.
            issues:
              type: object
              description: Problems the last parse found.
              properties:
                tooLarge:
                  type: boolean
                noCode:
                  type: boolean
                languageMismatch:
                  type: boolean
                redirect:
                  type: string
                blocked:
                  type: boolean
                disallowed:
                  type: boolean
            versions:
              type: array
              items:
                $ref: '#/components/schemas/TeamspaceLibraryVersion'
            task:
              type: object
              allOf:
                - $ref: '#/components/schemas/TeamspaceLibraryTask'
              nullable: true
              description: The active parse task, or null when none runs.
            config:
              description: >-
                The owner settings (what the PATCH changes), for a library the
                teamspace owns.
              allOf:
                - $ref: '#/components/schemas/TeamspaceLibraryConfig'
    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
    TeamspaceLibrarySummary:
      type: object
      description: >-
        A library of the teamspace: one of its private sources or a library it
        has claimed.
      required:
        - id
        - private
        - owned
        - state
      properties:
        id:
          type: string
          description: Library id, `/owner/repo`.
          example: /acme/internal-docs
        title:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
            - repo
            - llmstxt
            - website
            - openapi
            - pdf
            - docx
            - file
            - confluence
            - notion
          description: Source type.
        sourceUrl:
          type: string
          description: >-
            Where the library is read from (repository, website, llms.txt or
            OpenAPI URL).
        branch:
          type: string
          description: Default branch (repositories).
        private:
          type: boolean
          description: One of the teamspace's private sources.
        owned:
          type: boolean
          description: >-
            Claimed by the teamspace. Owner operations (config, versions delete,
            analytics) need it.
        state:
          type: string
          enum:
            - processing
            - finalizing
            - complete
            - error
          description: >-
            Parse state. `processing`: a parse runs. `finalizing`: the new data
            is ready and cleanup still runs. `complete`: done. `error`: the last
            parse failed, or a first parse ended without a library.
        lastUpdateDate:
          type: string
          format: date-time
          description: Last successful update.
        totalTokens:
          type: integer
        totalSnippets:
          type: integer
        totalPages:
          type: integer
        benchmarkScore:
          type: number
          description: Context7's benchmark score of the library's docs, 0 to 100.
    TeamspaceLibraryVersion:
      type: object
      description: >-
        A tag or branch parsed as a version of its own. The default branch is
        the library itself, not a version.
      required:
        - name
        - isBranch
        - state
      properties:
        name:
          type: string
          description: Tag or branch name. Use it in `DELETE .../versions/{version}`.
          example: v14.0.0
        title:
          type: string
        isBranch:
          type: boolean
        state:
          type: string
          enum:
            - processing
            - finalizing
            - complete
            - error
          description: >-
            Parse state. `processing`: a parse runs. `finalizing`: the new data
            is ready and cleanup still runs. `complete`: done. `error`: the last
            parse failed, or a first parse ended without a library.
        lastUpdateDate:
          type: string
          format: date-time
        totalTokens:
          type: integer
        totalSnippets:
          type: integer
    TeamspaceLibraryTask:
      type: object
      description: The active parse task, as the public task list shows it.
      required:
        - lockState
        - lockDate
        - task
      properties:
        lockState:
          type: string
          enum:
            - processing
            - waiting
            - crawling
            - crawled
        lockDate:
          type: string
          format: date-time
          description: When the task started.
        progress:
          type: string
          description: The parser's progress line.
          example: Processing 45/120 files, 3/8 chunks
        task:
          type: object
          required:
            - type
            - projectName
            - displayName
          properties:
            type:
              type: string
              description: Task type, for example `parse_repo` or `refresh_website`.
            projectName:
              type: string
              description: Library id, with `@tag` for a version task.
            displayName:
              type: string
    TeamspaceLibraryConfig:
      type: object
      description: The saved owner settings. Unset fields are null.
      properties:
        projectTitle:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        baseUrl:
          type: string
          nullable: true
        webUrl:
          type: string
          nullable: true
        branch:
          type: string
          nullable: true
        folders:
          type: array
          items:
            type: string
          nullable: true
        excludeFolders:
          type: array
          items:
            type: string
          nullable: true
        excludeFiles:
          type: array
          items:
            type: string
          nullable: true
        includeExtensions:
          type: array
          items:
            type: string
          nullable: true
        rules:
          type: array
          items:
            type: string
          nullable: true
        disallow:
          type: boolean
          nullable: true
        useQueryParams:
          type: boolean
          nullable: true
        excludeUrls:
          type: array
          items:
            type: string
          nullable: true
        skipClaudeVersionExclusion:
          type: boolean
          nullable: true
        generateDocs:
          type: boolean
          nullable: true
          description: Null for public repositories.
        configSource:
          type: string
          enum:
            - dashboard
            - context7json
          nullable: true
  responses:
    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.
    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. Every key can read the
        management API (`/v2/teamspaces/*`), except personal data: member and
        invitation emails, library requesters, visitor questions, Docs7 reader
        searches, conversations, feedback and feature requests, and the GitHub
        account behind a build. To read those or make changes there, the key
        must be created with **Write access** ticked; other keys get 403
        `write_access_required`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.