Compatible with the whole modern Prusa lineup
MK4, MK4S, MK3.9, MK3.5, Mini+, XL, CORE One - all connect to SimplyPrint and all expose the same API surface. Older MK3-class printers connect via OctoPrint host plus our plugin.
Queue a print on a specific Prusa in one API call
POST a file ID, target a printer, set the position. SimplyPrint runs the print through the same queue, approval and routing logic the panel uses - so the print starts on your Prusa exactly as it would if a human pressed Print.
# Queue a print on a specific Prusa MK4 (printer id 42)
curl -X POST "https://api.simplyprint.io/{companyId}/queue/AddItem" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"fileId": "benchy_gcode_file_id",
"amount": 1,
"for_printers": "42",
"position": "top"
}'
Want SimplyPrint to pick the best-matching Prusa instead of a specific one? Drop the for_printers field and the queue picks an operational Prusa that has the right build volume and filament loaded.
How SimplyPrint connects to your Prusa printer
SimplyPrint is not a Prusa Connect plugin. It's a separate cloud panel that connects to your Prusa directly, with two connection paths depending on which printer you have:
- MK4, MK4S, XL, MK3.9, MK3.5, Mini, Mini+, CORE One: install SimplyPrint's open-source firmware bundle on the printer once (currently in beta). The firmware speaks to SimplyPrint over the printer's own Wi-Fi / Ethernet - no Pi, no second box, no host computer, no webcam support yet.
- MK3 / MK3S / MK3S+ (and older): connect via an OctoPrint host (Raspberry Pi or similar) plus our SimplyPrint OctoPrint plugin. The printer behaves identically to the firmware-integration path from the API's perspective.
List, inspect, pause, resume - the everyday operations
Every printer-control endpoint works the same way on a Prusa as on any other printer in your fleet. Pass the printer ID, get JSON back.
# List every printer in the account (Prusa, Bambu, anything)
curl "https://api.simplyprint.io/{companyId}/printers/Get" \
-H "X-API-KEY: your_api_key_here"
Send any G-code your firmware accepts - useful for Prusa-specific maintenance routines, calibration sequences, or quick fixes:
# Send a one-off G-code command - home all axes on a Prusa MK4
curl -X POST "https://api.simplyprint.io/{companyId}/printers/actions/SendGcode" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{ "pid": 42, "gcode": "G28" }'
Pause or resume a print without touching the printer's LCD:
# Pause a running print on a Prusa
curl -X POST "https://api.simplyprint.io/{companyId}/printers/actions/Pause" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{ "pid": 42 }'
What people build with the Prusa API
ERP hooks, lab dashboards, Slack/Discord bots, school LMS integrations - all common patterns. See the main API page for the full use-case list; everything there works the same against a Prusa fleet.
Why use SimplyPrint instead of Prusa Connect's API?
Prusa Connect is read-only in many views - you can monitor, but not start prints, manage queues, or send G-code remotely. SimplyPrint gives you the full write surface from one REST call. Prusa Connect is Prusa's own first-party panel and exposes its own (limited) API surface. SimplyPrint gives you a broader API for the same printers, plus things Prusa Connect doesn't cover:
- Cross-brand fleet: one API for Prusa, Bambu Lab, Creality, Anycubic, Elegoo, OctoPrint hosts, and anything Klipper-based. No brand-juggling.
- Queue, filament and job-history endpoints: not just printer control - full inventory of pending jobs, filament spool state, past job stats, custom fields.
- OAuth2 for partner integrations: ship an integration your users connect to their own SimplyPrint account, instead of needing your users to share Prusa Connect tokens.
- Webhook push events: SimplyPrint POSTs the moment a print finishes - no polling.
Plan access for the Prusa API
Same plan-gating as the main SimplyPrint API. Free and Basic plans don't expose an API; Pro and above unlock Basic API; Print Farm and above unlock Enhanced (write capability for queue mutations and starting prints).
| Feature / Limit | Free | Basic | Pro | Print Farm | Enterprise | School | Cloud Slicer | Filament Manager |
|---|---|---|---|---|---|---|---|---|
|
API requests per minute
Rolling per-minute limiter shared across all API calls for the account.
|
- | - | 60 | 180 | 600 | 180 | - | - |
|
Basic API access
Read printer state, queue, jobs and history for every Prusa in the account.
|
||||||||
|
Enhanced API (start prints, send G-code)
Unlocks file uploads, queue mutations that start prints, direct G-code send.
|
Want to learn more about our plans?
View full pricing & feature comparisonPairs naturally with webhooks and the cloud PrusaSlicer
The Prusa API is one corner of a larger developer surface. Pair it with webhooks for push events when a Prusa finishes a print, and with our cloud PrusaSlicer if you want to slice STL files into G-code from your own code before queueing them.
See the main API page