All notes

Printify API Tutorial: Scripted Product Creation Explained

Printify is the production line behind our print-on-demand product line. We design, Printify prints and ships on order, and we hold zero inventory. What makes it worth writing about is the API: instead of clicking through the dashboard, we create products in code as drafts, review them, and only then publish. This is how that works, and why drafts-first is the whole point.

It is the fulfillment layer in the stack we run on, and the storefront it feeds ships on Netlify like everything else we build.

What Printify is

Print-on-demand. You upload artwork, choose a product (a "blueprint" — a specific t-shirt, mug, or poster), pick a print provider, and set prices. When someone buys, the provider prints it and ships it under your brand. No stock, no warehouse. You can run the whole thing from the dashboard; the API just lets you do it at volume and with a review gate.

Setup before any code

Do the manual parts first, once:

Grab the shop ID with a quick call:

curl -H "Authorization: Bearer <YOUR_PRINTIFY_TOKEN>" \
     https://api.printify.com/v1/shops.json
Disclosure Some links on this page are affiliate links — if you sign up through them we may earn a commission at no extra cost to you. We only list tools we actually run our studio on.

Printify is free to use and the API is included, so you only pay when a product sells.

Visit Printify

Pick the blueprint, provider, and variants

A product needs three things before you can create it: which blueprint (the base product), which print provider makes it, and which variants (sizes and colors) you are enabling. You pull those from the catalog endpoints: browse blueprints, then a blueprint's providers, then that provider's variants. Every ID is catalog-specific, so read the current catalog rather than trusting a number from a blog post.

Create the product as a draft

This is the call that matters. You POST a product to your shop. Prices are in cents. Here is the shape:

POST https://api.printify.com/v1/shops/<SHOP_ID>/products.json

{
  "title": "Studio Tee",
  "description": "Heavyweight cotton, front print.",
  "blueprint_id": 384,
  "print_provider_id": 1,
  "variants": [
    { "id": 45740, "price": 2400, "is_enabled": true },
    { "id": 45742, "price": 2400, "is_enabled": true }
  ],
  "print_areas": [
    {
      "variant_ids": [45740, 45742],
      "placeholders": [
        { "position": "front",
          "images": [ { "id": "<UPLOADED_IMAGE_ID>", "x": 0.5, "y": 0.5, "scale": 1, "angle": 0 } ] }
      ]
    }
  ]
}

Here is the important part: creating a product through the API does not put it on sale. It exists in your Printify shop, unpublished. That is your draft. Nothing is live to a customer yet.

Review, then publish

Because the product is a draft, there is a gate. We look at it — mockups, pricing, the print placement — in the Printify dashboard before anything reaches the storefront. Only when it passes do we publish, with one more call:

POST https://api.printify.com/v1/shops/<SHOP_ID>/products/<PRODUCT_ID>/publish.json

That two-step — create as draft, review, then publish — is why we script it instead of clicking. A batch of products goes up consistently, and a human still signs off before any of it is for sale. Automation for the tedious part, judgment for the part that matters.

Why scripted at all

If you are launching one mug, use the dashboard. The API earns its keep when you are putting up many products, generating them from a template, or wiring product creation into a larger pipeline. We create them in code for the same reason we scrape in code with Apify: it is repeatable, reviewable, and does not depend on anyone remembering the steps.

Pricing, an honest take

Printify is free to use. You do not pay a monthly fee to create products, and the API is included. Your cost is the base price of each item when it sells — the provider's charge — and your margin is whatever you set above that. There is an optional Premium subscription that lowers those base prices, which only pays off past a certain volume; below it, the free plan is correct.

Honest take: the number that decides your margin is not Printify's, it is the print provider's base cost, and it varies by provider for the same blueprint. Compare providers before you commit a product. The platform is free; the economics live in the catalog. Check current provider pricing when you pick, because it moves.

Verdict

Printify turns "sell a product" into "upload art and set a price", and the API turns that into something you can do in bulk with a review step baked in. Create as drafts, look before you publish, and let the providers handle everything physical. It is the least glamorous kind of automation, and the kind we trust, because a person still approves what goes live. It ties back to the same pipeline we run for everything else.

Set up a free Printify shop and create your first product.

Visit Printify

Frequently asked questions

Is Printify free?

Yes. Creating products, using the dashboard, and using the API cost nothing. You pay the provider's base price only when an item actually sells. An optional Premium plan lowers base prices for higher-volume sellers.

Do you need the API to use Printify?

No. The dashboard does everything for a normal store. The API is for doing it at volume, generating products from a template, or building a review gate into a pipeline, which is how we use it.

How does Printify work with Etsy or Shopify?

You connect the store as a sales channel. Products you publish from Printify appear in that store, and when an order comes in, Printify's provider prints and ships it. You manage the catalog in Printify; the storefront stays where your customers already are.

Can I create draft products before publishing?

Yes, and it is the safer default. A product created through the API is unpublished until you call the publish endpoint, so you can review mockups, pricing, and print placement before anything goes on sale.

Want this built for you?

MaxSun Media ships the whole launch — landing page, launch video, brand system — live in days. Start with a call.

Book an intro call