Printify
Print-on-demand fulfillment. Read shops and products, submit orders for production and track their status.
setup_integration or the Dashboard Vault — they're encrypted
with AES-256-GCM and never exposed.
Required Credentials
Get your API key at printify.com →
Endpoints (7)
List the shops on this Printify account. The shop id is needed for every other endpoint.
No input parameters required.
List products in a shop, paginated.
| Field | Type | Required | Description |
|---|---|---|---|
shop_id |
string | ✓ Yes | Shop id from list-shops. |
page |
integer | No | Page number (default 1). |
limit |
integer | No | Results per page (max 50). |
Get one product with its variants, prices, SKUs and images.
| Field | Type | Required | Description |
|---|---|---|---|
shop_id |
string | ✓ Yes | Shop id from list-shops. |
product_id |
string | ✓ Yes | Printify product id. |
Submit an order to Printify for fulfillment. Use a unique external_id (your own order number) so the same order is never submitted twice.
| Field | Type | Required | Description |
|---|---|---|---|
shop_id |
string | ✓ Yes | Shop id from list-shops. |
external_id |
string | ✓ Yes | Your own unique order reference, e.g. the WebsitePublisher order number. |
label |
string | No | Optional label shown in the Printify dashboard. |
line_items |
array | ✓ Yes | Items to print. Example: [{"product_id": "5bfd0b66a342bcc9b5563216", "variant_id": 17887, "quantity": 1}]. |
shipping_method |
integer | ✓ Yes | Shipping method: 1 = standard, 2 = priority, 3 = express, 4 = economy (availability depends on the product). |
send_shipping_notification |
boolean | No | Let Printify email the customer when the order ships. |
address_to |
array | ✓ Yes | Shipping address object: first_name, last_name, email, phone, country (ISO 2), region, address1, address2, city, zip. |
List orders in a shop, paginated. Optional status filter.
| Field | Type | Required | Description |
|---|---|---|---|
shop_id |
string | ✓ Yes | Shop id from list-shops. |
page |
integer | No | Page number (default 1). |
limit |
integer | No | Results per page. |
status |
string | No | Filter by status, e.g. "pending", "on-hold", "in-production", "fulfilled", "canceled". |
Get one order with its status, line items and shipments (tracking).
| Field | Type | Required | Description |
|---|---|---|---|
shop_id |
string | ✓ Yes | Shop id from list-shops. |
order_id |
string | ✓ Yes | Printify order id (returned by create-order). |
Release an order to production. Only needed when the shop does not send orders to production automatically. This starts the paid print job.
| Field | Type | Required | Description |
|---|---|---|---|
shop_id |
string | ✓ Yes | Shop id from list-shops. |
order_id |
string | ✓ Yes | Printify order id. |
MCP Tool Names
When using this integration through an AI assistant (Claude, ChatGPT, Cursor, etc.), the endpoints are available as MCP tools:
| Endpoint | MCP Tool Name |
|---|---|
| list-shops | printify_list_shops |
| list-products | printify_list_products |
| get-product | printify_get_product |
| create-order | printify_create_order |
| list-orders | printify_list_orders |
| get-order | printify_get_order |
| send-to-production | printify_send_to_production |
Website