# Printify

```json
{
  "name": "Printify",
  "slug": "printify",
  "url": "https://composio.dev/toolkits/printify",
  "markdown_url": "https://composio.dev/toolkits/printify.md",
  "logo_url": "https://logos.composio.dev/api/printify",
  "categories": [
    "e-commerce"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-20T15:33:45.788Z"
}
```

![Printify logo](https://logos.composio.dev/api/printify)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Printify MCP or direct API to manage shops, create products, track orders, and upload designs through natural language.

## Summary

Printify is a print-on-demand platform for creating and selling custom products through connected merchant shops.
It helps teams manage product catalogs, fulfillment, orders, uploads, and webhooks from one place.

## Categories

- e-commerce

## Toolkit Details

- Tools: 25

## Images

- Logo: https://logos.composio.dev/api/printify

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Printify.
  - Setup:
    - Configure Api Key credentials for Printify.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List recent orders across Printify shops
- Create Printify product from uploaded design
- Check Printify catalog print provider options

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `PRINTIFY_ARCHIVE_UPLOAD` | Archive Uploaded Image | Irreversibly archive an image in the connected merchant's Printify media library. This cannot be undone, removes it from normal media-library use, and may affect future product editing, but does not remove artwork already rendered into existing products. Use only after checking the exact image ID and explicitly confirming archival. |
| `PRINTIFY_CALCULATE_ORDER_SHIPPING` | Calculate Order Shipping | Calculate available shipping-cost estimates for proposed line items and a destination. This is quote-only: it does not create an order, send anything to production, or charge the merchant, despite requiring orders.write. Returned amounts are estimates in integer minor currency units. |
| `PRINTIFY_CREATE_PRODUCT` | Create Draft Product | Create a new product draft in a Printify shop. This changes merchant data but does not publish the product or submit an order. Validate blueprint, provider, variant, print-position, and uploaded image IDs before calling. |
| `PRINTIFY_CREATE_WEBHOOK` | Create Webhook | Create a persistent webhook subscription for a Printify shop. Printify sends real event payloads to the HTTPS callback URL. An optional signing secret can be supplied for receiver-side X-Pfy-Signature verification. |
| `PRINTIFY_DELETE_PRODUCT` | Delete Product | Permanently delete a product from a Printify shop. This cannot be undone and does not cancel or refund existing orders. Read the product first and verify both IDs before confirming deletion. |
| `PRINTIFY_DELETE_WEBHOOK` | Delete Webhook | Permanently delete a Printify webhook subscription so future events are no longer delivered. The expected callback host must match the subscription, which helps prevent deletion of the wrong webhook. |
| `PRINTIFY_GET_BLUEPRINT` | Get Blueprint | Get the full catalog record for one Printify product blueprint, including its description and images. Use SEARCH_BLUEPRINTS first when the blueprint ID is unknown. |
| `PRINTIFY_GET_ORDER` | Get Order | Get complete details for one Printify order, including its recipient address, line items, status, shipping method, shipments, and timestamps. This call is read-only. All monetary amounts are integer minor currency units. |
| `PRINTIFY_GET_PRODUCT` | Get Product | Get the complete Printify record for one product in a shop, including variants, print areas, images, visibility, and sales-channel properties. |
| `PRINTIFY_GET_SHIPPING_DETAILS` | Get Catalog Shipping Details | Get per-variant shipping costs and handling-time ranges for one advertised V2 shipping method. Monetary amounts are integer minor currency units, not decimal major units. Call LIST_SHIPPING_METHODS first and pass only a method it advertised for this blueprint and print provider pair. |
| `PRINTIFY_LIST_BLUEPRINT_PRINT_PROVIDERS` | List Blueprint Print Providers | List print providers that can fulfill a specific Printify blueprint. Use a returned provider ID with variant and shipping tools before creating a product. |
| `PRINTIFY_LIST_BLUEPRINT_VARIANTS` | List Blueprint Variants | List purchasable variants and print placeholders for a blueprint and print provider. Variant IDs and placeholder dimensions are required inputs when configuring a product. |
| `PRINTIFY_LIST_ORDERS` | List Orders | Return one page of orders in a Printify shop, optionally filtered by provider status or exact SKU. This is read-only and does not submit, cancel, or send orders to production. All monetary amounts are integer minor currency units. |
| `PRINTIFY_LIST_PRODUCTS` | List Products | Return one page of products in a Printify shop. Use next_cursor to continue without automatically exhausting a potentially large shop catalog. |
| `PRINTIFY_LIST_SHIPPING_METHODS` | List Catalog Shipping Methods | List the V2 shipping methods actually available for a Printify blueprint and print provider. Availability varies by pair, so call this before requesting method-specific shipping details. |
| `PRINTIFY_LIST_SHOPS` | List Shops | List shops available to the connected Printify merchant account. Use the returned shop IDs in product, order, and webhook workflows; a shop may be disconnected from a sales channel while remaining readable. |
| `PRINTIFY_LIST_UPLOADS` | List Uploaded Images | Return one page of images in the connected merchant's Printify media library. Use image IDs and preview metadata when configuring product print areas. |
| `PRINTIFY_LIST_WEBHOOKS` | List Webhooks | List webhook subscriptions configured for a Printify shop. The live API returns a complete array, so this action does not expose pagination controls. |
| `PRINTIFY_PUBLISH_PRODUCT` | Publish Product Changes | Start asynchronous publication of one or more fields selected in fields_to_publish from Printify to the shop's connected sales channel. This can make product content externally visible but does not create an order or production charge. A successful response only confirms that Printify accepted the request; it does not prove that external publication completed. |
| `PRINTIFY_SEARCH_BLUEPRINTS` | Search Catalog Blueprints | Search Printify's product blueprint catalog by case-insensitive text in title, brand, or model. The upstream catalog is unpaginated, so this tool fetches it once and returns only bounded matching summaries. |
| `PRINTIFY_SIMULATE_WEBHOOK` | Simulate Webhook Event | Ask Printify to send a simulated event to an existing webhook's external callback URL. This causes a real outbound request and may activate downstream automation, but does not create a Printify order or product. A successful response confirms dispatch acceptance only, not callback receipt or processing. |
| `PRINTIFY_UNPUBLISH_PRODUCT` | Mark Product Unpublished | Notify Printify that a product has been unpublished from the connected sales channel. This irreversibly changes publication-state metadata but does not delete the Printify product. Use only after the product has actually been removed or unpublished on the sales channel. |
| `PRINTIFY_UPDATE_PRODUCT` | Update Product Draft | Update selected fields of an existing Printify product. This changes merchant product data but does not publish those changes to the connected sales channel. Read the product first and provide at least one field to change: title, description, safety_information, blueprint_id, print_provider_id, variants, or print_areas. |
| `PRINTIFY_UPDATE_WEBHOOK` | Update Webhook URL | Replace the callback URL of an existing Printify webhook subscription. This changes where future real event payloads are delivered; it does not change the subscribed topic or signing secret. |
| `PRINTIFY_UPLOAD_IMAGE` | Upload Image | Add an image to the connected merchant's Printify media library from either a public HTTP(S) URL or base64 content. This creates persistent merchant media but does not create or publish a product or incur production charges. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Printify Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Printify actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List my Printify shops and summarize recent orders for each shop'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List my Printify shops and summarize recent orders for each shop'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Printify
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Printify tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('List my Printify shops and summarize recent orders for each shop')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'List my Printify shops and summarize recent orders for each shop'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Printify Integration

- Supports both Printify MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable shop, product, order, upload, catalog, and webhook actions
- Rich coverage for reading, writing, and querying your Printify store data

### 2. Managed Auth

- Secure API key handling for connecting your Printify merchant account
- Central place to manage, scope, and revoke Printify access across users and agents
- Per user and per environment credentials instead of hard-coded keys in your app

### 3. Agent Optimized Design

- Tools are tuned for AI agents, so product, order, and catalog actions are easier for models to call correctly
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Printify
- Scoped, least privilege access to Printify shops, products, orders, uploads, catalog data, and webhooks
- Full audit trail of agent actions to support review and compliance

## Use Printify with any AI Agent Framework

Choose a framework you want to connect Printify with:

None listed.

## Related Toolkits

- [Addresszen](https://composio.dev/toolkits/addresszen) - Addresszen is a real-time address autocomplete and verification service. It helps capture accurate, deliverable addresses with instant suggestions and validation.
- [Asin data api](https://composio.dev/toolkits/asin_data_api) - Asin data api gives you detailed, real-time product data from Amazon, including price, rank, and reviews. Perfect for e-commerce pros and data-driven marketers who need instant marketplace insights.
- [Baselinker](https://composio.dev/toolkits/baselinker) - BaseLinker is an all-in-one e-commerce management platform connecting stores, marketplaces, carriers, and more. It streamlines order processing, inventory control, and automates your sales operations.
- [Bestbuy](https://composio.dev/toolkits/bestbuy) - Best Buy is a leading retailer offering APIs for product, store, and recommendation data. Instantly access up-to-date retail insights for smarter shopping and decision-making.
- [Bluebarry](https://composio.dev/toolkits/bluebarry) - Bluebarry is a customer data and product-advice platform for shopper identities, profiles, and recommendations. It helps teams analyze customer context and synchronize shopper data for better commerce experiences.
- [Btcpay server](https://composio.dev/toolkits/btcpay_server) - BTCPay Server is a free, open-source, self-hosted Bitcoin payment processor. It lets merchants accept Bitcoin payments directly, cutting out middlemen and boosting privacy.
- [Cdr platform](https://composio.dev/toolkits/cdr_platform) - Cdr platform is an API for purchasing carbon dioxide removal services. It enables businesses to offset emissions by accessing verified carbon removal projects.
- [Cloudcart](https://composio.dev/toolkits/cloudcart) - CloudCart is an e-commerce platform for building and managing online stores. It helps businesses streamline product listings, orders, and customer engagement.
- [Countdown api](https://composio.dev/toolkits/countdown_api) - Countdown API gives you real-time, structured eBay product data, reviews, and seller feedback. Perfect for powering price monitoring, product research, or marketplace analytics workflows.
- [Dpd2](https://composio.dev/toolkits/dpd2) - Dpd2 is a robust email management platform for handling, sorting, and automating email workflows. Streamline your communications and boost productivity with advanced sorting, labeling, and response tools.
- [Finerworks](https://composio.dev/toolkits/finerworks) - FinerWorks is an online platform for fine art and photo printing services. Artists and photographers use it to order custom prints and manage print inventory efficiently.
- [Fingertip](https://composio.dev/toolkits/fingertip) - Fingertip is a business management platform for selling, booking, and customer engagement—all from a single link. It helps businesses streamline operations and connect with customers across social channels.
- [Fraudlabs pro](https://composio.dev/toolkits/fraudlabs_pro) - FraudLabs Pro is an online payment fraud detection service for e-commerce and merchants. It helps minimize chargebacks and revenue loss by detecting and preventing fraudulent transactions.
- [Gift up](https://composio.dev/toolkits/gift_up) - Gift Up! is a digital platform for selling, managing, and redeeming gift cards online. It streamlines promotions and gift card transactions for businesses and their customers.
- [Goody](https://composio.dev/toolkits/goody) - Goody is a gifting platform that lets users send gifts and physical products without handling logistics. It streamlines gifting by managing delivery, fulfillment, and recipient experience.
- [Gumroad](https://composio.dev/toolkits/gumroad) - Gumroad is a platform for selling digital products, physical goods, and memberships with a simple checkout and marketing tools. It streamlines creator payouts and helps you grow your audience effortlessly.
- [Instacart](https://composio.dev/toolkits/instacart) - Instacart is an online grocery delivery and pickup service platform. It lets you discover local retailers and create shoppable lists and recipes with ease.
- [Junglescout](https://composio.dev/toolkits/junglescout) - Junglescout is an Amazon product research and analytics platform for sellers. It delivers sales estimates, competitive insights, and optimization tools to boost your Amazon business.
- [Ko fi](https://composio.dev/toolkits/ko_fi) - Ko-fi is a platform that lets creators receive donations, memberships, and sales from fans. It helps creators monetize their work and grow their audience with minimal friction.
- [Lemon squeezy](https://composio.dev/toolkits/lemon_squeezy) - Lemon Squeezy is a payments and subscription platform built for software companies. It makes managing payments, taxes, and customer subscriptions effortless.

## Frequently Asked Questions

### Do I need my own developer credentials to use Printify with Composio?

Yes, Printify requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
