[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Publish Printify products to your shop with AI

> Publish drafts from Printify to your connected store in batches that stay inside the 200-per-30-minutes publishing limit, from an agent or a script.

Source: https://cotlet.dev/integrations/printify-api-mcp-server/publish-products-to-shop

Your drafts sit in My Products, and each one needs a Publish click before it shows up in your Etsy, Shopify or other connected store.

Cotlet does it in your own Printify account with list\_products, get\_product and publish\_product, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=printify) [All Printify tools](https://cotlet.dev/integrations/printify-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Printify do this on its own?

Printify publishes from the dashboard one product or one selection at a time (checked 17 Oct 2026). The public API v1 has a publish endpoint, capped at 200 requests per 30 minutes, and your code must handle the publishing\_succeeded callback for stores you connect yourself. There is no official MCP server.

## How you do it in Printify today

1. In the Printify dashboard you open My Products and find the draft.
2. You open the product, check the title, description, price and mockups, and open Publishing settings to choose which details to send.
3. You click Publish at the bottom of the page, and the update reaches your sales channel within a few minutes.
4. For several products you select them in My Products and choose Publish, then tick the details to sync, for example Colors, sizes, prices, and SKUs, and click Confirm.
5. Printify tells you to republish after every edit, so a price change that was never published stays invisible to customers.

## How to publish Printify products to your shop with AI

Prompt

```
List my unpublished Printify products in shop 8123456 and publish the ones tagged "ready". Wait if more than 20 are queued.
```

1. 01  
### Find the drafts  
list\_products reads the shop and the agent keeps products that are not visible yet and carry the tag you named. Products that are locked because a publish is running are skipped.
2. 02  
### Check before sending  
get\_product returns the title, description, enabled variants and prices. The agent flags a product with no enabled variant, an empty description or a price of 0 and leaves it unpublished.
3. 03  
### Respect the cap  
The agent counts publish calls and stops at the budget you set, so a 300-product backlog is spread over several runs instead of hitting the 200 requests per 30 minutes limit.
4. 04  
### Publish  
publish\_product sends the product to the connected store, and you confirm each call by default. You choose which details to sync, for example title, description, images, variants and tags.
5. 05  
### Report the queue  
The agent returns what was published, what it skipped and why, and how many drafts are left for the next run.

### What you get back

Example data

```
Drafts tagged "ready" in shop 8123456: 14
Published 11 (title, description, images, variants, tags)
Skipped 3:
- "Coffee First Mug": no enabled variant
- "Plant Parent Tee": description is empty
- "Test product": price is 0
Publish calls used this window: 11 of 200
```

### Other ways to ask

- Every Monday, publish the drafts I tagged "ready" and list the rest for me.
- Republish only the prices of all products I changed since Friday, not the images.
- Show me which published products have unpublished edits, but do not send anything.

## What Printify allows, and what to know first

- Printify limits publishing to 200 requests per 30 minutes, and products created by orders do not count against it.
- While a product is publishing, Printify marks it locked, so edits made at that moment wait.
- Printify only publishes products from US-based print providers to Amazon US, and other attempts fail.
- Printify syncs published updates to the sales channel within a few minutes, and mockups go out only if the Mockups box is checked.
- Publishing in the dashboard lets you select which details to update, including colors, sizes, prices and SKUs.

publish\_product asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: [Printify developers: Products and publishing](https://developers.printify.com/) · [Printify Help: How can I edit an existing product?](https://help.printify.com/hc/en-us/articles/4483630354961-How-can-I-edit-an-existing-product) · [Printify Help: How can I update my retail prices?](https://help.printify.com/hc/en-us/articles/4483625628305-How-can-I-update-my-retail-prices)

## Call publish\_product from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/printify/shops/8123456/products/6641ab12/publish \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":true,"description":true,"images":true,"variants":true,"tags":true}'
```

Example response

```
{
"product_id": "6641ab12",
"status": "publishing",
"is_locked": true
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is printify\_write → publish\_product. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/printify-api-mcp-server.md#automations)

## Printify tools this automation uses

__Cotlet Printify tools used to publish Printify products to your shop with AI__
| Tool | Parameters |
| ---------------- | ----------------------------------------------------------------- |
| list\_products | shop\_id, tag, limit, page |
| get\_product | shop\_id, product\_id |
| publish\_product | shop\_id, product\_id, title, description, images, variants, tags |

[All 13 Printify tools with descriptions](https://cotlet.dev/integrations/printify-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Printify to Cotlet?

Yes. You sign in to Printify yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Printify once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Printify automations

- [Create Printify products from designs with AI](https://cotlet.dev/integrations/printify-api-mcp-server/create-products-from-designs.md)
- [Check stuck Printify orders every morning](https://cotlet.dev/integrations/printify-api-mcp-server/check-stuck-orders.md)
- [Printify API and MCP server: every tool](https://cotlet.dev/integrations/printify-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Printify.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Printify.

[Sign up free](https://cotlet.dev/app/signup?app=printify)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
