Printify Catalog API

Blueprints, print providers, variants, and shipping in the Printify catalog.

Operations 7

GET /catalog/blueprints.json Retrieve a list of available blueprints. #
GET /catalog/blueprints/{blueprint_id}.json Retrieve a specific blueprint. #
GET /catalog/blueprints/{blueprint_id}/print_providers.json Retrieve a list of print providers for a specific blueprint. #
GET /catalog/blueprints/{blueprint_id}/print_providers/{print_provider_id}/variants.json Retrieve a list of variants of a blueprint from a specific print provider. #
GET /catalog/blueprints/{blueprint_id}/print_providers/{print_provider_id}/shipping.json Retrieve shipping information for a blueprint from a specific print provider. #
GET /catalog/print_providers.json Retrieve a list of all available print providers. #
GET /catalog/print_providers/{print_provider_id}.json Retrieve a specific print provider and the blueprints it supports. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/printify-catalog-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

printify-catalog-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Printify Catalog API
  description: The Printify REST API allows your application to manage a Printify shop on behalf of a Printify merchant. Browse the catalog of blueprints and print providers, create and publish products, submit and track orders, upload artwork, and subscribe to webhooks. All requests are authenticated with a Bearer token (Personal Access Token or OAuth 2.0) and must include a User-Agent header.
  termsOfService: https://printify.com/terms-of-service/
  contact:
    name: Printify Merchant Support
    url: https://developers.printify.com/
  version: '1.0'
servers:
- url: https://api.printify.com/v1
security:
- bearerAuth: []
tags:
- name: Catalog
  description: Blueprints, print providers, variants, and shipping in the Printify catalog.
paths:
  /catalog/blueprints.json:
    get:
      operationId: listBlueprints
      tags:
      - Catalog
      summary: Retrieve a list of available blueprints.
      responses:
        '200':
          description: A list of blueprints.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Blueprint'
  /catalog/blueprints/{blueprint_id}.json:
    get:
      operationId: getBlueprint
      tags:
      - Catalog
      summary: Retrieve a specific blueprint.
      parameters:
      - $ref: '#/components/parameters/BlueprintId'
      responses:
        '200':
          description: A blueprint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Blueprint'
  /catalog/blueprints/{blueprint_id}/print_providers.json:
    get:
      operationId: listBlueprintPrintProviders
      tags:
      - Catalog
      summary: Retrieve a list of print providers for a specific blueprint.
      parameters:
      - $ref: '#/components/parameters/BlueprintId'
      responses:
        '200':
          description: A list of print providers.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PrintProvider'
  /catalog/blueprints/{blueprint_id}/print_providers/{print_provider_id}/variants.json:
    get:
      operationId: listVariants
      tags:
      - Catalog
      summary: Retrieve a list of variants of a blueprint from a specific print provider.
      parameters:
      - $ref: '#/components/parameters/BlueprintId'
      - $ref: '#/components/parameters/PrintProviderId'
      responses:
        '200':
          description: A list of variants.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                  title:
                    type: string
                  variants:
                    type: array
                    items:
                      $ref: '#/components/schemas/Variant'
  /catalog/blueprints/{blueprint_id}/print_providers/{print_provider_id}/shipping.json:
    get:
      operationId: getVariantShipping
      tags:
      - Catalog
      summary: Retrieve shipping information for a blueprint from a specific print provider.
      parameters:
      - $ref: '#/components/parameters/BlueprintId'
      - $ref: '#/components/parameters/PrintProviderId'
      responses:
        '200':
          description: Shipping information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShippingInfo'
  /catalog/print_providers.json:
    get:
      operationId: listPrintProviders
      tags:
      - Catalog
      summary: Retrieve a list of all available print providers.
      responses:
        '200':
          description: A list of print providers.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PrintProvider'
  /catalog/print_providers/{print_provider_id}.json:
    get:
      operationId: getPrintProvider
      tags:
      - Catalog
      summary: Retrieve a specific print provider and the blueprints it supports.
      parameters:
      - $ref: '#/components/parameters/PrintProviderId'
      responses:
        '200':
          description: A print provider.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrintProvider'
components:
  parameters:
    PrintProviderId:
      name: print_provider_id
      in: path
      required: true
      schema:
        type: integer
    BlueprintId:
      name: blueprint_id
      in: path
      required: true
      schema:
        type: integer
  schemas:
    Blueprint:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        description:
          type: string
        brand:
          type: string
        model:
          type: string
        images:
          type: array
          items:
            type: string
    ShippingInfo:
      type: object
      properties:
        handling_time:
          type: object
          properties:
            value:
              type: integer
            unit:
              type: string
        profiles:
          type: array
          items:
            type: object
            properties:
              variant_ids:
                type: array
                items:
                  type: integer
              first_item:
                type: object
                properties:
                  cost:
                    type: integer
                  currency:
                    type: string
              additional_items:
                type: object
                properties:
                  cost:
                    type: integer
                  currency:
                    type: string
              countries:
                type: array
                items:
                  type: string
    PrintProvider:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        location:
          type: object
          properties:
            address1:
              type: string
            city:
              type: string
            country:
              type: string
            region:
              type: string
            zip:
              type: string
    Variant:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        options:
          type: object
          additionalProperties: true
        placeholders:
          type: array
          items:
            type: object
            properties:
              position:
                type: string
              height:
                type: integer
              width:
                type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Personal Access Token or OAuth 2.0 access token sent as Authorization: Bearer {token}. A User-Agent header is also required.'