Skip to content

We use the cookies the site needs. If you accept, we also measure which ads work, with Google Ads. See our cookie policy.

A print on demand API for the EU, without an API key

Order anything from our shop through a small JSON API, from one copy. No account or key: send the files, get a price with previews, and once paid we print in the Netherlands and ship across the EU. AI assistants can use our MCP server.

  • No API key needed
  • Free quotes with print previews
  • MCP server for AI assistants
POST /api/v1/quotes

Request

curl -X POST https://www.blotprints.com/api/v1/quotes \
  -H "Content-Type: application/json" \
  -d '{
    "items": [{
      "product": "poster",
      "size": "a3-landscape",
      "options": { "paper": "matte" },
      "quantity": 1,
      "files": { "design": { "url": "https://example.com/art.pdf" } }
    }],
    "shipping": { "country": "NL", "method": "standard" }
  }'

Response

{
  "quoteId": "quo_8hQ2kV7xLm3pR9tY",
  "previewUrl": "https://www.blotprints.com/preview/quo_8hQ2…",
  "items": [{ "product": "poster", "unitPrice": 6.99, … }],
  "currency": "EUR"
}
Printed and delivered

A few things you can order

An order through the API

All JSON, at https://www.blotprints.com/api/v1.

  1. 1

    Choose a product

    GET /products lists sizes, options, prices and the files needed, with their size in mm including bleed.

  2. 2

    Add files

    Give an https link, or get an upload address from POST /uploads and PUT the file there. PDF, JPG or PNG, up to 200 MB. Bleed is explained in the print-ready PDF guide.

  3. 3

    Get a quote

    POST /quotes with the items and country returns the price with VAT and shipping, delivery date, warnings and previews.

  4. 4

    Place the order

    POST /orders with the quote, email, shipping address and acceptTerms: true. Send an Idempotency-Key header so a retry never orders twice.

  5. 5

    Pay

    Open the returned paymentUrl in a browser: iDEAL, card or a local method. We print after payment.

  6. 6

    Track

    GET /orders/{orderId} gives the status, from awaiting_payment to shipped, and the tracking link.

Endpoints

CallWhat it does
GET /productsAll products with sizes, options, prices and file requirements
GET /products/{product}One product
POST /uploadsAn upload address, valid for an hour
POST /quotesChecks files, returns price, warnings and previews; valid 24 hours
POST /ordersTurns a quote into an order with a payment link
GET /orders/{orderId}Status, payment and tracking

Full reference in the API docs, also as Markdown at /api/docs.md and OpenAPI 3.1 at /api/openapi.json.

MCP server

Assistants with Model Context Protocol support can add https://www.blotprints.com/mcp as a connector, without logging in. Tools: list_products, get_product, create_upload, get_quote, place_order and get_order.

Other assistants can read /api/docs.md or /llms.txt. The assistant shows the price and preview and hands over the payment link. See ordering through an AI assistant.

Limits

Per IP address.

WhatLimit
All calls60 per minute
POST /quotes30 per hour
POST /orders10 per hour
Quantity per item1 to 50
File size200 MB

Over a limit you get 429 with Retry-After. Products, uploads and quotes are free, and unpaid orders are cancelled after 7 days.

Before you build

  • Prices are the website's retail prices, with the VAT of the destination country. Your margin is what you add.
  • Each order is paid through its own link.
  • Poll GET /orders/{orderId} every few hours for the status.
  • Keep the orderId; anyone who has it can see the order.
  • Errors have a code and a readable message. A failed file check lists every problem.
  • Shipping to every EU country, one address per order.

Questions

Do I need an API key?
No, and no account either. Calls are rate limited per IP address.
Can I ship straight to my customer?
Yes, use their address. The email you give gets confirmation and tracking: theirs, or yours.
What happens if my file doesn't fit?
It's filled to the exact size and the quote warns how much is cut off; set acceptWarnings to order anyway. Unprintable files fail the quote with every problem listed.

More ideas and guides

All ideas and guides

Read the API docs

Get a free quote in one call and see how your files will print.

Read the API docs
Printed in the NetherlandsFast deliveryFree shipping from €50Order with your AI assistant