---
title: "Get Product"
method: GET
path: "/products/{id}"
tags: ["Catalog API"]
---

# Get Product

`GET /products/{id}`

Returns information about a specific product and a list of variants for this product.

## Path parameters

- `id` integer, required

## Response `200`

OK

- object
  - `code` integer — Response status code `200`
  - `result` ProductInfo
    - `product` Product — Information about the Product that the Variant belongs to
      - `id` integer — Product ID
      - `main_category_id` integer — Main category of product
      - `type` string — Product type identifier
      - `type_name` string — Product type name
      - `title` string — Product title
      - `brand` string — Brand name
      - `model` string — Model name
      - `image` string — URL of a sample image for this product
      - `variant_count` integer — Number of available variants for this product
      - `currency` string — Currency in which prices are returned
      - `files` FileType[] — Definitions of Print/Mockup file categories that can be attached to this product
        - `id` string — Deprecated file type identifier. Please use type field instead!
        - `type` string — File type identifier - use this to specify a file's purpose when creating an order
        - `title` string — Display name
        - `additional_price` string — Additional price when this print file type is used
        - `options` CatalogFileOption[] — Additional options available to product files
          - `id` string — File option identifier. Use this to specify which option you are adding to your file in a request.
          - `type` string — The type of the value property when using this option in a request.
          - `title` string
          - `additional_price` number — Additional cost this will add to the item.
      - `options` OptionType[] — Definitions of additional options that are available for this product [See examples](#tag/Common/Options)
        - `id` string — Option identifier - use this to specify the option when creating an order
        - `title` string — Display name
        - `type` string — Data type of this option (currently only 'bool' is supported)
        - `values` object — Possible option values - [key, value] map
        - `additional_price` string — Additional price when this option is used
        - `additional_price_breakdown` object — Additional price breakdown by type - [key, value] map
      - `is_discontinued` boolean — If product is disabled in push
      - `avg_fulfillment_time` number — Average number of days for order to be fulfilled
      - `description` string — Product description
      - `techniques` AvailableTechnique[] — Available techniques
        - `key` string — The technique key to be used in the API
        - `display_name` string — The human-readable technique name
        - `is_default` boolean — Whether the technique is the default one
      - `origin_country` string, nullable — The origin country for inside label
    - `variants` Variant[]
      - `id` integer — Variant ID, use this to specify the product when creating orders
      - `product_id` integer — ID of the product that this variant belongs to
      - `name` string — Display name
      - `size` string — Item size
      - `color` string — Item color
      - `color_code` string — Hexadecimal RGB color code. May not exactly reflect the real-world color
      - `color_code2` string — Secondary hexadecimal RGB color code. May not exactly reflect the real-world color
      - `image` string — URL of a preview image for this variant
      - `price` string — Variant's price (can change depending on print files and optional settings)
      - `in_stock` boolean — Stock availability of this variant
      - `availability_regions` object — Map of [region code, region name] of regions where the variant is available for fulfillment
      - `availability_status` AvailabilityStatus[] — Detailed stock status per region
        - `region` string — Region code
        - `status` string — Stock status. Possible values include: 'in_stock' - available for fulfillment, 'stocked_on_demand' - available for fulfillment, 'discontinued' - permanently unavailable, 'out_of_stock' - temporarily unavailable
      - `material` Material[] — A list of materials this Variant is composed of
        - `name` string — Material name
        - `percentage` number — Percentage of the material in the product

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/printful/apis/api-documentation-printful.md) · [All operations](https://skmtc.net/printful/apis/api-documentation-printful/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/printful/api-documentation-printful/revisions/18e2f2e178dd/schema)
