Printful Catalog API

Printful has a substantial catalog of blank Products and Variants. A Product can describe a specific type, model and manufacturer of the item, while the Variant specifies the more detailed attributes of the product like the exact size/color of a T-shirt or the dimensions of a poster. Moreover, each item in the Printful Catalog has a unique Variant ID. When managing Sync Products or orders, you will need to specify the Variant ID of the specific blank item, hence you can use this API resource to find the needed Variant ID.

It is critically important to always refer to the Variant IDs (NOT Product IDs) when creating products or orders. Mixing up and using the Product ID instead of the Variant ID can lead to an entirely different product created or item ordered. The Product entity is only meant to allow of easier browsing of what Printful offers.

You can also use this API resource to find out the types of print files a product can be configured for as well as the additional price each print file would cost (e.g. the back print or inside label print for T-shirts). Moreover, some product types allow for additional options (e.g. embroidery type and thread colors) - these options are listed in the responses as well.

Get all Product list

GET https://api.printful.com/products

Returns list of Products available in the Printful.
Input parameters:
None
Response format:
code integer Response status code 200
result Product [ ]
id integer Product ID
type string Product type identifier
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 OptionType [ ] Definitions of additional options that are available for this product
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 array Option values - [key, value] map
additional_price string Additional price when this option is used
additional_price_breakdown array Additional price breakdown by type - [key, value] map
is_discontinued boolean If product is disabled in push
description string Product description
API key
Execute

Get information about Variant

GET https://api.printful.com/products/variant/{id}

Returns information about a specific Variant and its Product
Input parameters:
id integer Variant ID
Response format:
code integer Response status code 200
result VariantInfo
variant Variant Information about the selected 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 array Map of [region code, region name] of regions where the variant is available for fulfilment
product Product Information about the Product that the Variant belongs to
id integer Product ID
type string Product type identifier
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 OptionType [ ] Definitions of additional options that are available for this product
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 array Option values - [key, value] map
additional_price string Additional price when this option is used
additional_price_breakdown array Additional price breakdown by type - [key, value] map
is_discontinued boolean If product is disabled in push
description string Product description
API key
id Variant ID
Execute

Get Product's Variant list

GET https://api.printful.com/products/{id}

Returns information about a specific product and a list of variants for this product.
Input parameters:
id integer Product ID
Response format:
code integer Response status code 200
result ProductInfo
product Product Information about the selected product
id integer Product ID
type string Product type identifier
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 OptionType [ ] Definitions of additional options that are available for this product
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 array Option values - [key, value] map
additional_price string Additional price when this option is used
additional_price_breakdown array Additional price breakdown by type - [key, value] map
is_discontinued boolean If product is disabled in push
description string Product description
variants Variant [ ] Array of Variants available for the selected product
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 array Map of [region code, region name] of regions where the variant is available for fulfilment
API key
id Product ID
Execute

Ready to try Printful ?