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

# Get a GPU type

> Returns a single GPU type with pricing. Availability details are included only when requested with include=AVAILABILITY.



## OpenAPI

````yaml get /v2/catalog/gpus/{id}
openapi: 3.1.0
info:
  title: Runpod REST API
  version: 2.0.0
  description: Runpod public REST API — v2
servers:
  - url: https://api.runpod.io
    description: Runpod API v2 production server
security:
  - bearerAuth: []
tags:
  - name: Pods
    description: GPU and CPU pod lifecycle, configuration, actions, and log streaming.
  - name: Serverless
    description: >-
      Serverless endpoint lifecycle, worker visibility, releases, and worker log
      streaming.
  - name: Templates
    description: Reusable pod and endpoint configuration templates.
  - name: Network Volumes
    description: Persistent network storage volumes for workloads.
  - name: Registries
    description: Container registry credentials used to pull private images.
  - name: Catalog
    description: Available GPU, CPU, and data center catalog metadata.
  - name: Billing
    description: Billing history and usage cost records across resource types.
paths:
  /v2/catalog/gpus/{id}:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        example: NVIDIA GeForce RTX 4090
    get:
      tags:
        - Catalog
      summary: Get a GPU type
      description: >-
        Returns a single GPU type with pricing. Availability details are
        included only when requested with include=AVAILABILITY.
      operationId: getGpuType
      parameters:
        - $ref: '#/components/parameters/CatalogIncludeParam'
        - $ref: '#/components/parameters/GpuProductFilter'
        - $ref: '#/components/parameters/GpuCountFilter'
        - $ref: '#/components/parameters/GpuCloudFilter'
        - $ref: '#/components/parameters/MinCudaVersionFilter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GpuType'
              examples:
                gpu:
                  summary: Successful response
                  value:
                    id: NVIDIA GeForce RTX 4090
                    name: RTX 4090
                    pool: ADA_24
                    manufacturer: NVIDIA
                    memory: 24
                    secure: true
                    community: true
                    price:
                      secure: 0.44
                      community: 0.31
                    maxCount:
                      secure: 8
                      community: 4
                    availability: HIGH
                    dataCenters:
                      - id: US-KS-2
                        name: US Kansas 2
                        availability: HIGH
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '429':
          $ref: '#/components/responses/TooManyRequestsError'
        default:
          description: Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    CatalogIncludeParam:
      name: include
      in: query
      required: false
      description: >-
        Comma-separated optional expansions. Supported value today:
        AVAILABILITY. This may expand with more include values in the future.
      style: form
      explode: false
      schema:
        type: array
        maxItems: 1
        items:
          $ref: '#/components/schemas/CatalogInclude'
      example:
        - AVAILABILITY
    GpuProductFilter:
      name: product
      in: query
      required: false
      description: >-
        Comma-separated availability product contexts. Supported values: POD,
        CLUSTER, SERVERLESS. Valid only with include=AVAILABILITY. Upstream
        default when omitted: POD.
      style: form
      explode: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/Product'
      example:
        - POD
        - SERVERLESS
    GpuCountFilter:
      name: count
      in: query
      required: false
      description: >-
        GPU count for availability and lowest-price calculations. Valid only
        with include=AVAILABILITY. Defaults to 1.
      schema:
        type: integer
        minimum: 1
        default: 1
      example: 2
    GpuCloudFilter:
      name: cloud
      in: query
      required: false
      description: >-
        Cloud type for availability and lowest-price calculations. Valid only
        with include=AVAILABILITY. Supported values: SECURE, COMMUNITY. Upstream
        default when omitted: SECURE.
      schema:
        $ref: '#/components/schemas/GpuCloudFilter'
    MinCudaVersionFilter:
      name: minCudaVersion
      in: query
      required: false
      description: >-
        Minimum CUDA version for availability and lowest-price calculations.
        Valid only with include=AVAILABILITY. Format: integer major or
        major.minor, e.g. 12 or 12.1.
      schema:
        type: string
      example: '12.1'
  schemas:
    GpuType:
      type: object
      required:
        - id
        - name
        - pool
        - manufacturer
        - memory
        - secure
        - community
        - price
        - maxCount
      properties:
        id:
          type: string
          description: Individual GPU type identifier (use for pod creation)
          examples:
            - NVIDIA GeForce RTX 4090
        name:
          type: string
          examples:
            - RTX 4090
        pool:
          type:
            - string
            - 'null'
          description: >-
            Serverless GPU pool ID (use for serverless endpoint creation). Null
            if GPU is not in a serverless pool.
          examples:
            - ADA_24
        manufacturer:
          $ref: '#/components/schemas/GpuManufacturer'
        memory:
          type: integer
          description: VRAM in GB
          examples:
            - 24
        secure:
          type: boolean
          description: Available on secure cloud
          examples:
            - true
        community:
          type: boolean
          description: Available on community cloud
          examples:
            - true
        price:
          type: object
          required:
            - secure
            - community
          properties:
            secure:
              type: number
              format: float
              examples:
                - 0.44
            community:
              type: number
              format: float
              examples:
                - 0.31
        maxCount:
          type: object
          required:
            - secure
            - community
          properties:
            secure:
              type: integer
              examples:
                - 8
            community:
              type: integer
              examples:
                - 4
        availability:
          $ref: '#/components/schemas/AvailabilityLevel'
          description: >-
            Overall GPU availability. Present only when requested with
            include=AVAILABILITY.
        dataCenters:
          type: array
          description: >-
            Per-datacenter GPU availability. Present only when requested with
            include=AVAILABILITY.
          items:
            $ref: '#/components/schemas/DataCenterAvailability'
    ErrorResponse:
      type: object
      required:
        - title
        - status
        - detail
      properties:
        title:
          type: string
          description: Short human-readable summary
          examples:
            - Not Found
        status:
          type: integer
          description: HTTP status code
          examples:
            - 404
        detail:
          type: string
          description: Human-readable explanation
          examples:
            - pod not found
        errors:
          type: array
          description: Individual request-validation failures.
          items:
            type: string
          examples:
            - - '$: additional properties ''bogus'' not allowed'
    CatalogInclude:
      type: string
      description: >-
        Catalog include expansion. Only AVAILABILITY is supported today;
        additional include values may be added in the future.
      enum:
        - AVAILABILITY
    Product:
      type: string
      description: Catalog product availability context.
      enum:
        - POD
        - CLUSTER
        - SERVERLESS
    GpuCloudFilter:
      type: string
      description: GPU availability cloud filter.
      enum:
        - SECURE
        - COMMUNITY
    GpuManufacturer:
      type: string
      description: Canonical GPU hardware manufacturer.
      x-enum-varnames:
        - GpuManufacturerNVIDIA
        - GpuManufacturerAMD
        - GpuManufacturerUNKNOWN
      enum:
        - NVIDIA
        - AMD
        - UNKNOWN
    AvailabilityLevel:
      type: string
      description: Catalog stock availability level.
      enum:
        - NONE
        - LOW
        - MEDIUM
        - HIGH
    DataCenterAvailability:
      type: object
      required:
        - id
        - name
        - availability
      properties:
        id:
          type: string
          description: Data center identifier.
          examples:
            - US-CA-2
        name:
          type: string
          description: Human-readable data center name.
          examples:
            - US California 2
        availability:
          $ref: '#/components/schemas/AvailabilityLevel'
  responses:
    UnauthorizedError:
      description: >-
        Authentication failed because the bearer token is missing, malformed,
        expired, or invalid.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingBearerToken:
              summary: Missing bearer token
              value:
                title: Unauthorized
                status: 401
                detail: missing bearer token
    ForbiddenError:
      description: >-
        The bearer token is valid, but it does not grant access to the requested
        resource or action.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            insufficientAccess:
              summary: Insufficient access
              value:
                title: Forbidden
                status: 403
                detail: access denied
    NotFoundError:
      description: The requested resource was not found or is not accessible to the caller.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            notFound:
              summary: Resource not found
              value:
                title: Not Found
                status: 404
                detail: resource not found
    TooManyRequestsError:
      description: >
        The caller exceeded its per-user rate limit. The response identifies the
        window that was exceeded and how long to wait. The `RateLimit` and
        `RateLimit-Policy` headers (per the IETF ratelimit-headers draft) also
        accompany successful responses, so clients can track quota before a 429.
      headers:
        Retry-After:
          description: Seconds to wait before retrying, per the exceeded window.
          schema:
            type: integer
          example: 12
        RateLimit:
          description: >
            Live per-window state as a structured-field list — one member per
            window (`minute`, `hour`, `day`) with remaining count `r` and
            seconds-until-reset `t`.
          schema:
            type: string
          example: '"minute";r=0;t=12, "hour";r=2800;t=1812, "day";r=49500;t=45012'
        RateLimit-Policy:
          description: >
            Static quota policy as a structured-field list — one member per
            window with quota `q` and window length `w` (seconds).
          schema:
            type: string
          example: '"minute";q=60;w=60, "hour";q=3000;w=3600, "day";q=50000;w=86400'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            rateLimited:
              summary: Rate limit exceeded
              value:
                title: Too Many Requests
                status: 429
                detail: rate limit exceeded for the minute window
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Runpod API Key
      description: >
        Runpod API key authentication. Generate an API key in the Runpod console
        and send it in the `Authorization` header as `Bearer <api_key>`. Keys
        are scoped to the permissions granted when created; requests may return
        `403` when a valid key lacks access to the requested resource or action.

````